# data[].attributes.body
Ritchie con la colaboración de Brian Kernighan, en 1978, publicó el libro “El lenguaje de programación C”. Este libro, también conocido como K & R, sirvió de base informal para todos aquellos que querían empezar a programar con este nuevo lenguaje.

# data[].attributes.attachment_link.readable_text
He worked at Bell Labs and contributed to the development of Unix alongside Unix creators Ken Thompson and Dennis Ritchie. Kernighan's name became widely known through co-authorship of the first book on the C programming language (The C Programming Language) with Dennis Ritchie. Kernighan affirmed that he had no part in the design of the C language ("it's entirely Dennis Ritchie's work"). He authored many Unix programs, including ditroff. Kernighan is coauthor of the AWK and AMPL programming languages. The "K" of K&R C and of AWK both stand for "Kernighan".

In collaboration with Shen Lin he devised well-known heuristics for two NP-complete optimization problems: graph partitioning and the travelling salesman problem. In a display of authorial equity, the former is usually called the Kernighan-Lin algorithm, while the latter is known as the Lin-Kernighan heuristic.

Kernighan has been a Professor of Computer Science at Princeton University since 2000 and is the Director of Undergraduate Studies in the Department of Computer Science. In 2015, he co-authored the book The Go Programming Language.

Kernighan was born in Toronto. He attended the University of Toronto between 1960 and 1964, earning his bachelor's degree in engineering physics. He received his Ph.D. in electrical engineering from Princeton University in 1969, completing a doctoral dissertation titled "Some graph partitioning problems related to program segmentation" under the supervision of Peter G. Weiner.

Kernighan has held a professorship in the Department of Computer Science at Princeton since 2000. Each fall he teaches a course called "Computers in Our World", which introduces the fundamentals of computing to non-majors.[citation needed ]

Kernighan was the software editor for Prentice Hall International. His "Software Tools" series spread the essence of "C/Unix thinking" with makeovers for BASIC, FORTRAN, and Pascal, and most notably his " Ratfor" (rational FORTRAN) was put in the public domain.

He has said that if stranded on an island with only one programming language it would have to be C.

Kernighan coined the term "Unix" and helped popularize Thompson's Unix philosophy. Kernighan is also known as a coiner of the expression "What You See Is All You Get" (WYSIAYG), which is a sarcastic variant of the original "What You See Is What You Get" ( WYSIWYG). Kernighan's term is used to indicate that WYSIWYG systems might throw away information in a document that could be useful in other contexts.

In 1972, Kernighan described memory management in strings using "hello" and "world", in the programming language B, which became the iconic example we know today. Kernighan's original 1978 implementation of Hello, World! was sold at The Algorithm Auction, the world's first auction of computer algorithms.

In 1996, Kernighan taught CS50 which is the Harvard University introductory course in Computer Science. Kernighan's was an influence on David J. Malan who subsequently taught the course and scaled it up to run at multiple universities and in multiple digital formats.

Kernighan was elected a member of the National Academy of Engineering in 2002 for contributions to software and to programming languages. He was also elected a member of the American Academy of Arts and Sciences in 2019.

Other achievements during his career include:

The AMPL programming language

The AWK programming language, with Alfred Aho and Peter J. Weinberger, and its book The AWK Programming Language

ditroff, or "device independent troff", which allowed troff to be used with any device

The Elements of Programming Style, with P. J. Plauger

The first documented "Hello, world!" program, in Kernighan's "A Tutorial Introduction to the Language B" (1972)

Software Tools, a book and set of tools for Ratfor, co-created in part with P. J. Plauger

Software Tools in Pascal, a book and set of tools for Pascal, with P. J. Plauger

The C Programming Language, with C creator Dennis Ritchie, the first book on C

The eqn typesetting language for troff, with Lorinda Cherry

The m4 macro processing language, with Dennis Ritchie

The pic typesetting language for troff

The Practice of Programming, with Rob Pike

The Unix Programming Environment, a tutorial book, with Rob Pike

"Why Pascal is Not My Favorite Programming Language", a popular criticism of Niklaus Wirth's Pascal. Some parts of the criticism are obsolete due to ISO 7185 (Programming Languages - Pascal); the criticism was written before ISO 7185 was created. (AT&T Computing Science Technical Report #100)

The Elements of Programming Style (1974, 1978) with P. J. Plauger

Software Tools (1976) with P. J. Plauger

The C Programming Language (1978, 1988) with Dennis M. Ritchie

Software Tools in Pascal (1981) with P. J. Plauger

The Unix Programming Environment (1984) with Rob Pike

The AWK Programming Language (1988) with Alfred Aho and Peter J. Weinberger

The Practice of Programming (1999) with Rob Pike

AMPL: A Modeling Language for Mathematical Programming, 2nd ed. (2003) with Robert Fourer and David Gay

D is for Digital: What a well-informed person should know about computers and communications (2011)

The Go Programming Language (2015) with Alan Donovan

Understanding the Digital World: What You Need to Know about Computers, the Internet, Privacy, and Security (2017)

Millions, Billions, Zillions: Defending Yourself in a World of Too Many Numbers (2018)

1. ^ Lohr, Steve (31 October 2002). "To the Liberal Arts, He Adds Computer Science". The New York Times. Mr. Kernighan, 60, is a computer scientist

2. ^ Kernighan, Brian Wilson (1969). Some Graph Partitioning Problems Related to Program Segmentation (PhD thesis). Princeton University. OCLC 39166855. ProQuest 302450661. (subscription required)

3. ^ Mendez, Cordelia F. (2014). "This is CS50". thecrimson.com. The Harvard Crimson. Archived from the original on 2017-03-17.

4. ^ Malan, David J. (2010). "Reinventing CS50". Proceeding of SIGCSE '10 Proceedings of the 41st ACM Technical Symposium on Computer Science Education: 152. doi:10.1145/1734263.1734316. ISBN 9781450300063.

5. ^ Dolya, Aleksey (29 July 2003). "Interview with Brian Kernighan". Linux Journal.

6. ^ Kernighan, Brian W. (1969). Some graph partitioning problems related to program segmentation.

7. ^ "Brian Kernighan | Computer Science Department at Princeton University".

8. ^ McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971-1986 (PDF) (Technical report). CSTR. Bell Labs. 139.

9. ^ "THE PROGRAMMING LANGUAGE B". Bell Laboratories. 16 October 2021. Archived from the original on 2015-06-11.

# data[].attributes.attachment_link.description
He worked at Bell Labs and contributed to the development of Unix alongside Unix creators Ken Thompson and Dennis Ritchie. Kernighan's name became widely known through co-authorship of the first book on the C programming language (The C Programming Language ) with Dennis Ritchie.

# data[].attributes.body
En 1983, el ANSI, que es una de las organizaciones de normalización más importantes de Estados Unidos, formó su propio comité con el fin de convertir a C en un estándar.

# data[].attributes.body
En 1990, la norma C ANSI también fue tratada por la ISO, el organismo internacional de normalización. Esta versión, que es prácticamente idéntica a la versión ANSI, se le llamó C90.

# data[].attributes.body
Otra revisión del lenguaje, que con el paso de los años fue adquiriendo nuevas características respecto a las versiones iniciales, se ha convertido en otra norma ISO; más o menos entre 1999-2000, por eso se habla de C99.

# data[].attributes.body
En 2011 se ratificó como estándar una nueva revisión del lenguaje C, que incluye otras actualizaciones que se han producido con el tiempo, y se llama C11.

# data[].attributes.body
Actualmente, la versión más estable del lenguaje C, es la C18, la cual fue lanzada en junio de 2018.

# data[].attributes.headline
LA PAGINA USADA PARA SACAR LA INFORMACION 

# data[].attributes.subject
LA PAGINA USADA PARA SACAR LA INFORMACION 

# data[].attributes.attachment_link.readable_text
El lenguaje de programación C es la base de muchos lenguajes, por eso, conocerlo te facilitará la tarea de domar muchos entornos similares. Pero, además de saber lo que implica este lenguaje, es fundamental que profundices en su historia, aunque esto haya pasado hace casi 50 años atrás.

Pues, ubicarte en el tiempo, no solo te permitirá comprender mejor este lenguaje tan importante en el mundo de la programación, sino que también contribuirá a tu formación. Además, también vamos a considerar cómo y porqué surgió, y qué es lo que realmente significa este lenguaje C.
¿CUÁL ES LA HISTORIA DEL LENGUAJE C?
Todo comenzó en el año de 1970, en el laboratorio de la empresa Bell, cuando Dennis Ritchie junto a Brian Kernighan empezaron a crear el lenguaje C. Ritchie era colaborador de Ken Thompson, informático que para entonces trabajaba en UNIX (sistema operativo) y quien también había creado el lenguaje B.

Pero, ¿por qué se creó el lenguaje de programación C? El objetivo era encontrar un compilador que garantizará la consistencia y la velocidad de cada terminal, y entender mejor el sistema operativo Unix. En pocas palabras, lo que se quería era un sistema operativo eficiente que pudiera evolucionar sin sufrir vergonzosas ralentizaciones.

Y como todos los mejores descubrimientos, ocurrió uno por casualidad. Estos programadores unieron el BCPL, lenguaje sencillo y rápido, con el B, que en cambio era lento porque estaba lleno de instrucciones. El resultado fue el lenguaje C, y permitió a Thompson abandonar y reescribir completamente a UNIX.

Aunque, en 1972 fue el año más productivo de desarrollo y probablemente cuando se bautizó C. Fue para el año de 1973, que el lenguaje C estaba lo suficientemente maduro como para que el 90% de UNIX pudiera reescribirse con él. Y en 1974, los laboratorios Bell concedieron la licencia de UNIX a las universidades, y así fue como se empezó a distribuir el lenguaje C.
LOS ACONTECIMIENTOS MÁS RESALTANTES
Luego de que comenzará a distribuirse el lenguaje, se hizo necesario algunos cambios importantes:

Ritchie con la colaboración de Brian Kernighan, en 1978, publicó el libro "El lenguaje de programación C". Este libro, también conocido como K & R, sirvió de base informal para todos aquellos que querían empezar a programar con este nuevo lenguaje.

En 1983, el ANSI, que es una de las organizaciones de normalización más importantes de Estados Unidos, formó su propio comité con el fin de convertir a C en un estándar.

Pero no fue hasta 1989 que el ANSI ratificó esta norma y, por lo tanto, la versión ANSI de C también se le conoce como C89.

En 1990, la norma C ANSI también fue tratada por la ISO, el organismo internacional de normalización. Esta versión, que es prácticamente idéntica a la versión ANSI, se le llamó C90.

Otra revisión del lenguaje, que con el paso de los años fue adquiriendo nuevas características respecto a las versiones iniciales, se ha convertido en otra norma ISO; más o menos entre 1999-2000, por eso se habla de C99.

En 2011 se ratificó como estándar una nueva revisión del lenguaje C, que incluye otras actualizaciones que se han producido con el tiempo, y se llama C11.

Actualmente, la versión más estable del lenguaje C, es la C18, la cual fue lanzada en junio de 2018.

NOCIONES IMPORTANTES
Se podría decir que es un lenguaje estructural y, si bien es cierto, que entra en el rango de los lenguajes que son de alto nivel, la realidad es que es de nivel medio. Como consecuencia, de que goza de características y construcciones de los lenguajes de bajo nivel. Lo que en verdad ocurre, es que se entrecruzan comandos innovadores y clásicos, como los códigos de lenguaje de máquina y el ensamblador.
Para conocer más sobre este lenguaje, a continuación, veremos algunas nociones o características del lenguaje C.

Flexible: pues, escribe instrucciones complejas y potentes en unas pocas líneas de código.

Nivel medio: por lo que resulta menos abstracto que otros lenguajes, aunque posee características de niveles altos.

Funcional: aunque se utiliza para programar software de sistema, no desestima su uso para realizar aplicaciones.

Versátil y práctico: además de ser un lenguaje eficaz, es totalmente portátil en cualquier plataforma.

Buen rendimiento: cuenta con una base sólida para estructurar los datos en unas pocas herramientas. Claro está, tiene las funciones que interactúan entre sí, para realizar lo que haría un software.
LA IMPORTANCIA DE CONOCERLO
Nuestro grupo de programadores de Flash Data sabe lo esencial que es este lenguaje en la programación. Por eso hemos elaborado algunas de las razones, por las que como programador, deberías también estar inmerso en este lenguaje.

Se han convertido en la columna vertebral de la programación, pues es unos de los lenguajes más populares y usados del mundo.

Existen muchos programas y bibliotecas que se han escrito en este lenguaje, de manera que constituye una gran cantidad de código.

Es un lenguaje sencillo, que se construyó para el desarrollo de los compiladores, incluso es el primer lenguaje que se utiliza después del lenguaje ensamblador.

La misma sencillez del lenguaje de programación C, permite a los compiladores producir ejecutables que son de alto rendimiento en poca memoria.

No necesitas modificar el código para ejecutar este lenguaje en diferentes máquinas. Solo necesitas de un compilador para cada máquina.

¿Qué te parecen estas razones? Son más que suficientes para poner manos a la obra y aprender del lenguaje que nunca desaparecerá.

# data[].attributes.attachment_link.title
El lenguaje de programación C ¡descubre su historia! - Flash Data

# data[].attributes.attachment_link.description
El lenguaje de programación C es la base de muchos lenguajes, por eso, conocerlo te facilitará la tarea de domar muchos entornos similares. Pero, además de saber lo que implica este lenguaje, es fundamental que profundices en su historia, aunque esto haya pasado hace casi 50 años atrás.