¿Es bueno aprender a programar?
Si solo quieres divertirte y hacer algo pequeño. Simplemente aprenda Java, luego compre algunos tutoriales de ejemplo y practique lentamente.
Si quieres estudiar de forma sistemática. Dime lo que pienso. Tienes que tener una meta, y lo que aprendes es en lo que te conviertes. No hablemos de competencia. Wen Wu es el mejor. Si dices que eres competente, siempre habrá algunos tipos grandes que te levantarán y te despreciarán.
Entonces, ¿qué es empezar? Tengo entendido que cuando ves un programa existente y piensas en él, generalmente puedes entender cómo se implementa. Por supuesto, no es necesario que lo comprenda completamente, es poco probable, pero si escribe un programa similar basado en este programa, no se quedará sin ideas. En este punto ya estás casi listo. Para decirlo sin rodeos, la imitación es la primera etapa del aprendizaje. No hay necesidad de innovar, sólo hay que mirar las cosas existentes e imitarlas. Sólo imitando se puede llegar más lejos. Sin embargo, esta imitación no es para que copie el código, sino una caja negra. No es necesario que seas exactamente igual, siempre y cuando tengas una idea general que puedas implementar.
Así que para lograr esta entrada es necesario una serie de aprendizajes sistemáticos. Aquellos que usan ejemplos para aprender sólo pueden aprender la superficie. Siempre hay cosas que no has visto antes, así que lo que necesitas aprender es la esencia y el principio. Por supuesto, es posible pasar de lo menos profundo a lo más profundo a través de ejemplos, pero no se puede ignorar lo básico.
Programación y teoría son dos líneas, pero estas dos líneas están asociadas. Muchos principiantes no saben aprender, por lo que es necesario tomar una clase profesional, al menos para que sea práctico.
Entonces me refiero a este proceso de aprendizaje. En primer lugar, debes elegir un lenguaje de programación. Si eres el tipo de persona que está dispuesta a soportar las dificultades y la soledad, te sugiero que comiences a aprender de C. ¿Por qué dices eso? Debido a que C es de nivel relativamente bajo, si quieres usar C para desarrollar algunos programas interesantes, especialmente aquellos con GUI, no es solo una ilusión, al menos será muy agotador. Sin embargo, la ventaja de C es que su sintaxis es simple. Después de aprender bien C, puede implementar estructuras de datos y algoritmos en el nivel superior y usarlo para estudiar el sistema operativo en el nivel inferior. Puede considerarse un lenguaje relativamente versátil. durante el periodo de aprendizaje. Si está ansioso por tener éxito y desea crear pequeños programas significativos en poco tiempo, aprenda Java. Java tiene muchas bibliotecas, lo que facilita la escritura de un programa con una GUI. Y tarde o temprano tendrás que tener pensamientos OO.
Al mismo tiempo, fui a estudiar teoría, como matemáticas discretas, estructura de computadoras, estructura de datos y algoritmos, una por una.
En este momento, puede aprender lenguaje ensamblador y máquina. Esto no es para decirle qué hacer con el ensamblador, sino para permitirle comprender el principio de funcionamiento de la CPU y luego intentar usarlo. y xor usted mismo. Para este tipo de original, debe diseñar una CPU usted mismo. En realidad, no le pide que construya una CPU física, sino que simplemente dibuje un diagrama de circuito. Cuando comprenda el principio de funcionamiento de la CPU, de repente se sentirá iluminado al ver que la computadora es tan sofisticada.
Después de eso podrás comenzar a aprender los principios de los sistemas operativos. En este momento, puede instalar Linux y familiarizarse con esas llamadas al sistema. Estudie la estructura del archivo, etc. ¿Envidias a los mayores que escribían comandos en el shell esos días? De hecho, no son nada difíciles. Una vez que se familiarice con ellos, sentirá que Windows no es adecuado para la programación. Mucha gente dice que Windows es bueno para escribir programas y VS es un artefacto IDE o algo así. Pero si no existiera VS, ¿alguien seguiría usando Windows para escribir programas? Entonces, en lugar de decir que Windows es bueno, dicen que VS es bueno y que Windows es sólo un accesorio. Linux es mucho más informal para lenguajes como C, cuando no hay una biblioteca disponible, no importa si hay un IDE o no. Pero para un lenguaje pervertido como Java, no puedo usar software como VIM para escribirlo de todos modos y estoy agotado.
Al aprender el sistema, es necesario aprender el procesamiento paralelo y el control de subprocesos, en paralelo y concurrente. La CPU de una computadora solo tiene unos pocos núcleos, o incluso un solo núcleo. Pero la computadora ejecuta muchos programas al mismo tiempo, confiando en la función de procesamiento paralelo del sistema operativo. Aprenderlos es útil.
Hay muchas cosas que se pueden aprender en el nivel superior. En el área de Red, puedes aprender protocolos como TCP, UDP o HTTP, y luego intentar escribir un servidor simple en C y monitorearlo. El puerto envía alguna información o algo así. También puedes escribirlo en Java, que es más fácil de hacer que C. Pero C está más cerca del sistema, porque Java usa una máquina virtual, después de todo, está separada por una capa.
Si estás interesado en los gráficos 3D, aprende OpenGL. C es suficiente para programas pequeños y sencillos. Es demasiado complicado, por lo que necesitas aprender C. De todos modos, realmente no me gusta C. Aunque es poderoso, su desarrollo es demasiado agotador, especialmente después de aprender Java. ¿Crees que C puede ser tan problemático? Pero si quieres hacer un desarrollo de bajo nivel, tienes que aprender C. Entonces depende de tu propio posicionamiento. Si no quieres profundizar, C es suficiente. Una vez que aprenda OpenGL, podrá apreciar las ventajas de Linux. Para configurar el entorno, simplemente busque algunos comandos en Internet y escríbalos. Cuando estaba tomando clases de gráficos, había terminado de escribir mi primera tarea, mientras mis compañeros que usaban Windows todavía estudiaban el entorno de configuración. Cuando pensaron que podrían demostrar las ventajas de VS después de configurarlo por primera vez, trágicamente descubrieron que necesitarían usar una o dos bibliotecas nuevas para cada tarea de este semestre. Así que solo podían mirarme melancólicos mientras tomaban café y escribían código.
Hay demasiadas ramas de la informática y hay muchas cosas que puedes aprender, como las bases de datos. De hecho, el lenguaje de la base de datos es muy simple. Si aprende MySQL, podrá hacerse una idea aproximada. Al mismo tiempo, puedes aprender desarrollo web. HTML, CSS y JS son el front-end. Hay demasiadas opciones para el back-end. Si eres bueno en Java, aprende JSP. . Sin mencionar los de Microsoft, Python también es bueno.
Hablando de eso, también necesitas aprender este lenguaje de programación. Python es una opción más común. Después de aprender Python, puede comparar C, Java y Python. Encontrará que los lenguajes de nivel inferior tienen menos funciones pero son muy convenientes para implementar esas estructuras básicas, como resultados de datos, etc. Cuanto más avanzado es el idioma, más funciones tiene. Todo está listo, pero las cosas básicas están ocultas. Es por eso que 10 líneas de Python y Java requieren 30 líneas o más. Pero el lenguaje subyacente es más rápido. Cuando se acostumbre a la eficiencia del desarrollo de Python, es posible que no toque otros lenguajes, pero esto no significa que no necesite aprenderlo desde el principio; de lo contrario, ¿cómo entendería los principios?
Cuando se trata de lenguajes de programación, debes aprender a desarrollar compiladores. El compilador es algo muy mágico, pero no puedes explicarlo claramente en una o dos oraciones. Compra este libro y estúdialo tú mismo. Esto también es muy práctico.
Casi has aprendido las cosas básicas aquí, pero el aprendizaje no tiene fin. Dado que la informática es una ciencia, no tiene fin, pero cuando comprendas y comprendas los conocimientos básicos, no lo será demasiado. Es difícil aprender cualquier conocimiento nuevo.