¡Método de aprendizaje en C! ~
Aquí también quiero plantear un concepto muy importante: lo más esencial). Lo importante de un idioma es su sistema de tipos, y cada idioma tiene su propio sistema de tipos único. Aprender C es aprender su sistema de tipos. Entonces, primero debemos comprender a fondo el concepto de tipos de datos. , y tendrá la opción de aprender todos los paradigmas de diseño compatibles con C. p>
Diseño estructurado, es decir, la mejor parte C de C. Necesita aprender las dos características nuevas más importantes del lenguaje sobre la base de C, sobrecarga de funciones y referencias
Basado en objetos, es necesario establecer el concepto más poderoso de C: clases, es decir, tipos definidos por el usuario, que en realidad son el concepto de tipos de datos abstractos. estructuras de datos, así como una serie de medidas de lenguaje para construir y usar clases de manera razonable, y siempre recuérdelas. Cuando diseñamos en C, usamos clases para representar los conceptos que necesitamos expresar. mecanismo de abstracción.
Orientado a objetos: aquí debe comprender los conceptos orientados a objetos, como la herencia y el polimorfismo, y las técnicas de diseño comunes, como las clases de manejo. etapa de interfaces de programación Al mismo tiempo, algunas funciones de C son solo para expresar completamente las ideas OO con la semántica respaldada por el lenguaje. Aquí, también debe comprender que la semántica que C puede expresar se rige por su diseño de lenguaje original. principios (¿qué principios? La verificación de tipos estáticos no paga por cosas innecesarias y la elección está en manos del programador. En otras palabras, qué C Las ideas OO que se pueden expresar se pueden llamar ideas OO con características C. ¿Cuál? es mejor, como las ideas OO y la OO pura representada por JAVA, porque sus respectivos conceptos de diseño son diferentes.
Diseño universal: lo más importante que debes entender aquí es el mecanismo de plantilla de C, independientemente. De su intención original, ahora significa: derivación de tipos en tiempo de compilación, es decir, polimorfismo en tiempo de compilación, entendiendo así el núcleo de los genéricos: varios tipos como concretización de condiciones abstractas. ¿C tiene medidas para definir condiciones abstractas? No, entonces estas condiciones solo pueden definirse en nuestra propia mente, pero podemos implementar tipos concretos como condiciones abstractas en el mecanismo de plantilla, haciendo de la plantilla algo más allá del mecanismo de derivación de tipos, que es la derivación de condiciones abstractas.
En otras palabras, ya no consideramos los parámetros aceptados por las plantillas como tipos, sino como un mecanismo para aceptar condiciones abstractas. No importa qué tipo sea, siempre que el tipo cumpla con las condiciones abstractas aceptadas por la plantilla, se puede pasar como parámetro. Esto representa una idea general: el tipo ya no es fundamental, la condición abstracta lo es y el tipo. es solo la capa de la condición abstracta y en la realización de C. STL, como producto industrial, nació a partir de una tecnología que combina patrones de diseño universales y basados en objetos.
(2) La tentación de los libros
Lenguaje de programación C: si solo compras un libro en C, esta es tu elección. El autor Bjarne es la única razón por la que debes tomar esta decisión. Nadie sabe mejor para qué sirve realmente la programación en C. Algunas personas dicen que el lenguaje de este libro es oscuro o no apto para principiantes. No me parece. Vi la versión china. Al menos en mi opinión, la descripción del idioma es muy buena. El núcleo de este libro es decirle cómo escribir código C correcto utilizando los conceptos correctos. Altamente recomendado.
Diseño y evolución del lenguaje C: este libro también es uno de los dos libros que tengo en chino e inglés (el otro es Design Patterns). Si consigues el libro anterior y necesitas un segundo, en mi opinión esta es tu elección. El autor también es Bjarne. En este libro, le contará el origen y desarrollo de C, los principios y la esencia del lenguaje, las razones y precauciones para agregar varias características y casi todas las historias interesantes sobre C. He leído tanto la versión china como la versión en inglés y las recomiendo ambas.
The C Standard Library: Reseñas de los libros de C más populares en Amazon. La introducción a la biblioteca estándar en el libro es muy simple y el libro se basa en aplicaciones prácticas. Los ejemplos del libro son sencillos pero muy ilustrativos, y la visualización de algunos gráficos deja muy claro el concepto, y tiene su valor tanto en el trabajo manual como en el aprendizaje. Altamente recomendado.
Versión china efectiva en C: no hace falta decir que este libro se puede encontrar en cualquier lista recomendada de libros en C y cuenta con muchos estudiosos. El énfasis principal está en a qué se debe prestar atención cuando se utilizan diversas características de C, así como en algunos métodos de diseño comunes. Su lenguaje breve y conciso es, naturalmente, muy adecuado para el estilo moderno y acelerado, y realmente me gusta el estilo de escritura de Meyer. Altamente recomendado.
Versión china C más eficaz: como complemento del libro anterior, el estilo de escritura es el mismo y el propósito de la escritura es el mismo. Es solo que siento que hay una brecha en comparación con las chicas. La razón principal es que la cantidad de información no es tan grande como la versión china efectiva en C, que habla principalmente sobre algunas prácticas de diseño en C. recomendar.
Versión china C Elementary: también escrita por un experto. Como uno de los primeros implementadores de los compiladores de C, Lippmann tenía su propia perspectiva única sobre la comprensión de C y cómo discutir el orden. Como enciclopedia de C, tiene el mismo estatus que el lenguaje de programación C. Pero el primero enfatiza la sintaxis y la semántica de C, mientras que el segundo se enfoca en cómo usar C para un diseño razonable. Este libro está concebido de forma muy inteligente. El libro aborda directamente el tema de C desde el principio. Los primeros cinco capítulos utilizan clases para diseñar una estructura de datos, lo que permite a los lectores comprender completamente las capacidades abstractas representadas por varios tipos personalizados y luego ingresar directamente la clase contenedora en la biblioteca estándar en el Capítulo 6. Este diseño permite a los lectores establecer claramente dos conceptos muy importantes en C. Se puede decir que este diseño es muy eficaz para lectores de C con cierta base. Pero para los principiantes, este no es realmente un libro adecuado, porque demasiados sustantivos asustarán a las personas que son nuevas en C. recomendar.
C Meditaciones: Un libro muy singular. El libro supone que los lectores ya están familiarizados con el lenguaje C y se centra en los conceptos de C y algunos métodos de diseño de C. Por ejemplo, ¿por qué C es mejor que C u otros lenguajes de procedimiento? (La respuesta dada en el libro es que solo los objetos tienen la capacidad de mantener un determinado estado, los algoritmos no tienen esta capacidad), cómo programar tipos de datos abstractos, cómo entender el polimorfismo, cómo ocultar la herencia a través de servidores proxy, cómo hacer referencia técnicas, cómo hacerlo para lograr eficiencia Copia lenta, cómo evolucionó la tecnología de plantillas y finalmente se convirtió en la biblioteca STL. Se lee como el lenguaje de programación C, muy reflexivo. Leer un libro como este es muy agotador. El cerebro debe estar siempre pensando en el problema planteado por el autor y su solución.
La característica más importante de este libro es que expone directamente el núcleo del lenguaje C: los tres modelos abstractos y el soporte de estos tres modelos abstractos por parte de las propias instalaciones del lenguaje. "C Meditaciones" me hizo pensar más profundamente sobre la forma más razonable de utilizar C. recomendar.
Versión china C STL: simple y no sofisticada, pero muy valiosa. Personalmente creo que su principal valor se refleja en los siguientes aspectos: 1. Los iteradores, la clave para la implementación de STL, generalmente se describen de dos maneras: una es el método de función anterior y la otra es el método nuevo. Las habilidades idiosincrásicas permiten a los lectores comprender la evolución de la tecnología con mucha claridad. 2. Se proporciona una versión STL LITE. Leer este código mejorará enormemente. 3. El módulo de prueba proporcionado en el libro también es un capítulo muy útil para los lectores. Para aquellos que quieran ampliar STL, pueden probar sus propios componentes STL según el método proporcionado anteriormente. Desventajas: La encuadernación es tosca y no coincide con el estado de la obra del maestro. Recomendado
C Edición para principiantes más versión china: no es muy reflexivo ni técnico, pero es muy adecuado para principiantes. Mucho de ello cristaliza en forma de prólogo. En general, este libro es el más adecuado para principiantes entre los libros de C que he leído. recomendar.
Exploración en profundidad del modelo de objetos de C: este también es un libro especializado que le explica cómo el compilador organiza el espacio de memoria para procesar objetos y cómo se implementan algunas características de OO. Creo que esta no es una lectura imprescindible para C, pero debería ser más adecuada para la lectura después de clase, porque cuando tienes tiempo para comprender la implementación OO de C: teoría de tipos, es mejor dedicar algo de tiempo a comprender. Los conceptos esenciales de la teoría OO. recomendar.
Nuevo pensamiento en diseño en C: aplicación de programación genérica y patrones de diseño: se puede decir que es un libro maravilloso en C. Es difícil para las personas hacer una evaluación y un índice de recomendación correctos para un libro de este tipo (especialmente para mí, una persona práctica que debería disfrutar de la vida), porque las ideas representadas en el libro son un poco irreales y el modo La combinación con genéricos es tan elegante. Mi opinión personal es que solo algunas personas necesitan leer este libro. Son los llamados verdaderos fanáticos de C, independientemente de si el propio C encuentra dificultades. En lo que respecta a las ideas de diseño representadas en el libro, los programadores que no sienten nada por C (los sentimientos se basan en pasatiempos, no en ahorrar dinero) siempre se sentirán mareados con esta tecnología de diseño. sintiendo cualquiera ~ :). recomendar.
Objetos secretos: Java, Eiffel, C: Como puedes ver en el título, este libro no trata sólo de C. Se puede decir que todo el libro es una crítica de C (este libro también se originó a partir de un artículo del autor que critica a C). A veces, escuchar otra voz puede resultar útil para mantener la mente clara. Esto es cierto para una persona, un libro y un lenguaje de programación. Este libro no parece ser muy popular. Puede ser porque la publicidad no es lo suficientemente buena, o puede ser que hay relativamente pocos lectores que puedan entender estos tres idiomas al mismo tiempo y estén más preocupados por su significado. ventajas y desventajas profundamente arraigadas. En mi opinión, este libro contiene muchas teorías sobre objetos y tipos. Lo más destacado es que el autor captura el proceso de demostración de la afirmación "incorrecta" de Bjarne de que "las clases en c son tipos". Otro beneficio de leer este libro es que te enseña cómo tener un debate razonable con tu oponente. recomendar.
Programación C a gran escala: Tengo este libro desde hace mucho tiempo, pero no lo he leído con atención, debo explicarlo antes de comentar. En general, el libro trata muchas cosas que otros lectores rara vez ven. Independientemente de si las reseñas en Amazon están desactualizadas, al menos no sé muchas de las cosas que presentan. Lo que otros dicen es asunto suyo. Y todavía lo recomiendo.
STL y Programación Genérica: Un libro conceptual poco común sobre programación genérica. También se utiliza como manual y aprendizaje, pero su manual no es un manual, sino un manual conceptual, que es muy útil para diseñarte a ti mismo. El componente STL es útil. Aunque hay un documento STL en Internet, 70 es aproximadamente lo mismo que este libro, pero este libro aún se puede leer. recomendar.
Pensamientos de programación en C, segunda edición: un libro muy general. Sí, esta es mi evaluación de este libro, que mucha gente considera una obra maestra.
En cuanto a por qué hay tales comentarios, o si no cree que lo que digo es objetivo, lo sabrá después de comprarlo. Más o menos.
Versión china de Essence C: Siempre siento que la posición de este libro no es muy clara, porque para los principiantes, implica demasiados sustantivos al principio. Los principiantes difícilmente pueden esperar empezar con este libro. Para los lectores avanzados, su contenido no es nada nuevo. Para los expertos en C, no es necesario leer un libro tan breve. Tal vez sea el famoso nombre de LIPPMAN JJHOU, pero creo que esta vez es el erudito vacío. Más o menos.
Análisis de código fuente STL: Uno de los dos trabajos de Hou SIR, pero en mi impresión su calidad no parece ser tan buena como mucha gente dice. En comparación con la versión china de trabajos similares C STL, el contenido es un poco escaso y, después de tres capítulos, muchas cosas dan a la gente la sensación de estar amontonadas, y la mayoría de los materiales interesantes provienen de STL y programación genérica, dando la impresión. que son el propio trabajo de Hou SIR en el libro. No hay mucho, y el Capítulo 2 no es bueno para él. Más o menos.
A continuación se enumeran dos libros que no se recomiendan y no se analizarán las razones específicas.
Guía de programación de alta calidad: lenguaje C/C, estándares de codificación C
Otros dos libros comunes en C: