Cuando juegas C y te encuentras con el tipo de PF y C a quienes les gusta caminar y atraer gente, ¿cómo los previenes?
Nota de título: Originalmente quería llamar el título "De C al Infinito", pero era demasiado oscuro. Más tarde quise usar "C, D, E, F...", lo cual era demasiado confuso. Por ello se utilizó este título, y su abreviatura pasó a ser CDEF. No importa qué tipo de tema utilice, lo que quiero expresar es lo mismo, es decir, qué debemos hacer una vez finalizado el curso de lenguaje C. Todos hemos estudiado muchos cursos y cada curso tiene un esquema y materiales didácticos. Estudiar estrictamente de acuerdo con el programa de estudios y saberse de memoria los materiales didácticos es una estrategia de aprendizaje constante y se ha utilizado para aprobar innumerables exámenes y llegar hasta la universidad. Si su propósito de aprender el lenguaje C es solo para el examen final, o como máximo un "Nivel 2", entonces no continúe leyendo este artículo, porque el siguiente texto solo le traerá efectos negativos. El estudio de un curso universitario real debería ser interminable. Ninguna institución puede dibujar un cuadro y decir qué se debe aprender y qué no. Tampoco existe un libro de texto que pueda responder a todas las preguntas que se encontrarán en el futuro. Este artículo solo espera ayudar a los estudiantes que aman la programación y consideran la programación como un elemento indispensable en su viaje futuro. Ayude a todos a usar C como punto de partida para abrir un futuro sin fin. ¡Nunca se puede aprender cómo aprender CC! Solo en términos de gramática, C puede ser el más simple de todos los lenguajes de alto nivel. Las palabras clave más utilizadas no superan las 30, las reglas gramaticales no son complicadas y no hay "modismos" que deban memorizarse. Si el lenguaje C es solo palabras y gramática como el inglés, entonces todos pueden decir que han aprendido C después del curso. Todo lenguaje natural puede utilizar palabras y gramática simples para describir el mundo complejo, pero no todos pueden expresar contenidos admirables en lenguajes como Einstein, Hawking, Marx, Li Bai, Jin Yong, etc. Incluso en comparación con las personas que te rodean, es difícil para ti, que también hablas chino, tener exactamente las mismas opiniones sobre lo mismo. Lo mismo ocurre con el lenguaje C. Es una herramienta lingüística a través de la cual expresamos nuestra comprensión del mundo o, específicamente, nuestras opiniones sobre los programas. La visión y el pensamiento afectan directamente la belleza del código que escribimos. Si la capacidad de escribir siempre un código hermoso se utiliza como criterio para aprender el lenguaje C, entonces, debido a que el entrenamiento de la visión y el pensamiento es interminable, C nunca se aprenderá, al igual que todavía no hemos aprendido chino. Dado que hay tanto que aprender en C, ¿qué deberíamos aprender? Qué aprender C El propósito de aprender C no es aprender C, de lo contrario sería demasiado limitado. Debemos aprovechar la oportunidad de aprender C, ampliar nuestros horizontes y pensamiento, ejercitar nuestras habilidades y convertirnos en los amos del mundo (incluido el mundo de la informática y el mundo de la programación) en lugar de ser esclavos del lenguaje C. Lo primero que hay que aprender es que el "aprendizaje" es un proceso creativo activo y no una aceptación pasiva. El verdadero aprendizaje requiere tomar la iniciativa de buscar una amplia gama de conocimientos, seguir los últimos desarrollos, pensar y juzgar de manera integral las opiniones de todas las partes, probarlas mediante la práctica y luego formarse las propias opiniones y luego difundirlas. El aprendizaje del lenguaje C también se ajusta a esta regla. Es necesario leer libros clásicos, consultar manuales y documentos en línea con frecuencia e Internet brinda oportunidades para ponerse en contacto con los conocimientos más recientes. Aquí se recomiendan dos sitios web: enlace web y enlace web (nota: el webmaster ha encontrado un nuevo amor, este sitio está cerrado). Este último fue fundado por un estudiante del último año del Instituto de Tecnología de Harbin, con el objetivo de profundizar en la tecnología. Un empleado de Microsoft comentó que "hay gente genial en todas partes, especialmente PureC". Pero el lugar que realmente reúne a las mejores personas de todo el mundo es Newsgroup: news://comp.lang.c. Si no sabes qué es un grupo de noticias, ve inmediatamente al buscador para encontrar la respuesta (el enlace web es una entrada de grupo de noticias apta para principiantes). Los motores de búsqueda son la fuente de conocimiento más importante y google.com es la primera. Desafortunadamente, las salas de computación en el campus de la Universidad Tecnológica son básicamente inaccesibles desde el extranjero, por lo que baidu.com tuvo que ser utilizado a regañadientes, aunque la usabilidad y credibilidad de la información que recuperó eran deficientes. Una nota especial aquí es que la capacidad de lectura en inglés es muy importante. No evites la información en inglés, porque siempre habrá un día en el que no podrás evitarla. Muerde la bala y corre hacia adelante, y pronto descubrirás que leer en inglés es mucho más divertido que leer en chino.
Sería aburrido si aceptaras todo el conocimiento que aprendiste. Cuando se amplíe el alcance de la lectura, descubrirá que incluso las opiniones autorizadas tienen muchas contradicciones y también verá que siempre hay las llamadas "verdades" que han sido revocadas. Por lo tanto, leer con una actitud "escéptica" puede ser más propicio para que los estudiantes chinos que están acostumbrados a recibir apoyos amplíen su pensamiento. Hay muchos problemas históricos sin resolver en el lenguaje C, y ha habido interminables debates sin resultados hasta ahora, como si usar espacios o tabulaciones para la sangría, si "{" debería estar en una línea separada... Debes tener tu propio punto de vista: "Es mejor creer en los libros que no tener ningún libro". Al aprender a programar, usar una computadora es mucho más importante que leer un libro. El efecto de aprendizaje de la programación manual es 0xFFFFFFFF veces mejor que leer libros. No se limite a escribir los ejemplos del libro cuando utilice la computadora. Eso sólo puede capacitar a los mecanógrafos. Haga algo desafiante, como crear un juego pequeño, crear un programa de broma o incluso considerar desarrollar software gratuito. Si cree que no sabe por dónde empezar, descargue el código fuente de otras personas y mírelo. Al mismo tiempo, no te quedes atrapado en TC2, toma un camino más amplio, VC, gcc, Dev-C, Eclipse..., el mundo es vasto y emocionante. En segundo lugar, además de C, es difícil encontrar otros lenguajes de alto nivel que sean tan cercanos a las computadoras como C. Sólo comprendiendo los principios internos del lenguaje C y las computadoras se podrá controlar C fácil y felizmente. La enseñanza en el aula puede enseñarte tipos, selecciones, bucles, entradas y salidas, etc. Me gusta llamarlos los "consejos" del lenguaje C, es decir, ni siquiera has tocado la "superficie". Cuando cada vez que escribes una línea de código, no solo puedes imaginar su efecto de ejecución, sino también saber lo que traerá a la CPU, la memoria y varios equipos informáticos, la sensación es maravillosa y emocionante. En este caso, puede sentir que realmente está controlando C y usando C para hacer todo lo que quiere hacer, en lugar de lidiar sin convicción con varios problemas inexplicables bajo las restricciones de C. Para encontrar este sentimiento, no te conformes con el aula y un libro de texto, y mucho menos seas supersticioso con los clásicos presentados por no profesionales. Ahora que tenemos una oportunidad tan buena de entrar en contacto con las obras de muchos maestros y maestros jóvenes de talla mundial, debemos aprovechar la oportunidad para dialogar con ellos directamente. A continuación se muestran algunos de los mejores libros de texto para comenzar. [Deitel94] ha publicado la cuarta edición, pero sólo puedes comprar la segunda edición en China. Es un libro que puede llevarte por el camino correcto de la programación. El autor de [Prata04] ha escrito una serie de libros "Primer", cada uno de los cuales es un clásico y ha sido actualizado varias veces con contenido sustancial. [Kelley97] también es un libro de texto clásico. Su mayor ventaja es que no tiene una versión china y puede obligarte a pensar en inglés. [Roberts94] es muy alternativo. El autor es profesor titular del Departamento de Ciencias de la Computación de la Universidad de Stanford y un conocido experto académico en educación informática. Su libro enseña programación, no lenguaje C (scanf() aparece por primera vez en la página 539), por lo que si desea aprender técnicas de programación avanzadas, este libro es un muy buen libro introductorio, pero si desea aprender un lenguaje C más avanzado, No puedo ayudar. [Harbison02] es del tipo "enciclopedia" y puede ser el único libro que vale la pena recopilar para leer en cualquier momento, por lo que no es un libro introductorio, pero es muy bueno como libro de referencia auxiliar para principiantes. Una vez finalizado el curso, lo primero que debemos hacer es romper el libro de texto (sí, es el que tiene mi nombre como autor. Es mejor romperlo y tirarlo que verlo frecuentemente en el mercado de libros usados). ), y luego ve y léelo inmediatamente [ Kernighan88]. Este libro escrito por el diseñador del lenguaje C describe C en palabras extremadamente concisas pero precisas. Cada vez que lea el libro, la comprensión del lenguaje C mejorará. Si desea información absolutamente precisa, no tiene más remedio que mirar [C99], aunque C99 es feo. Luego puede leer [Kernighan99] y [Linden94] para mejorar su capacidad de programación real y ampliar sus conocimientos. El primero se centra en técnicas y estructuras de datos, mientras que el segundo se centra en la experiencia y los principios. Especialmente este último puede hacerte descubrir que la programación es lo más interesante del mundo. Cuando la cantidad de programación aumente y cometas más y más errores, ven a [Maguire93] y conviértete en un eliminador de errores.
Si ha desarrollado un gran interés en los principios profundos de las computadoras al aprender el lenguaje C, consulte [Bryant02]. Además, hay un libro que "deroga" específicamente el lenguaje C - [Koenig89], que también vale la pena leer. Los autores de estos libros no solo hacen su trabajo concienzudamente, sino que también recomiendan a los lectores muchos contenidos relacionados en forma de referencias que no están dentro del alcance de este libro. A partir de las referencias podrás encontrar algo digno de saborear. Aunque los libros técnicos escritos originalmente por chinos no son tan clásicos como los de los extranjeros, todavía tienen su valor y en ocasiones se convierten en productos excelentes. Aquí se recomienda un libro [Lin Rui 03]. No es tan grueso como el libro del maestro, pero es bastante único y sin sentido. Algunas emociones improvisadas también agregan un poco de toque humano a la programación. Lo que más lamento como estudiante fue que no sólo no me di cuenta de la importancia de las matemáticas cuando era estudiante universitario, sino que también tenía una visión extremadamente equivocada de ellas, hasta el punto de que hoy, cuando veo personas que son buenas en matemáticas, Los admiro tanto que no me atrevo a mirar hacia arriba. Avergonzado de uno mismo. Al principio no conocí la guía de un maestro famoso, así que terminé así en el momento equivocado. Hoy me gustaría advertir a todos con mi trágica experiencia que las matemáticas son realmente la madre de las enciclopedias y debemos utilizar nuestra energía para honrarla. Si desea experimentar la maravilla y la realidad de las matemáticas y la combinación perfecta de matemáticas y lenguaje C, vaya al enlace web para responder las preguntas en línea. Las matemáticas están incorporadas en algoritmos y estructuras de datos en la programación. No he leído muchos libros sobre ellos. La siguiente introducción se basa en los comentarios de otras personas más que en mis puntos de vista personales. La estructura de datos es relativamente simple y debe aprenderse primero. Se recomienda leer [Weiss96] y luego pasar al algoritmo. Hay tantas banderas coloridas ondeando en el campo de los algoritmos. [Cormen01] puede ser un punto de entrada muy adecuado. Puede ayudarle a obtener una descripción general de los algoritmos, encontrar las áreas que le interesan y luego continuar buscando otros libros. profundizar más. El libro más importante en el campo de los algoritmos es [Knuth98]. Es un libro de tres volúmenes muy clásico y muy extenso. Además, cualquiera que pueda leer incluso uno de los volúmenes es suficiente para ser admirado. Ahora sólo puedo consagrarlos a la estantería. ¿Qué estudiar en el futuro? Aunque nunca podrás terminar de aprender C, nunca podrás estar contento con C. De hecho, muchos de los contenidos mencionados anteriormente ya no están dentro del alcance del lenguaje C. Deberían pertenecer a la tecnología del uso de computadoras para resolver problemas prácticos. Volviendo al lenguaje en sí, C puede ser el primer lenguaje informático que la mayoría de los estudiantes aprenden, pero no debería ser el último. El ordenador, la mayor herramienta inventada por la humanidad, no puede ser evitado por todos. Llevar consigo unos cuantos lenguajes informáticos es una poderosa garantía para viajar por el mundo con estilo. Es cierto que sólo hay unas pocas personas que pueden volver a utilizar C después de aprobar el examen, pero las personas que ya no pueden programar son todavía muy raras en las facultades de ingeniería. El lenguaje C es poderoso y pretende ser omnipotente, pero no es la mejor opción para resolver todos los problemas. Ningún idioma puede conquistar el mundo. Todos tienen sus propias áreas de especialización y áreas en las que no son buenos. Debemos elegir uno o varios lenguajes más adecuados para el autoestudio en función de las características de nuestro propio campo. Al mismo tiempo, no debemos preocuparnos de que el proceso de aprendizaje del lenguaje C sea en vano, porque. aunque la "forma" de las lenguas es diferente, el "espíritu" es el mismo. Muchos de los contenidos recomendados para que todos estudien en la segunda parte de este artículo son parte de este "dios". Ser capaz de pensar en cuestiones de programación más allá del lenguaje es la única forma de comprender verdaderamente la esencia de la programación. Sólo aquellos que pueden expresar sus pensamientos en un lenguaje sin problemas son los verdaderos maestros de la programación. Nota de referencia: el título del libro entre paréntesis es el título original en inglés. "中" en cursiva indica que hay una versión china, "英" indica que hay una versión fotocopiada en inglés, "E" indica que hay una versión electrónica en inglés, "e" indica que hay una versión electrónica en chino (excluyendo Formato Super Star), y aquellos con tachados indican que esta edición está agotada. Por favor, no me pidas la versión electrónica, y la mayoría de las versiones electrónicas son pirateadas, así que descárgala con precaución. Además, debido a que el mundo siempre está cambiando, no puedo garantizar que esta información siga siendo válida cuando lea esto. [Deitel94] H.M. Deitel, "Tutorial de programación en C (Cómo programar)", segunda edición, en. Hay muchos errores en el libro. No sé si es un problema con la versión original o un problema con la traducción, pero al menos el diseño de la versión traducida es un desastre, lo que arruina un buen libro. . [Prata04] Stephen Prata, "CPrimerPlus (CPrimerPlus)" quinta edición, medio E.
El nombre "Primer" es tan grande que la versión china simplemente no traduce el título. [Kelley97]AlKelley, IraPohl, "Tutorial del lenguaje C (ABookonC: ProgramminginC)", inglés. [Roberts94] Eric S. Roberts, "El arte y la ciencia de C: Introducción a la informática basada en ALiary", chino e inglés. Aunque es diferente, hay muchas innovaciones que vale la pena recordar. Estoy estudiando su método para introducir bibliotecas de gráficos en la enseñanza del lenguaje C. [Harbison02] Harbison, Steele, "Manual de referencia del lenguaje C (C: AReferenceManual)", quinta edición, inglés. De hecho, este libro tiene una versión china, pero por tu salud, olvídalo, Amén... [Kernighan88] Kernighan, Ritchie, "C Programming Language (TheC Programming Language)" segunda edición, chino e inglés E. Este libro se conoce como "Kamp; R2" y es respetado como la "Biblia" del lenguaje C. Ritchie es el padre del lenguaje C. [C99] ISO/IEC9899:1999, norma C edición 1999, E. Denominado C99. Se puede describir así: "1. C99 siempre tiene razón; 2. Si C99 es incorrecto, consulte el Artículo 1. Lo que es ridículo es que muchas de las preguntas del examen de nivel 2 de nuestro Examen Nacional de Nivel de Computación están en contra". C99. Creo que Ritchie también se deprimirá cuando presente el examen de nivel 2. [Kernighan99]Kernighan, Pike, "La práctica de la programación", Chinese-British News. Lea chino e inglés juntos para aprender y practicar inglés. [Linden94] PetervanderLinden, "Programación ExpertC", E. Este es un libro muy divertido (desafortunadamente, la versión traducida ha perdido mucho humor, lo cual es inútil) Debido a que hay un celacanto impreso en el texto, en la industria se le conoce como el "Libro del pescado". [Maguire93] SteveMaguire, "La esencia de la programación: técnicas de Microsoft para desarrollar programas C libres de errores (escritura de código sólido: técnicas de Microsoft para desarrollar programas C libres de errores)", E. El nombre de la versión electrónica que circula en muchos lugares de Internet es "WriteCleanCode". Aquí hay una aclaración para Maguire. [Bryant02] Bryant, O'Hallaron, "Sistemas informáticos: la perspectiva de un programador", chino-inglés E. Debo decir que la traducción china de este libro es una de las pocas traducciones excelentes. [Koenig89] Andrew Koenig, "C Trampas y trampas (CTrampas y trampas)", China E Electronics. Debido a su antigüedad, algunas de las ideas del libro están desactualizadas, por lo que es una buena manera de practicar la crítica mientras se lee. [Lin Rui03] Lin Rui, Han Yongquan, "Guía de programación de alta calidad: lenguaje C/C", segunda edición, CLP. Creo que este libro tiene muchos puntos de vista incorrectos y muchos correctos. Le invitamos a expresar sus opiniones. [Weiss96] MarkAllenWeiss, "Estructuras de datos y análisis de algoritmos en descripción del lenguaje C (estructuras de datos y análisis de algoritmos en C)", segunda edición, en. [Cormen01] Cormen, Leiserson, Rivest, Stein, "Introducción a los algoritmos", segunda edición, inglés E.
[Knuth98] DonaldKnuth, "El arte de la programación informática (El arte de la programación informática)", volúmenes I, II, III, chino e inglés. El primer lector que descubra un error en el libro recibirá un cheque por 2,56 dólares firmado personalmente por el autor. Después de que Knuth se jubilara, estaba en casa, el volumen IV de Legend of Jianghu estaba a punto de publicarse y estaba escribiendo el volumen V (planeando escribir el volumen VII algún día). Esperemos que no dejes que Knuth escriba más rápido de lo que puedes leer.