Red de conocimiento informático - Material del sitio web - Esta es una obra maestra del código fuente.

Esta es una obra maestra del código fuente.

Cuatro libros y cinco clásicos de la programación en C

Gloria/Literatura

Introducción

Desde Dennis

Desde que M. Ritchie diseñó e implementó C en 1973 El campo de la programación informática ha experimentado enormes cambios desde la llegada del lenguaje. Los lenguajes orientados a objetos como C ++, Java y C # basados ​​​​en el lenguaje C nacieron uno tras otro y lograron un gran éxito en sus respectivos campos. Hoy en día, el lenguaje C y sus descendientes casi dominan el mundo de la programación informática. Se puede decir que el nacimiento del lenguaje C es el punto de partida de la revolución de los lenguajes de programación modernos, ha cambiado la trayectoria de desarrollo de los lenguajes de programación y es un hito en la historia del desarrollo de los lenguajes de programación.

Sin embargo, C no es sólo el punto de partida y la base para otros lenguajes, de lo contrario se habría convertido en un paria más en el desarrollo de los lenguajes de programación. El lenguaje C es tan importante hoy como lo era cuando se inventó. Su expresividad, eficiencia, simplicidad, compacidad, máximo control sobre la máquina y alta portabilidad entre plataformas siempre lo han hecho dominante en los campos de la programación de sistemas, la programación integrada y otros campos. Y la formulación del estándar C99 ha vuelto a darle nueva vitalidad al lenguaje C. A continuación se muestran algunos buenos libros en el campo de la programación en C, algunos de los cuales son clásicos.

1. Programación en lenguaje C.

Conjunto de ejercicios y copias de Tsinghua; versión de traducción mecánica (edición nueva, edición antigua): conjunto de ejercicios

Este es, con diferencia, el clásico más respetado de todos los libros sobre lenguajes de programación, y es la mejor opción para cualquier C. Una lectura obligada para los programadores. Debido a que Dennis, el diseñador del lenguaje C, M. Ritchie y el famoso informático Brian W. Koenigan le dieron el sobrenombre de "K&; República Popular China". Fue el primero en presentar el programa "Hello World!" primer ejemplo en cualquier libro de introducción al lenguaje de programación.

Así como el lenguaje C en sí es compacto y potente, este libro es ligero, breve y lleno de tensión. A través de descripciones concisas y ejemplos típicos, describe de manera integral, sistemática y precisa las características del lenguaje C y los métodos básicos de programación en C, cubriendo conceptos, tipos y expresiones básicos, flujo de control, funciones y estructuras de programas, punteros y matrices, estructuras, entrada y salida, interfaces de sistema UNIX y bibliotecas estándar.

La concisión y la claridad son las principales características de este libro. Este pequeño libro puede enseñarle muchos conocimientos que son varias veces más completos. Creo que los escritores técnicos que son buenos reuniendo cientos o incluso miles de páginas deberían aprender de K&r. Para los programadores intermedios y avanzados que desean adquirir rápidamente conocimientos serios del lenguaje C pero no están dispuestos a dedicar ni un poco más de tiempo, este libro es la primera opción.

Por cierto, el índice de este libro es excelente y de gran valor práctico. Esto puede atribuirse en primer lugar a la sencillez del texto. Además, aunque parezca un tutorial, en realidad es una guía para programadores profesionales. Si no tiene experiencia en programación en otros lenguajes o conocimientos básicos del lenguaje C, es posible que este libro no sea adecuado para su lectura de iluminación en lenguaje C.

2. Programación experta

Programación experta

El lenguaje C es un lenguaje de programación serio, pero esto no significa que los libros en lenguaje C deban escribirse estrictamente. . En este libro, apodado el "Libro del pez" por los programadores de C (la portada es un celacanto "feo"), como miembro del equipo de desarrollo central del sistema operativo y compilador SUN, Peter demuestra vívidamente su profunda acumulación técnica y su rica experiencia en proyectos. Excelentes habilidades de escritura y humor característico. En esta obra, el autor utiliza una escritura fluida y un estilo de escritura humorístico para integrar naturalmente anécdotas, alusiones, sabiduría y humor en descripciones técnicas. Se lee como una novela y es muy interesante.

Este libro cuenta la historia del lenguaje C, las características del lenguaje, las declaraciones, las matrices, los punteros, las conexiones, el tiempo de ejecución y el uso de la memoria, y revela muchos lugares oscuros en el lenguaje C, especialmente las declaraciones, las matrices, los punteros y los detalles del uso de la memoria. . Si quieres convertirte en un programador experto en C, debes dominar estos contenidos. A diferencia de otros libros en lenguaje C que están llenos de ejemplos abstractos, este libro contiene una gran cantidad de ejemplos de programación en C del mundo real, lo que tiene un alto valor de referencia para los programadores de C. Además, cada capítulo termina con un "Relax" muy interesante. El Apéndice A "Consejos para entrevistas de trabajo para programadores" es un buen material para que los programadores de cualquier idioma aumenten su confianza antes de solicitar un trabajo.

Sospecho que los verdaderos expertos en C necesitarán leer este libro.

El contenido, la organización y el estilo de escritura determinan que este sea un libro avanzado, fácil y divertido, tanto para principiantes como para expertos, por lo que debería tener un público más amplio. Los programadores jóvenes a menudo necesitan un estímulo entusiasta. En el proceso de lectura de este libro, quedará profundamente infectado por la pasión del autor por la programación.

No hay perfección en el mundo. Creo que el defecto de este libro es que, como la mayoría de los libros mediocres en lenguaje C, se agrega un capítulo sobre C++ en un lugar superfluo. Hoy, esa descripción no es ni exhaustiva ni justa. Sin embargo, no sorprende que el autor observara C++ desde la perspectiva de un programador de C en 1994.

Manual de referencia en lenguaje 3.C (quinta edición)

Versión fotocopiada (Machinery Industry Press), versión china (Machinery Industry Press)

Referencia en lenguaje C Manual, Samuel P. Harbison y Guy L. Steele fueron coautores de C: A Reference.

El manual es un libro excelente. La quinta edición de este manual agrega una introducción al estándar C99 para satisfacer las necesidades del aprendizaje del lenguaje C en la nueva era. Este libro se divide en dos partes: la primera parte se centra en las características del lenguaje C y la segunda parte analiza exhaustivamente la biblioteca estándar de C. Este libro cubre C99, C89, C tradicional, todas las versiones de la biblioteca de tiempo de ejecución de C y la escritura de código C que sea compatible con C++.

Este manual tiene una extensión media, pero describe todos los aspectos del lenguaje C, pasados ​​y presentes, con mayor claridad que otros manuales de referencia "más extensos". Los detalles técnicos de todo el manual se describen con precisión, están claramente organizados y el contenido es completo, detallado y conciso. Se puede decir que es sobresaliente en términos de amplitud, profundidad y precisión. Para los programadores de C de nivel intermedio a avanzado, vale la pena tener este manual en un escritorio y es casi seguro que se utilizará con más frecuencia que el trabajo de K&R.

4. “Interfaz e Implementación del Lenguaje C: Tecnología para la Creación de Software Reutilizable”, Machinery Industry Press.

Interfaz e implementación del lenguaje C: tecnología para crear software reutilizable

Una razón importante por la que el lenguaje C puede sobrevivir durante más de 30 años es su adaptabilidad. En esta era donde los mecanismos avanzados como "reutilización", "orientado a objetos", "componentes" y "manejo de excepciones" están en todas partes, el lenguaje C aún puede cumplir con los requisitos de la arquitectura de software moderna hasta cierto punto con su diseño compacto y elegante. características del lenguaje. Pero para alcanzar este nivel, debe alcanzar el nivel más alto en habilidades de aplicaciones C. En el desarrollo de sistemas integrados, software de sistemas y sistemas que requieren alto rendimiento, los desarrolladores deben alcanzar este nivel y dominar las funciones avanzadas del lenguaje C para poder hacerlo simultáneamente. Cumplir con los requisitos de eficiencia, flexibilidad y reutilización. Desafortunadamente, aunque hay una gran cantidad de libros sobre tecnología del lenguaje C, solo hay unos pocos trabajos que se centran en esta área importante. La interfaz C y la implementación de David Hanson son las mejores.

David Hanson es colaborador de lcc, un compilador gratuito muy conocido en la industria. En este proyecto, es responsable de proporcionar una infraestructura altamente reutilizable. En la práctica constante, utiliza exclusivamente ANSI.

El lenguaje C forma un conjunto de bibliotecas de componentes reutilizables. Esta biblioteca de componentes tiene una arquitectura clara, un rendimiento excelente y proporciona muchas funciones avanzadas, como las similares a Win32.

Mecanismo de manejo de excepciones de SEH, biblioteca de subprocesos portátil, grupo de memoria de alto rendimiento y ricos componentes de estructura de datos reutilizables. David

En este libro, David Hanson escribe sobre su experiencia en la creación de estos componentes y su sofisticado análisis de su código fuente. Estos trabajos son sin duda obras maestras en el campo del lenguaje C. No es de extrañar que el fallecido famoso escritor de tecnología Richard Stevens elogiara este libro. Dijo: "La mayoría de los programadores de C han olvidado las técnicas de este libro durante demasiado tiempo". Este libro es una lectura imprescindible para los programadores principales que desean alcanzar el nivel más alto en aplicaciones de lenguaje C.

Otros

Además de los cuatro libros anteriores, también me gustaría recomendar "C Traps and Defects" de Andrew Knig (People's Posts and Telecommunications Press) y Deiter and Sons "How Se escribe C".

Programas, dos libros.

Programación experta

Andrew

Koenig es uno de los pocos expertos en C++ en el mundo y su libro puede ser el clásico más sencillo del lenguaje C. Describe brevemente las trampas y fallas en la programación en C, incluidas trampas léxicas, trampas de sintaxis, trampas semánticas, enlaces, funciones de biblioteca, preprocesadores y fallas de portabilidad.

El último capítulo también ofrece sugerencias sobre cómo reducir los errores del programa, haciendo referencia a las respuestas de los capítulos anteriores. Aunque este folleto fue escrito antes de que se desarrollara el estándar C89, incluso hoy, después de que se promulgó el estándar C99, la mayoría de los errores y fallas mencionados en el libro todavía nos recuerdan lo mismo que hace 15 años.

Curso de Programación en C

Cómo programar por Deitel y su hijo

El programa ha sido un muy buen curso de introducción al lenguaje C. La traducción al chino que tengo se llama "Tutorial de programación en C" (publicado por Machinery Industry Press, segunda edición del libro original). Además de una descripción formal de la tecnología (complementada con muchos ejemplos concisos), cada capítulo va seguido de una descripción general, terminología, errores de programación comunes, buenas prácticas de programación, recomendaciones de rendimiento, recomendaciones de portabilidad, revisiones de ingeniería de software, ejercicios de autoevaluación y respuestas. Todo el libro tiene ideas claras, bien organizadas y fáciles de leer y comprender. Cabe mencionar que hay muchos libros introductorios que pueden desecharse después de leerlos una vez, pero este es una excepción.

Etiquetas

Estos libros se limitan en gran medida a describir el lenguaje C y la propia biblioteca estándar. Si desea aprender más tecnología de programación C profesional y relacionada con el campo, puede continuar consultando libros profesionales después de leer estos libros. Además, en el campo de los libros en lenguaje C, hay muchos trabajos del mismo nivel. Estos libros solo se recomiendan según mi propia experiencia de lectura.

No soy programador en C. Paso la mayor parte de mi tiempo trabajando con los lenguajes descendientes de C, especialmente C++. Pero, como usted sabe, C++ no es todo clases y plantillas, no todo es programación genérica y orientada a objetos. En un nivel inferior, todas las implementaciones de C++ son, como siempre, en gran medida compatibles con C. La estrecha relación entre C++ y C determina que cada clásico del lenguaje C debería ser una lectura obligada para los programadores de C++.

El mundo está cambiando muy rápido. Todo tipo de cosas nuevas surgen sin cesar y es deslumbrante. Las personas también se sienten atraídas fácilmente por las campanas y silbatos coloridos y, a menudo, se olvidan de establecer una base sólida para el pasado, el presente y el futuro. El lenguaje c es uno de esos fundamentos. Hoy en día, hay muchos software importantes en el mundo que no podemos ver y todos están escritos en lenguaje C (y C ++, etc.). ), y también apoyan silenciosamente el funcionamiento de este mundo de la información.