Cómo aprender a programar por ti mismo de manera eficiente
1. Cómo aprender el lenguaje C
Muchas personas se sienten confundidas acerca de aprender el lenguaje C. A menudo me hacen la misma pregunta: ¿Cómo aprender el lenguaje C? Soy un estudiante universitario que ha desarrollado programas durante muchos años. Como muchas personas que recién comienzan, el primer lenguaje informático que aprendí fue el lenguaje C. Después de estos años de desarrollo, me doy cuenta de lo importante que es el lenguaje C para un programador. Si no comprende el lenguaje C, puede parecer ridículo escribir programas de bajo nivel. Quieres escribir un programa excelente y eficiente, esto es simplemente una fantasía. ¿Por qué es tan importante el lenguaje C?
Primero: la estructura gramatical del lenguaje C es muy concisa y exquisita, y el programa escrito también es muy eficiente, lo que facilita la descripción del algoritmo. La mayoría de los programadores están dispuestos a utilizar el lenguaje C para describir el algoritmo. en sí mismo, por lo que si quieres lograr el éxito en la programación, debes aprenderlo.
Segundo: el lenguaje C le permite profundizar en la capa inferior del sistema. ¿Qué sistema operativo conoce que no está escrito en lenguaje C? No todas las ventanas, Unix, Linux, Mac y os/2 son iguales por dentro o por fuera. Si no comprende el lenguaje C, ¿cómo puede profundizar en estos sistemas operativos? Sin mencionar escribir sus programas de kernel.
Tercero: Muchos lenguajes nuevos se derivan del lenguaje C, C, Java, C#, J#, perl... ¿cuál no? Una vez que domine el lenguaje C, se puede decir que domina muchos lenguajes. Después de un simple aprendizaje, puede usar estos nuevos lenguajes para desarrollarse. Esto verifica una vez más que el lenguaje C es una base importante para la programación. Además, permítanme decir una cosa más: incluso si ahora se contratan programadores, todos los exámenes evalúan el lenguaje C. Si desea unirse a la industria de TI, debe dominar el lenguaje C.
Entonces, ¿cómo aprender el lenguaje C?
1: Si quieres hacer bien tu trabajo, primero debes afinar tus herramientas
Aquí tienes algunas cosas esenciales para aprender el lenguaje C:
Un desarrollo Entorno, como turbo C 2.0, que alguna vez ocupó la mayoría de los programas de desarrollo en la era DOS. Pero en la era actual de Windows, usar Turbo C parece un inconveniente. Es muy difícil editar el programa, arrastrar y soltar, no existe una función automática de detección de variables y es inconveniente verificar los materiales de referencia. Se recomienda utilizar Visual C. Aunque esto es relativamente voluminoso, una vez instalado, es muy conveniente de usar.
Un tutorial de aprendizaje. Hay muchos libros de texto en lenguaje C ahora, pero recomiendo a todos que utilicen "Programación en lenguaje C" editado por Tan Haoqiang, la segunda edición de Tsinghua University Press. principiantes, y el contenido también es muy preciso.
Además, hay muchos programas para ayudar al aprendizaje. Después de todo, estamos en la era de Windows. Hay tantos programas de aprendizaje que no son como los antiguos cuando estudiamos. Tuve que leer libros y hacer preguntas. Recomiendo un "Entorno de aprendizaje integrado (lenguaje C)" a todos. El resumen de los puntos de conocimiento y las explicaciones de rutina son muy buenos. También hay un entorno de prueba de banco de preguntas. Se dice que hay miles de preguntas. Un trubo C en Windows, los principiantes pueden practicar la programación sin siquiera instalar otros compiladores, lo cual es muy adecuado para principiantes. También hay un software de "sistema de aprendizaje de idiomas C", pero parece que es solo un sistema de banco de preguntas. Si cree que las preguntas no son suficientes, también puede intentarlo.
2: Colección Girasol
¿Cuál es la mejor manera de aprender lenguaje informático? La respuesta es: lea el programa.
Sí, leer programas es la mejor y más rápida manera de aprender el lenguaje C. Al igual que yo, cuando aprendo nuevos lenguajes J#, C# y otros lenguajes, ya no sostengo un libro y leo línea por línea, sino que aprendo sus rutinas.
Por supuesto, para los principiantes que nunca han aprendido ningún lenguaje informático, es mejor leer el tutorial primero. Después de estudiar cada capítulo, deben comprender cuidadosamente todos los conceptos de este capítulo y luego no perderse todos los ejemplos mencionados en este capítulo. .Programa, y luego lea el programa detenidamente hasta que comprenda cada línea, luego busque algunas preguntas de programación, preferiblemente similares o iguales a la rutina, e intente escribir el programa que ha entendido. Para usted. Una vez que lo entienda, puede escribir el mismo programa. Si no lo cree, inténtelo. Si no puede escribirlo, no se preocupe. Continúe estudiando la rutina. Piense en usted mismo. ¿Por qué no puede escribirla? Luego escriba este programa una y otra vez hasta que lo tenga. Felicitaciones, ya casi está comenzando.
3: Alcanzar la cima
El estado más alto de la escritura de programas es en realidad dominar diversos medios para resolver problemas (estructuras de datos) y métodos para resolver problemas (algoritmos).
¿Escribir programas de bajo nivel te convierte en un maestro de la programación? No, escribir programas de bajo nivel no es más que dominar la estructura del hardware. Además, el hardware y el hardware son diferentes. Para escribir un controlador para un chip, no es más que dominar los distintos registros y sus combinaciones del chip. y luego escribir y leer valores, nada más. Esto simplemente está familiarizado con algunas funciones de io. Entonces, ¿qué se necesita para dominar la programación? ¿Cómo se puede llegar a ser competente en programación? Por ejemplo: hay 10 personas frente a ti y encuentras una persona llamada "Zhang San", ¿qué debes hacer? El primer método: preguntar directamente a estas 10 personas: "¿Quién es Zhang San?" Método 2: Le preguntas a cada persona "¿Eres Zhang San?" hasta que la persona a la que le preguntas es Zhang San. El tercer método: ve y pregunta a cada persona una por una: "¿Reconoces a Zhang San? Indícamelo". No subestimes esta pregunta. Dijiste que por supuesto elegirías el primer método. Sí, felicitaciones por tu respuesta correcta, porque este método es el más rápido y eficiente. Sin embargo, encontrar el método óptimo para resolver el problema en programación. significa que no lo eres. Es una señal importante que pone a prueba el nivel de programación de un programador y no es fácil de lograr. El problema de ahora es similar al de las estructuras de datos y algoritmos: estructura de datos del mapa, búsqueda exhaustiva y búsqueda binaria. Por tanto, dominar las estructuras de datos y algunos algoritmos comunes es el camino inevitable para llegar a la cima. Finalmente, me gustaría recomendar la "Estructura de datos" de Yan Weimin de Tsinghua University Press. Espero que todos los que quieran convertirse en maestros de programación lean este libro. [Editor: Zhao Jinjun]
Segundo, métodos de aprendizaje de idiomas
¡Hablemos de mis métodos de aprendizaje y demos algunas ideas!
No importa cómo aprendas, eventualmente podrás aprenderlo sin importar el método. Pero otros lo aprendieron en un mes, pero a usted le llevó 100 años aprenderlo. :) Por lo tanto, el aprendizaje todavía requiere métodos. Si estudias correctamente obtendrás el doble de resultado con la mitad de esfuerzo; si estudias incorrectamente, obtendrás el doble de resultado con la mitad de esfuerzo.
¿Cuál es el atajo para aprender el lenguaje C? Mi respuesta es leer libros. Lo que está escrito en el libro está escrito por predecesores con décadas de experiencia. Leer diez libros equivale a absorber décadas de habilidades de sus predecesores, y su fuerza interna también aumentará rápidamente con un Jiazi. :) Por supuesto, debes leer buenos libros. Sólo los buenos libros son nutritivos. Suponga que pasa un día leyendo un libro de mala calidad y, aunque el conocimiento presentado en el libro es completamente nuevo para usted, debido a una organización inadecuada o una profundidad insuficiente en el libro, obtiene muy poca nutrición y aún está confundido. Es mejor estudiarlo. solo en un día. No vale la pena leer este tipo de libros. ¿Qué buenos libros debería leer para aprender el lenguaje C? Creo que primero deberíamos leer una base sólida de libros básicos, como los cuatro libros presentados en "Cuatro libros y cinco clásicos del lenguaje C". (Aunque muchos de estos libros están agotados, creo que la versión electrónica también es muy beneficiosa. Además, si realmente quieres leerlo, estoy seguro de que tendrás una manera de conseguirlo). Leerás estos libros en poco tiempo Terminado (por ejemplo, uno o dos meses), depende de su base y comprensión. ¿Qué libros debería leer a continuación? También podría enumerar algunos más.
Debe leer "El lenguaje de programación C" de Bjarne Stroustrup. Las definiciones de algunos conceptos básicos de C en este libro son más completas y detalladas que cualquier otro libro en lenguaje C que haya visto, "El diseño y la evolución de C" de Bjarne Stroustrup ( El diseño y la evolución de C) y las "Interfaces C y técnicas de implementación para la creación de software reutilizable" de David R. Hanson (Interfaces C y técnicas de implementación para la creación de software reutilizable) deben ser Debe leer que estos dos libros describen cómo usar C para implementar manejo de excepciones, encapsulación y extensión de tipos y otras tecnologías avanzadas que se utilizan a menudo en proyectos grandes. Para otros libros, debería leer sobre sistemas operativos, principios de compilación, algoritmos y patrones. Al leer miles de volúmenes, la codificación es como un dios. En definitiva, es como se dice en "Zhuan": "Los que nacen sabiendo son los mejores; los que saben aprendiendo son los segundos; los que aprenden cuando están estancados son los segundos". aprendemos por las dificultades, pero debemos hacerlo. Los soldados y los caballos no se han movido, pero la comida y el pasto van primero.
Leer libros es la guía para aprender. Los libros pueden presentar claramente los conceptos uno por uno, pero los libros no pueden presentarle los detalles de las aplicaciones una por una, porque las aplicaciones siempre son complicadas y cambiantes. Por lo tanto, si queremos familiarizarnos con los trucos y entender cómo usarlos como se describe en el libro, debemos leer más códigos fuente. Cuando Linus responde preguntas a otros, a menudo dice Lea el maldito código fuente; Hou Jie también mencionó en su artículo que "antes del código fuente, no hay secretos". El código fuente es como una animación o una presentación de diapositivas, que muestra los movimientos del libro uno por uno. Se puede decir que la mayor parte de la experiencia de los expertos proviene del código. El código fuente es el mismo que el del libro. Debes mirar los buenos y no los malos. Aquí, recomiendo mirar el código fuente del kernel de Linux y el código fuente tcp/ip de Linux. Ambos conjuntos de códigos son de código abierto y están fácilmente disponibles. Además, también puede cooperar con "Sistemas operativos: diseño e implementación" de Andrew S. Tanenbaum, "Análisis de escenarios de código fuente del kernel de Linux" de Mao Decao y Hu Ximing, Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman es coautor de "Linux Device Driver" (Linux Device Driver, 3e), W.Richard Stevens "Explicación detallada de TCP/IP (3 partes)" (TCP/IP ilustrado), W.Richard Stevens "Programación avanzada en UNIX Environment" (Programación avanzada en el entorno UNIX (la nueva versión agrega el contenido del kernel de Linux) y otros libros, es muy conveniente. Por supuesto, el programa no se ve, sino que se escribe. Cuando estaba en la escuela secundaria, insistí en escribir programas durante 6 horas al día. Repetí ejercicios sobre "Estructura de datos", permutación y combinación y teoría de grafos N veces. Aunque ya han pasado dos años y muchos de los contenidos se han olvidado hace mucho tiempo, esto ha cultivado mis sólidas habilidades de codificación y depuración, lo que sigue siendo de gran ayuda para mi trabajo hasta ahora.
Aprenda a evitar ser codicioso por demasiado, ser impetuoso, estar ansioso por un éxito rápido y ser arrogante. Haga su plan de estudio más largo, desarrolle un buen método de aprendizaje, hágalo lentamente paso a paso y eventualmente se convertirá en un maestro.
C es la base del lenguaje de programación. ¡Se recomienda comenzar con C! Además, escuché que la mayoría de los piratas informáticos son fanáticos acérrimos del lenguaje C. Escuché esto en ese momento, ¡así que seguí aprendiendo C! ¡Es esta creencia la que me hace persistir en aprender, dominar y dominar! ¡Espero que todos crean en sus corazones cuando aprendan lenguajes de programación!