Cómo dominar rápidamente todos los lenguajes de programación
La primera es echar un vistazo aproximado a la gramática y comenzar a buscar información y practicar el aprendizaje;
La segunda es dedique mucho tiempo Tómese el tiempo para aprender todo el idioma, tenga un buen plan y luego comience a hacer el trabajo real. Sin embargo, ambos métodos tienen desventajas.
Por supuesto, el problema con el segundo método es obvio: no solo desperdicia tiempo y se desvía del objetivo, sino que también tiene una baja eficiencia de aprendizaje. Porque el aprendizaje de idiomas que no está impulsado por problemas prácticos no suele ser sólido ni profundo. Algunas personas aprenden a convertirse en expertos en idiomas pero olvidan que están aquí para resolver problemas.
El primer método también tiene problemas. Si no comprende el temperamento de este idioma, el código se reconstruirá de manera drástica y lo escrito definitivamente será inferior. Usar zapatos nuevos, caminar por el mismo camino de siempre, poner vino viejo en botellas nuevas son problemas menores. Lo realmente grave es que este tipo de programadores pueden acumular una gran cantidad de código basura lleno de defectos en un corto período de tiempo.
Debido a la limitada integridad de las pruebas en la etapa de desarrollo habitual, estos códigos basura a menudo pueden pasar por esta etapa y luego acechar, convirtiéndose en un cáncer para todo el proyecto en las etapas posteriores, provocando repetidamente la caída de los mantenedores posteriores. en dilemas de Sísifo.
De hecho, existen ciertas reglas a seguir en el aprendizaje de idiomas. Para los desarrolladores que dominan un idioma, pueden dominar el 50% de los idiomas más utilizados lo más rápido posible en unos pocos días a una semana y asegurarse de que el camino sea básicamente auténtico y sin desviaciones. De hecho, al escribir un programa, no tienes miedo de no entenderlo en absoluto, pero tienes miedo de utilizar un poco de conocimiento para guardar una solución.
Como simplemente no puedo hacerlo, naturalmente buscaré libros y estudiaré mucho. Si tengo una buena capacidad de aprendizaje, la calidad del código que escribo no será mala. Y con sólo un poco de conocimiento, si haces tu propio acero casero, básicamente será chatarra. Por ejemplo, el manejo de errores y la serialización. Muchas personas no entienden la "forma correcta", pero confían en sus propios pocos conocimientos para salvar la forma incorrecta.
Por lo tanto, incluso si el tiempo es escaso, primero debes comprender completamente estos contenidos. Después de dominar estos contenidos, ingresará al desarrollo real. Incluso si hay problemas, básicamente no dañarán el proyecto general. Los desarrolladores pueden tomarse su tiempo y mejorar en la práctica.
El siguiente es un esquema de aprendizaje, principalmente para personas experimentadas, no apto para principiantes. Este esquema solo se puede utilizar para el aprendizaje general de lenguajes de programación de bajo nivel. Los 20 lenguajes de programación más populares son básicamente lenguajes vulgares. Si desea aprender un lenguaje no vulgar como LISP o un lenguaje de desarrollo secundario en un determinado software, es posible que las sugerencias aquí no sean apropiadas. Nuevamente, solo como referencia.
1. 1. Comprender los tipos de datos básicos, la gramática básica y las principales estructuras del lenguaje, el uso de los principales operadores matemáticos y las funciones de impresión, y alcanzar el nivel de los ejercicios de matemáticas extraescolares de Tan Haoqiang. en libros de programación;
p>
2. En segundo lugar, domine el uso de clases de colección como matrices. Si tienes los conceptos básicos, podrás entender los genéricos. Si no puedes entenderlos, no es un gran problema. Puedes compensarlo más tarde.
3. Procesamiento de cadenas simple. La llamada simplicidad se refiere al contenido de Regex y Parser, como buscar y reemplazar, truncar cadenas, etc. Pero hay una dificultad en esta etapa, que es el problema de la codificación de caracteres. Si no lo comprende, puede omitirlo primero; de lo contrario, es mejor terminar este problema en este momento para evitar problemas futuros;
4. Las características de la programación básica orientada a objetos o funcional no son nada. más que herencia, polimorfismo y funciones Lambda, etc. Si tiene experiencia, lo comprenderá rápidamente;
5. Excepciones, manejo de errores, aserciones, soporte de registro y depuración y soporte de pruebas unitarias. No es necesario usar TDD, pero en este momento necesita dominar las habilidades básicas del uso de este lenguaje para hacer TDD;
6. El mecanismo de organización del código del programa y el código ejecutable, carga del módulo de tiempo de ejecución. y mecanismo de búsqueda de símbolos. Este es un punto difícil para los principiantes, porque la mayoría de los libros no prestan mucha atención a la introducción de este contenido extremadamente importante;
7. generalmente comparado Para partes complicadas, puede estudiar el esquema, aclarar los conceptos y simplemente buscarlo cuando lo use. En esta etapa, puede escribir la mayoría de las aplicaciones de consola;
8. ¿Cómo llama el lenguaje a métodos de devolución de llamada y admite modelos de programación basados en eventos? En los entornos de programación modernos, esta pregunta es una cuestión central que involucra el pensamiento de desarrollo. Casi todos los idiomas utilizan suficiente esfuerzo aquí, como delegado de.
NET, las clases internas anónimas de Java, los cierres de Java 7, tr1::function/bind de C++OX, etc. Si puede comprender completamente este problema, no solo el programa no estará demasiado fuera de forma, sino que también podrá comprender mejor las ideas de diseño del lenguaje;
9. Procesamiento XML en este momento, si no es necesario, omítalo;
10 Para la serialización y deserialización, solo necesita dominar el mecanismo predeterminado;
11, si es necesario. sobre subprocesos, concurrencia y mecanismos de llamadas asincrónicas. Lo principal es mirar el código de otras personas. Si desea escribir este tipo de código, debe tomarse el tiempo para estudiarlo de manera sistemática y estricta, y está estrictamente prohibido hacerlo a medias;
12. , mecanismos para convertir datos y programas, y mecanismos de ejecución y compilación en tiempo de ejecución. Los aspirantes a desarrolladores pueden trabajar más duro en esta área, lo que puede mejorar su comprensión del lenguaje a un nivel superior;
13 Si es necesario, no necesita dedicar demasiado tiempo a estudiar el impacto del lenguaje en los genéricos. Sí, siempre que pueda utilizar colecciones genéricas y funciones genéricas ya preparadas, puede tomarse el tiempo para estudiar el sistema en su tiempo libre. Cabe señalar que la tecnología genérica, como la tecnología de subprocesos múltiples, se convertirá en la fuente de todos los males si se usa incorrectamente. Debe aprenderse sistemáticamente y usarse con precaución; de lo contrario, es mejor no aprender;
14. Si aún tienes tiempo, lo mejor es consultar a personas experimentadas para entender cuáles son las características comunes de este idioma. Si no lo has aprendido antes, deberías ponerte al día. Como el interactor de bloques de Ruby, el proxy dinámico de Java, LINQ de C# 3 y métodos de extensión. Si no tienes tiempo, puedes aprender haciendo. No hay gran problema.
15. Si es necesario, puedo centrarme en dos temas después del trabajo. Uno es qué modismos y patrones tiene este lenguaje, y el otro es el mecanismo de ejecución de compilación/interpretación de este lenguaje.
En este punto se puede decir que se domina la parte básica del idioma. Después de eso, ya sea que esté trabajando en bases de datos, redes o gráficos, puede hacerlo de acuerdo con sus necesidades específicas. Encuentre el marco o biblioteca maduro correspondiente y aprenda mientras lo hace para profundizar su comprensión. Para un lenguaje vulgar, me llevará entre 2 y 3 semanas leer el contenido anterior. Aunque no es muy rápido, no puede retrasar demasiadas cosas. Después de todo, no es necesario aprender un nuevo idioma todos los meses.
Dominar el contenido anterior sentará una base sólida para practicar artes marciales. Aunque puede que no sea necesariamente excelente, definitivamente tiene sus raíces en Hong Miao y no habrá necesidad de hacer grandes desvíos en el futuro. Incluso si se trata de un lenguaje temporal, si se simplifica el esquema anterior, se puede completar en unos pocos días o una semana. No requiere demasiado tiempo y el código escrito no será demasiado poco confiable.