Recomiende algunos buenos libros sobre c
Los cuatro libros y los cinco clásicos de la programación en C (Parte 1)
C es un lenguaje extenso ampliamente utilizado en el desarrollo de software industrial. Su propia complejidad y capacidad para resolver problemas de la vida real lo hacen muy valioso para la investigación académica y la industria. Al igual que el lenguaje C, C ha tenido mucho éxito en muchas áreas importantes.
Sin embargo, una realidad innegable es que en el campo de la programación de bajo nivel, C está exprimiendo a C y también está sufriendo el fuerte rebote de C.
En el campo de la programación de alto nivel -Programación a nivel. En el campo del diseño, Java y C# invaden constantemente el territorio de C. Tal vez la integración de C y C
siempre sea un sueño, tal vez la moda de Java y C# eventualmente obligue a C a regresar a sus raíces, de vuelta al campo del desarrollo donde tiene ventajas fundamentales
: Programación de sistemas de bajo nivel, diseño avanzado de aplicaciones de alto rendimiento a gran escala, programación integrada y computación científica numérica, etc. Si es así, creo que esto no es malo.
C ha atraído tanta inversión intelectual que existen innumerables trabajos destacados en este campo, incluidos productos de software, bibliotecas y libros de gran peso. Un significado menos estricto del título "Programación en C: cuatro libros y cinco clásicos" es: C
Cuatro libros de programación ⅹ cinco clásicos. Sí, en este artículo (y en el siguiente), recomendaré más de 20 buenos libros C por categoría. Puede elegir leer según sus propias necesidades.
TCPL y Damp;E
TCPL y Damp;E son las abreviaturas de "El lenguaje de programación C" y "El diseño y evolución de
C" respectivamente, todos de Bjarne Stroustrup. Los enumero por separado, primero porque Bjarne es el creador del lenguaje C, y segundo por una razón más importante que la "primera": estos dos libros son importantes en el campo de C.
Una obra maestra indiscutible . No es exagerado decir que son la biblia del lenguaje C.
Bjarne Stroustrup, El lenguaje de programación C (tercera edición especial)
"Lenguaje de programación C (tercera edición especial)", Machinery Industry Press
"Programación en C Language (Edición especial) (Edición de fotocopia en inglés)", Higher Education Press
Hasta la fecha, TCPL es el manual de referencia de C con mayor autoridad además de los documentos estándar de C. A diferencia de la opinión de la mayoría de la gente, creo que el lenguaje de escritura de Bjarne no es inferior al lenguaje de programación que creó. Al menos me gusta este ambiente académico.
trabajo. La descripción que se hace en este libro del lenguaje C es clara y directa. Mira C desde la perspectiva de su creador, algo que ningún otro autor o libro puede hacer; nadie sabe cómo usarlo mejor que el propio Bjarne.
Usa C.
Este es un libro serio, dirigido a desarrolladores de C intermedios y avanzados. Si es un programador de C experimentado y necesita comprender conocimientos más esenciales de C, este libro es solo para usted. No es el tipo de libro pequeño que te hace reír después de leerlo.
Debe entenderse con atención y masticarse una y otra vez. Durante el proceso de lectura, preste especial atención a lo que el Sr. Bjarne enfatizó y lo que mencionó en una oración. Personalmente, me gusta la cuarta parte de este libro, "Diseñar con C". Este contenido es difícil de encontrar en libros de lenguajes de programación similares; incluso creo que Bjarne debería separar esta parte. Escribe
un libro solo.
Bjarne Stroustrup, El diseño y evolución de C
"El diseño y evolución del lenguaje C", Machinery Industry Press
"El diseño y evolución de C Language" (versión en inglés)", Machinery Industry Press
D&E es una monografía sobre los principios, las decisiones de diseño y la filosofía del diseño en lenguaje C. Responde claramente por qué C
se ha convertido en lo que es hoy sin convertirse en otro idioma. Como creador del lenguaje C, Bjarne demostró vívidamente sus conocimientos únicos y profundos. Además de las características del lenguaje ampliamente elogiadas, Bjarne no rehuyó las características C controvertidas o incluso rechazadas. Dio explicaciones lógicamente rigurosas y convincentes una por una. El contenido cubre la era prehistórica de C, C con clases, reglas de diseño de C, estandarización, bibliotecas, administración de memoria, herencia múltiple, plantillas, etc., incluido el mecanismo de excepción. Las nuevas características importantes, incluida la información de tipo de tiempo de ejecución y los espacios de nombres, se analizan en profundidad por separado. Todo programador de C debería poder profundizar su comprensión del lenguaje a partir de la explicación de Bjarne.
Lo que es necesario recordar nuevamente es que estos dos libros contienen conocimiento condensado y una gran cantidad de información. No se pierda cada
palabra aparentemente descuidada de Bjarne.
Tutorial introductorio
Aprender cualquier idioma requiere un proceso paso a paso desde el inicio hasta el dominio, desde el principiante hasta el maestro. Sin embargo, para
un supuesto novato, ¿es un completo novato, o un "principiante
" que está familiarizado con algún otro idioma, o incluso un novato en un determinado idioma? ¿Es difícil generalizar sobre los maestros que han logrado grandes logros en el campo de la programación de lenguajes? Diferentes principiantes en C
necesitarán diferentes libros de introducción.
Andrew Koenig, Barbara E. Moo, C acelerado: programación práctica por ejemplo
le
"Edición china de C acelerado", China Electric Power Press p> p>
A diferencia de la mayoría de los tutoriales de C en el mercado, este libro no comienza con "C en C", sino que comienza con las características auténticas de C
Desde el principio, la biblioteca estándar se utiliza para escribir programas. A medida que la descripción se profundiza gradualmente, se explican uno por uno los conceptos básicos de los que dependen estos componentes de la biblioteca estándar. Además, a diferencia de otros libros de texto en C, este libro utiliza ejemplos para explicar el lenguaje y la biblioteca estándar. La explicación de los dos últimos es brindar soporte para programas de ejemplo, en lugar de como la mayoría de los libros de texto en C, como la mayoría de los libros de texto en C. como herramientas auxiliares para demostrar las características del lenguaje y el uso estándar de la biblioteca.
El autor es de clase mundial en práctica de programación, educación y capacitación, y redacción técnica en el campo C. Me gusta este estilo de escritura fresco que hace un uso extensivo de la biblioteca estándar y las características nativas del lenguaje C. Frente a este libro de texto, casi todos los libros de texto en C hasta ahora eclipsan o parecen obsoletos. Aunque este libro de texto puede ser un poco vanguardista para la educación superior nacional,
Aun así, lo recomiendo encarecidamente a mis colegas. Por cierto, en una correspondencia reciente entre Bjarne y yo, comentó sobre este libro: Para los programadores experimentados que aprenden C, este libro puede ser el mejor libro del mundo.
Stanley B.Lippman, Josee Lajoie, C Primer (3ª edición)
"C Primer (3RD) Edición china", China Electric Power Press
Este El título de este libro es algo engañoso. Aunque el autor afirma que este libro está escrito para principiantes en C, tanto su espesor como la profundidad de sus explicaciones sugieren lo contrario. Quizás sería más apropiado decir que es un tutorial de C "desde principiante hasta competente"
. Personalmente, creo que no es adecuado para principiantes que no saben nada de C; antes de leer este libro, debes tener al menos un poco de conocimiento previo de C o C, o al menos de algún otro lenguaje de programación.
Aunque este libro omite la discusión de algunas características avanzadas de C, aún puede considerarse como el tutorial de aprendizaje de C más completo hasta la fecha.
De hecho, si un principiante de C puede leer este libro con los pies en la tierra y completar todos los ejercicios de acuerdo con el "Libro de respuestas de C Primer", su nivel definitivamente podrá ingresar. las filas de programadores profesionales de C. Personalmente creo que incluso si ya posee TCPL, vale la pena tener este libro, porque en muchos sentidos es más detallado y más fácil de entender que TCPL.
Stanley B. Lippman, Essential C
"Essential C versión china", Huazhong University of Science and Technology Press
"Essential C (versión fotocopia)" , China Power Press
Este libro puede considerarse en términos generales como una versión simplificada de "C Primer". Este libro describe uno por uno los temas más representativos en C, incluyendo programación procedimental, programación genérica, programación basada en objetos, programación orientada a objetos, programación de plantillas y procesamiento de excepciones, etc. Stanley reduce el umbral al nivel más básico aceptable para los principiantes en C "con experiencia en programación en otros lenguajes", para que puedan comenzar rápidamente a programar en C sin tener que leer "C Primer" 》Qué tomo.
Utiliza ejemplos para guiar el aprendizaje y se esfuerza por permitir que los lectores comprendan la esencia de C en el menor tiempo posible.
Quizás otra persona necesitaría cientos de páginas para describir todos los aspectos del paradigma de programación C (paradigma), pero este
Este breve libro lo hace increíblemente bien. Personalmente me gusta este tipo de libros que están llenos de técnicas, concisos y "buenos para decir". Este libro también tiene un estilo obvio: todos los ejemplos de programas utilizan componentes de biblioteca estándar, lo cual es refrescante.
Ninguno de los tres libros anteriores está escrito para principiantes en programación. Los principiantes en programación en C pueden leer el nuevo libro de Francis Glassborow (aún no publicado): "Una introducción para principiantes a la programación informática: ¡usted puede hacerlo!". Bjarne también lo recomienda. Francis Glassborow es el presidente de ACCU. A lo largo de los años, ha comentado casi todos los libros clásicos de C. Naturalmente, su propio libro despertará un gran interés en la comunidad C.
Programación eficiente y robusta
Hace dos años, cuando era responsable de un proyecto de sistema de despacho de energía provincial, escribí un programa de puerta de enlace que obtenía energía del sistema SCADA
Alimenta información en tiempo real.
La interfaz de comunicación adopta un método de conexión directa a la base de datos poco común (este programa de puerta de enlace se conecta a SQL Server 6.5 en un extremo y a Oralce 8.1.6 en el otro). Dado que hay casi 10.000 puntos de medición en tiempo real, obviamente es ineficaz actualizar o insertar todas las muestras una vez
cada vez. Construí una biblioteca de memoria en el programa de puerta de enlace, y los datos obtenidos se compararon primero en ella,
y luego decidí si actualizar la base de datos física (al mismo tiempo que hacía otras cosas más complicadas...), así que que ha logrado los resultados esperados en términos de eficiencia y uso de recursos
.
Este programa ha estado funcionando muy bien, pero un día después de abandonar el sitio, el administrador del sistema llamó y dijo que tal vez debido a
falla de la red y otras razones, a veces la puerta de enlace El programa fallará, simplemente falla por sí solo. ¡El problema es que también convertirá a Windows 2000 Advanced Server en una "pantalla azul"! Hablando francamente, nunca he visto ningún programa involuntario que tenga esta "habilidad". Debido a que estaba ocupado con otro gran proyecto en ese momento, no pude ir al sitio para depurarlo. Al final, tuve que confiar en la experiencia para encapsular cuidadosamente el código de la biblioteca de memoria con el código de manejo de excepciones (y también hice algunos otros). modificaciones...). De esta forma, aunque el problema no se soluciona del todo, el programa ya no es tan feo al fin y al cabo.
¿Qué sentido tiene contar aquí semejante dato (no pensé que fuera un "tic" cuando estaba pensando en ese terrible bicho)? Lo que quiero decir es que, para cualquier software, no hay eficiencia sin robustez. Para los programadores de
C, puede que no sea difícil escribir un programa eficiente, pero no lo es escribir un software del lado del servidor que deba ejecutarse continuamente
7 ⅹ 24 horas. Al día, hay muchos factores a considerar y, a veces, estos factores incluso van mucho más allá del lenguaje C y las herramientas de desarrollo. Como programadores que desarrollan software de proyectos reales, no tenemos que chocar contra la pared para acumular experiencia, siempre que tengamos la mente lo suficientemente abierta, las experiencias de otras personas suelen ser una buena referencia para nosotros. En vista de esto, te recomiendo los siguientes
varios libros para que elijas, que pueden beneficiarte tanto en fuerza como en eficiencia (por supuesto, cubren mucho más que excepciones
Proceso J).
Scott Meyers, Efectivo C: 50 formas específicas de mejorar tus programas y deseos
ign (2da edición)
Scott Meyers, Más Efectivo C: 35 nuevos Formas de mejorar sus programas y diseños
"Edición china C efectiva", Prensa de la Universidad de Ciencia y Tecnología de Huazhong
"Edición china C más efectiva" , China Electric Power Press
"Effective C (Edición fotocopia)", China Electric Power Press
Si "Effective C" analiza principalmente algunos conceptos y técnicas relativamente básicos en C, entonces " More Efectivo C" se centra en una serie de tecnologías avanzadas que incluyen el manejo de excepciones. Comparado con el primero, el segundo tiene dos diferencias principales: primero, contiene mucho contenido del último Estándar C; segundo, los temas que trata tienden a ser "estratégicos" en lugar de "tácticos"; discutirlo más profunda y exhaustivamente.
En particular, la discusión en profundidad de tecnologías y patrones como destructores virtuales, punteros inteligentes
, recuento de referencias y clases de proxy hace que sea difícil imaginar que
aparecieran en tales. un libro pequeño.
Con cómodas habilidades técnicas y excelentes habilidades de escritura, Scott es sin duda uno de los mejores escritores técnicos en C del mundo. Ambos libros destacan en términos de simplicidad, claridad y legibilidad. En resumen, los 85 métodos proporcionados por Scott para mejorar las habilidades de programación y el pensamiento de diseño son habilidades necesarias para los programadores de C intermedios y avanzados. Recomiendo ampliamente estos dos libros (de hecho
hay uno más, como verás más adelante).
Herb Sutter, Exceptional C: 47 acertijos de ingeniería, problemas de programación y soluciones
Herb Sutter, más excepcional C: 40 nuevos acertijos de ingeniería, programación Problemas y soluciones
"Versión china C excepcional", China Electric Power Press
"Versión china C más excepcional", Universidad de Ciencias y Ciencias de Huazhong Prensa Tecnológica
¿Te consideras un experto en lenguaje C? Lea estos dos libros del Secretario General del Comité de Normas ISO C antes de responder.
En estos dos libros, Herb utiliza un enfoque de "preguntas y respuestas" para guiarle en el aprendizaje de las funciones del lenguaje C. Para cada tema, Her
b primero imagina razonablemente sus preguntas y confusiones, luego adivina que su respuesta probablemente sea incorrecta y luego le brinda una solución.
Brinda orientación y propone las mejores soluciones. y finalmente resumir principios universales para resolver problemas similares.
Estos dos libros son trabajos típicos que profundizan en los detalles del lenguaje C. Son muy finos, pero densos en contenido, superando con creces los dos libros de Scott.
Es muy difícil. leer.—Personalmente, los encuentro mucho más difíciles de entender que los libros de Scott. ¡Se necesitarán al menos varios meses para estudiar el conocimiento contenido en estos dos finos libros
! (En el prefacio, Scott confesó que cayó en la trampa del problema GotW más de una vez. Deberías saber lo que esto significa.) ¿Cuáles son los beneficios de estudiar los detalles del lenguaje? Aunque en la mayoría de los casos no tenemos que preocuparnos por las acciones detrás del código C, cuando tenemos que preocuparnos, estos dos libros pueden proporcionarnos buenas pistas, porque revelan algo sutil pero crucial sobre el lenguaje C.
Stephen C. Dewhurst, C Gotchas: Cómo evitar problemas comunes en la codificación y el diseño
n
"Trampas de programación en C", Editorial Juvenil de China
p>Los conocimientos teóricos y la experiencia práctica de Stephen hacen de este un buen libro que vale la pena leer. Stephen fue uno de los primeros usuarios de C en Bell Labs. Ha utilizado C con éxito para resolver problemas en áreas que incluyen compiladores, comercio de valores, comercio electrónico y sistemas integrados. Este libro reúne los 99 conocimientos de programación del autor desde la primera línea del desarrollo. Al comprenderlos, puede evitar casi todos los problemas comunes de programación y diseño en C.
Incluso creo que para los principiantes en programación en C, leer este libro será más fácil y rápido que leer el libro de Scott y Herb.
Lograrán una mejora mayor de inmediato. Personalmente, me gusta el estilo de escritura de este libro; muchas de las opiniones de Stephen pueden parecer extremas pero irrefutables. Por supuesto, este tipo de confianza (y humor frío) proviene de la profunda cultura técnica del autor, más que de la arrogancia
paranoia.
Además de los libros recomendados anteriormente, "Efficient C: Performance
ce Programming Techniques" escrito en coautoría por Dov Bulka y David Mayhew ("Programming Techniques to Improvement C Performance", Tsinghua University Publisher) también merece una visita
. Este pequeño libro se centra en el desarrollo de aplicaciones C de alto rendimiento. Los dos autores son expertos en software de IBM y ambos trabajan en el campo de la construcción de sistemas con requisitos de rendimiento extremadamente altos. Este libro se basa en su experiencia. A algunas personas no les gusta este libro porque
pasa mucho tiempo hablando de cosas que no tienen nada que ver con C, pero tengo una buena impresión de este libro precisamente por eso.
Estas cosas me abrieron los ojos.
Plantillas y programación genérica
Plantillas y programación genérica basada en plantillas son sin duda las tecnologías de programación en C que más activamente se desarrollan en la actualidad. La primera aplicación revolucionaria de plantillas fue STL, que demostró plenamente la aplicación de la tecnología de plantillas en los campos de algoritmos y contenedores genéricos, y programas modernos como Boost y Loki Library maximizan continuamente el potencial de la tecnología de plantillas. En el campo de las plantillas y la programación genérica, recomiendo
los siguientes dos libros de peso:
David Vandevoorde, Nicolai M. Josuttis, C Templates: The Complete Guide
"Descripción general de las plantillas C (edición en chino tradicional)", Taiwan Cifeng Information Co., Ltd.
"Descripción general de las plantillas C (edición en chino simplificado)", Editorial Popular de Correos y Telecomunicaciones
Uno Una forma antigua de elogiar un libro es aproximadamente "Si no has leído este libro, haz lo que quieras". A menudo contiene exageraciones. Sin embargo, si se dice que "No se puede dominar la programación de plantillas C sin leer "Plantillas C: la guía completa", entonces esta conclusión será aceptada por la mayoría de los programadores de C del mundo.
De pie.
Este libro llena un vacío de larga data en el campo de los libros de plantillas C. Anteriormente, había libros como "Diseño moderno en C", que se centraban en técnicas avanzadas de programación de plantillas y patrones genéricos, y "La biblioteca estándar de C", que se centraba en temas específicos. Una guía para el uso de marcos y componentes de plantillas. Sin embargo, si no tiene un conocimiento profundo del mecanismo de la plantilla, le resultará difícil "subir y bajar" libremente. En vista de esto, recomiendo este libro a todos los que deseen una comprensión profunda de la tecnología de plantillas C.
Este libro tiene una traducción en China continental y otra en Taiwán, pero están escritos por traductores diferentes. Para cuando leas este artículo, ambas traducciones deberían estar en el mercado, lo que por supuesto ofrece a los lectores una opción más. El sitio web personal del Sr. Hou Jie ha abierto la mayoría de los capítulos de la traducción tradicional al chino. También podría echar un vistazo.
Andrei Alexandrescu, Diseño C moderno: programación genérica y patrones de diseño aplicados
"Nuevas ideas en diseño C: aplicación de programación genérica y patrones de diseño" , Prensa de la Universidad de Ciencia y Tecnología de Huazhong
"Nuevas ideas en diseño en C (edición fotocopiada)", China Electric Power Press
¿Se considera un maestro en programación de plantillas C? Lea este libro antes de responder J. Esta es una obra maestra impresionante escrita por un genio. El modo genérico amplía sus horizontes infinitamente y es suficiente para desafiar los límites de pensamiento de cualquier programador de C.
Este libro*** está dividido en dos partes. La primera parte analiza la tecnología básica utilizada por la biblioteca Loki y algunas características del lenguaje de alto nivel
incluido el diseño de clases basado en estrategias. , especialización parcial de plantillas, aserciones en tiempo de compilación, lista de tipos y técnicas de tecnología de asignación de objetos pequeños, etc. La segunda parte se centra en los componentes importantes y la tecnología de patrones genéricos en Loki, incluidos Generalization Functor, Singleton, Smart Pointer y Object Factory),
Abstract Factory, Visitor y. Multimétodos, etc. Cada tecnología es reveladora e impresionante.
En términos de aprendizaje de C, ir demasiado lejos suele ser una excusa para no buscar una comprensión más profunda. Sin embargo, la programación orientada a objetos no es todo C.
Las plantillas y la programación genérica también representan la mitad. Para los programadores "serios" de C, es una decisión inteligente hacer un seguimiento oportuno de esta tecnología exitosa y comprobada.
Conclusión
Estos libros son tan famosos que quizás no necesite ninguna recomendación. Sin embargo, aunque el equipo de programadores de C no se está desarrollando tan rápido como otros lenguajes más de moda, siempre entra más gente nueva que gente antigua que se va. Además de dar una cálida bienvenida a los recién llegados,
Personalmente creo que es hora de hacer un "inventario" de libros C y espero que dicho "inventario" sea beneficioso para los lectores interesados
. Por favor sea paciente y amable. En el próximo artículo, continuaré presentando buenos libros en C sobre bibliotecas estándar, programación de redes y otros aspectos. Con un buen libro a tu lado, este invierno no hará frío.
Los cuatro libros y los cinco clásicos de la programación en C (Parte 2)
En la parte anterior, "inventeré" TCPL y D&E, así como tutoriales introductorios, programación eficiente y robusta. , plantillas y programación general de tipos y otros aspectos
***Más de una docena de buenos libros en C. A medida que el invierno se convierte en primavera, continuemos el maravilloso viaje de C books J
Biblioteca estándar
Cuando todavía trabajaba en el instituto, desarrollé un proyecto a gran escala en cooperación. con otros dos institutos en el mismo instituto Proyecto de integración de despacho de centro de conservación de agua
Proyecto. Nuestros tres sistemas de software necesitan comunicarse entre sí. Al depurar el módulo de comunicación, un cliente atento (un estudioso
administrador del sistema) descubrió que para el mismo protocolo de comunicación, el mío no superaba las 30 líneas de código de interpretación, mientras que el del otro superaba las 15
p>
0 líneas y difícil de entender. El administrador del sistema estaba muy desconcertado. Le dije que los estilos y hábitos de programación de cada uno son diferentes. Yo uso la biblioteca estándar, pero él usa el estilo de programación tradicional en C y otras tecnologías a las que está acostumbrado.
¡No me malinterpretes! De ninguna manera pretendo menospreciar a este socio. De hecho, a menudo admiro a los programadores que realmente tienen profundas habilidades de programación en C. Después de todo, el éxito actual de C se debe en gran medida a sus profundas raíces en C
.
Como programador de C, si no estoy familiarizado con C en C, tiendo a pensar que sus habilidades básicas no son sólidas y su confianza técnica es insuficiente.
Pero claro, C es un lenguaje de programación multiparadigma. El estilo de programación que se utiliza depende de la situación específica.
Los programadores deben saberlo. Como líder de proyecto que a menudo necesita realizar un desarrollo improvisado en el sitio para resolver tareas urgentes de manera rápida y rápida, estoy acostumbrado a utilizar las bibliotecas (y componentes) existentes tanto como sea posible. Eficiencia (y solidez) a largo plazo
La biblioteca estándar C probada ya existe, ¿por qué no utilizarla?
Nicolai M. Josuttis, La biblioteca estándar de C: tutorial y referencia
"La biblioteca estándar de C: tutorial de autoestudio y manual de referencia", Universidad de Ciencia y Tecnología de Huazhong Prensa
Este es un trabajo enciclopédico sobre la biblioteca estándar de C, una referencia que debe consultarse una y otra vez. Es incomparable en términos de integridad, detalle
y precisión. Este libro presenta en detalle las especificaciones y el uso de cada componente de la biblioteca estándar, cubriendo toda la biblioteca estándar, incluidas las transmisiones y la localización, no solo STL. Como indica el subtítulo de este libro, primero pretende ser un tutorial y luego un manual de referencia.
El estilo de escritura fácil de entender hace que este libro sea muy fácil de leer. Si desea aprender a utilizar la biblioteca estándar y utilizarla en su máximo potencial, debe tener este libro. Como se dice en Internet, este libro no sólo debe colocarse en su estantería, sino también
debe colocarse en el escritorio de su computadora. Se lo recomiendo encarecidamente a todo programador profesional de C.
Angelika Langer, Klaus Kreft, IOStreams y configuraciones regionales estándar C: referencia y guía del programador avanzado
"Secuencias y configuraciones regionales de entrada y salida estándar C", Prensa de Correos y Telecomunicaciones del Pueblo
La biblioteca estándar C consta de tres partes: STL, flujo y localización. Hay muchos libros sobre STL en el mercado, pero las monografías sobre transmisión y localización son raras. Este libro es lo mejor de ambos mundos y ningún libro hasta la fecha analiza la transmisión y la localización con más detalle que este.
Si no estás satisfecho con quedarte en el nivel de "saber utilizar" la biblioteca de flujos, no te lo pierdas.
En el verano de 2001, hojeé la versión china de este libro y quedé profundamente impresionado por todo, desde el contenido hasta el empaque.
Pero en su mayoría había aspectos negativos. . En el otoño de 2003, me enteré accidentalmente de que una librería en línea estaba vendiendo la traducción al chino de este libro a un precio muy bajo. No pude evitar suspirar.
Scott Meyers, STL efectivo: 50 formas específicas de mejorar el uso de la biblioteca de plantillas estándar
"STL efectivo (versión fotocopia)", China Electric Power Press
Después de leer las traducciones al chino de "Effective C" y "More Effective C" de Scott, esperaba con ansias la versión china de este libro.
Supe en la página personal del Sr. Pan Aimin que él y sus socios parecen haber completado ya la traducción de este libro. Desafortunadamente, todavía no está disponible en el mercado. Por suerte, podemos verlo en su forma original.
Este libro es una lectura obligada para los programadores que utilizan STL. En este libro, Scott nos cuenta cómo funcionan los contenedores y algoritmos STL y cómo utilizarlos mejor. Al igual que otros trabajos de Scott, el estilo de escritura de este libro es claro, preciso
y muy legible. Después de leer este libro, creo que es posible que tenga los mismos pensamientos que yo y otros programadores de C: ¿Cuándo escribirá Scott un "STL más eficaz"?
En cuanto a STL, también les recuerdo que presten atención a "Generic Programming and the STL:
Using and Extending the C Standard Template Library" de Matthew H. Austern ("Generic Programming and the STL:
Using and Extending the C Standard Template Library" ("Programación genérica y STL" 》, Prensa de energía eléctrica de China). Este libro irradia una fuerte atmósfera académica. Andrew Koenig y Barbara Moo recomiendan solemnemente otros dos libros avanzados al final del libro "C acelerado: programación práctica con ejemplo"
(además de sus propias "Reflexiones sobre C 》Excepto), uno de ellos es TCPL y el otro es este libro.
Programación de redes
En la era de la programación de redes, deje que ACE (Entorno de comunicaciones adaptativo) le diga qué papel debe desempeñar C.
Douglas C. Schmidt, Stephen D. Huston, Programación de redes C, volumen 1: Dominar la complejidad con ACE y patrones
Douglas C. Schmidt, Stephen D. Huston, Programación de redes C, Volumen 2: Reutilización sistemática con ACE y marcos
"Programación de redes C, Volumen 1: Uso de ACE y patrones para eliminar la complejidad", Prensa de la Universidad de Ciencia y Tecnología de Huazhong
"Programación de redes C, volumen 2: reutilización sistemática basada en ACE y Framework", Electronic Industry Press
Uso de C para programación de redes a nivel empresarial, Actualmente, ACE (y estos dos libros) es una opción que vale la pena considerar. ACE es un marco de programación de red de código abierto, multiplataforma y orientado a objetos que tiene como objetivo crear middleware y aplicaciones de red de alto rendimiento.
Douglas es el fundador de ACE y Stephen ha brindado soporte técnico y servicios de consultoría a ACE durante varios años. Ambos son miembros de la comunidad de expertos de ACE (sí, el impacto y la aplicación práctica de ACE se han formado en una comunidad).
ACE no sólo es buscado por universidades e institutos de investigación, sino que se ha utilizado con éxito en miles de aplicaciones comerciales en todo el mundo.
ACE ha desempeñado y sigue desempeñando un papel importante en los sistemas de red en los campos de las telecomunicaciones, el aeroespacial, la medicina y las finanzas. Si está preparado para desarrollar sistemas de comunicaciones de alto rendimiento, debería considerar esta colección de los principales expertos del mundo.
Además de utilizar características de lenguaje de alto nivel, como plantillas y técnicas de diseño orientadas a objetos C, ACE también utiliza una gran cantidad de patrones.
"Programación de redes C
" Los volúmenes 1 y 2 no solo le enseñan todos los aspectos de ACE, sino que también le enseñan tecnologías avanzadas como patrones y diseño de marco general
. Por lo tanto, como programador de C intermedio o avanzado, incluso si rara vez realiza una programación seria de redes en C, aún puede beneficiarse de la lectura de estos dos libros.
Sí, no todas las aplicaciones de red tienen que utilizar servidores web (y otros servidores de aplicaciones) y modelos de componentes pesados.
Para cambiar la idea, también pueden beneficiarse de los ligeros. del componente ACE.
Varios
Los siguientes libros están incluidos en la unidad "Varios" simplemente porque no he pensado en un método de clasificación más apropiado.
Ellos, como. Vale la pena leer los libros anteriores.
Bruce Eckel, Pensando en C, Volumen 1: Introducción al estándar C (segunda edición
ion)
Bruce Eckel, Pensando en C, Volumen 2: Programación práctica (segunda edición)
"Pensamientos de programación en C (segunda edición) Volumen 1: Guía estándar de C", Machinery Industry Press
"Pensamientos de programación en C (edición en inglés) 2.a edición) ", Machinery Industry Press
La primera edición de "Thinking in C" ganó el premio Book Shock Award seleccionado por la revista "Software R&D" en 1996. La segunda edición recientemente lanzada ha reescrito y ajustado significativamente el contenido para reflejar el impacto de la estandarización de C y las últimas investigaciones y resultados prácticos en el campo orientado a objetos en los últimos años. Temas avanzados como "Secuencias de entrada", "Herencia múltiple", "Manejo de excepciones" y "Reconocimiento de tipos de tiempo de ejecución" se encuentran en el segundo volumen, junto con contenido agregado desde la estandarización de C. Bruce es un conferenciante y consultor experimentado en C. Su formación y experiencia en escritura son de clase mundial. Sus trabajos son mejores que los escritos por técnicos que "jugan malas pasadas". a los lectores. De hecho, entre libros similares, para la mayoría de los lectores, este libro es más legible que TCPL y "C Primer". Por cierto, puedes echar un vistazo al segundo volumen visitando el sitio web del autor.
Andrew Koenig, Barbara E. Moo, Reflexiones sobre C: Una década de conocimiento y experiencia en programación
"Meditaciones sobre C", publicado por People's Sociedad de Correos y Telecomunicaciones
Andrew es uno de los pocos expertos en C del mundo. Este es un libro sobre ideas y técnicas de programación en C en lugar de detalles del lenguaje.
Si ya tienes cierta base, este libro te enseñará cómo pensar al programar en C y cómo expresar soluciones. La expresión técnica de todo el libro es minuciosa y el texto es fácil de entender. Bjarne comentó sobre este libro:
Este libro está lleno de ideas sobre "qué es C y qué puede hacer C".
Stanley B. Lippman, Inside The C Object Model
"Exploración en profundidad del modelo de objetos C", Prensa de la Universidad de Ciencia y Tecnología de Huazhong
"Exploración en profundidad del modelo de objetos C" (versión fotocopiada)", China Electric Power Press
Observar C desde la perspectiva del compilador puede ayudarle a comprender qué está sucediendo y por qué.
Este libro analiza una gran cantidad de mecanismos operativos subyacentes de la programación orientada a objetos en C, incluidos constructores, funciones, objetos temporales, herencia, virtualización, creación de instancias de plantillas y procesamiento de excepciones, reconocimiento de tipos en tiempo de ejecución, etc. describe algunas de las compensaciones realizadas al implementar el modelo de objetos C.