¿Qué tipo de conocimientos de programación es mejor aprender?
Siempre he creído que para un principiante, es imposible ponerse al día con las tendencias tecnológicas en la industria de TI y no hay posibilidad de ponerse al día. A menudo veo a mis DDMM tirando sus libros de texto y vendiendo tomos caros como C# y VB.Net, lo que me entristece mucho.
Me parece curioso que muchos usuarios de BBS que no entienden de qué hablan los punteros en C# puedan prescindir de los punteros. C Al igual que la ASP en aquel entonces, "de repente llegó una brisa primaveral durante la noche y miles de perales florecieron. Como resultado, las facultades de información de muchas escuelas se convirtieron en "universidades web".
Muchos estudiantes universitarios que se graduaron en 1996 y 1997 se han puesto a trabajar en la Web. Por supuesto, no tengo intención de discriminar a ninguna industria en particular. Simplemente creo que si dedican más tiempo a cursos básicos para ponerse al día con estas tecnologías de moda, podrán llegar más lejos. Varios malentendidos
La búsqueda de la tendencia C por parte de los principiantes es en realidad sólo uno de varios malentendidos que a menudo se encuentran en el proceso de aprendizaje. Usaré algunos ejemplos prácticos para ilustrar estos fenómenos. Puedes ver paso a paso si perteneces a uno o más de ellos:
Piensa que la tecnología informática es igual a la tecnología de programación:
Algunas personas tienen ese impulso inconscientemente incluso si no tienen esta idea. Lo que me hace preguntarme es que muchos estudiantes de la Escuela de Información también tienen esos pensamientos. Los estudiantes que creen que las carreras de informática son carreras de programación e ignoran todos los cursos que no tienen nada que ver con la programación o que no son muy relevantes, los estudiantes extremos no leerán mientras la palabra "programación" no esté en el libro.
De hecho, la programación es sólo el trabajo de menor complejidad en la aplicación de la tecnología informática. Es por eso que las personas en la base de la industria de TI son programadores (CODER). La tecnología informática incluye multimedia, redes informáticas, inteligencia artificial, reconocimiento de patrones, sistemas de información de gestión, etc.
El trabajo de programación es simplemente el proceso de expresar algoritmos en el proceso de investigación teórica o práctica de ingeniería de estas tecnologías específicas. Las personas que programan no necesariamente tienen un alto nivel de comprensión de la tecnología informática. Un fenómeno interesante es que muchos investigadores de tecnología informática con nivel de maestría no entienden de programación. Las exageraciones en línea y la buena remuneración laboral en realidad han desmitificado el trabajo de la programación. De hecho, cada programador sabe en su corazón que aprender estas cosas no es más difícil que otras especialidades, por lo que, naturalmente, no será de alto nivel.
El estilo de palabras arrogantes de Kong Yiji:
He visto el libro de texto de una niña "Principios de redes informáticas". Esta niña marcó el libro como una estudiante de primaria y tomó notas. y debe ser más grueso que el libro de texto al imprimir. Lo que no entiendo es si es necesario tomar notas para un curso como Principios de redes informáticas. De hecho, nuestra educación basada en exámenes ha perjudicado a muchos estudiantes. Cuando toman cursos como "Principios", muchos estudiantes los recitan y memorizan palabra por palabra como si estuvieran aprendiendo "Los principios del marxismo-leninismo".
Este es el comportamiento más estúpido que he visto jamás. El llamado "principio" significa que es necesario comprender por qué hace lo que hace y aprender por qué, no cómo. Los estudiantes extremadamente serios memorizan la longitud máxima de los cables Ethernet, la longitud de las tramas de datos, el significado de cada campo, el formato del encabezado IP, etc., pero olvidan los principios de enrutamiento y el propósito del diseño del protocolo TCP/IP. . En resumen, muchas personas pasan mucho tiempo memorizando libros pero no aprenden nada.
Lo mismo ocurre con estos estudiantes cuando aprenden a programar. Recuerdan exactamente cada detalle de la sintaxis de C. Después de leer el tutorial de C, leí "Pensar en C" (realmente un buen libro), "Dentro de C", "Referencia de C", este C, ese C..., y luego varias anécdotas sobre la sintaxis de C en Internet. Descubrí que había olvidado parte de la sintaxis de C y finalmente volví para compensarla... Un compañero de estudios junior me dijo: "C es demasiado difícil. Después de aprender aquí, olvídate de allí y continúa aprendiendo y olvida la plantilla". Mi respuesta fue: "Será fácil si no la aprendes".
No le enseñé cosas malas, solo le dije que la gramática de ceñirse a C no tiene tanto sentido como Kong Yiji mostrando las diversas formas de escribir la palabra hinojo para los frijoles de hinojo. No necesita preocuparse demasiado por la sintaxis de C, simplemente comience a programar. Si no recuerda nada, busque MSDN y descúbralo de inmediato. He llegado a la conclusión de que comprender la sintaxis del programa es el conocimiento más trivial en el proceso de desarrollo real. Es por eso que cuando escribí un pequeño programa para mis compañeros en Básico (nunca lo había aprendido antes), solo pasé media hora mirando la sintaxis, luego otra media hora para completar el programa, y una hora más tarde nuevamente. Olvidé por completo todas las palabras clave de Basic.
Independientemente de lo básico, persiguiendo ciegamente la tecnología de moda:
Finalmente, hice clic en el tema. La mayoría de la gente espera que sus cosas puedan convertirse en dinero de inmediato. Esta idea es razonable para un programador o director de proyectos que ha ingresado al campo profesional, y la tecnología de TI avanza tan rápido que si no hace un seguimiento, quedará desempleado. Pero para los principiantes (especialmente los estudiantes universitarios con mucho tiempo), esta idea resulta desconcertante. El mayor capital de un principiante que no ha entrado en la competencia de la industria es que tiene tiempo suficiente para establecerse y aprender cosas básicas, y aprender por qué en lugar de cómo. Las tecnologías de moda son a menudo fáciles de dominar, y cada vez son más fáciles de dominar. Esto está impulsado por intereses comerciales, con el fin de minimizar el coste del desarrollo de software. Pero la realidad en el campo de las TI es la siguiente: cuanto más fácil sea dominar algo, más gente lo aprenderá y más rápido se eliminará. Cada vez que aparece una nueva tecnología, muchos principiantes la siguen. Estos principiantes pasan mucho tiempo en el proceso de seguimiento porque carecen de la base necesaria para cuando la aprendan. Aunque los cursos básicos, como estructuras de datos, principios de sistemas operativos, etc., no pueden permitirle implementar Linux de inmediato (es por eso que mucha gente se ríe de la inutilidad de los cursos teóricos), pueden reducir significativamente su curva de aprendizaje al aprender nuevas tecnologías. pendiente. E incluso es indispensable para muchas tecnologías clave (como el diseño de programas Win32 SDK y la programación DDK).
Un ejemplo vivo es uno de mis compañeros de clase y yo. Cuando era estudiante de primer año, no podía encontrar el botón de encendido, pero él ya podía escribir algunos programas ensambladores simples. Pasé todo mi segundo año estudiando ensamblaje, arquitectura de computadoras, estructuras de datos, principios de sistemas operativos, etc., mientras él comenzaba a aprender HTML y VB, y se ponía al día con la tendencia ASP. En mi tercer año, comencé a aprender los principios del sistema operativo Windows y la programación SDK. Me llevó mucho tiempo y luego pude desarrollar aplicaciones decentes usando VC. Una vez me molesté porque el programa de mi compañero de clase ya estaba funcionando mientras yo todavía estaba aprendiendo a crear cuadros de diálogo. Sin embargo, sólo cuando me gradué me di cuenta de lo correcta que era mi elección. La empresa con la que estaba negociando me ofrecía un salario que era más del doble del suyo. Aquí hay una analogía inapropiada: supongamos que se necesitan 4 meses para aprender programación VB y 1 año para aprender cursos básicos y programación VC. Entonces, si aprendes VB primero y luego aprendes este último, el tiempo no se acortará, seguirá siendo 1 año. Por otro lado, si aprendes esto último primero y luego aprendes VB, puedes llegar a ser muy competente. solo 1 semana. Algunas lecciones básicas importantes
Si eres estudiante o si tienes suficiente tiempo. Le sugiero que domine cuidadosamente los siguientes conocimientos. Mi consejo es para principiantes que quieran lograr algo en tecnología de TI. Al mismo tiempo, también he enumerado algunos libros. Estos libros todavía deberían estar disponibles en las librerías. Para ser honesto, mi mayor deseo al leer los artículos de otras personas es que el autor haga una lista de libros.
Inglés universitario: no seas gracioso. Recomiendo mucho este curso porque la capacidad de leer sin documentación profesional es inimaginable. Las traducciones al chino a menudo aparecen sólo en el Año del Mono y el Mes del Caballo, pero ahora muchas editoriales simplemente imprimen la versión E directamente. La forma de aprender es obligarse a leer el libro de texto original. Al principio no lo entenderá, pero se volverá más competente después de usarlo más. Ser capaz de soportar las dificultades y ser despiadado es definitivamente una cualidad necesaria en cualquier industria.
Arquitectura informática y lenguaje ensamblador: hay libros sobre arquitectura en todas partes y son similares, pero hay un libro muy bueno sobre ensamblador. "Tutorial de programación en lenguaje ensamblador 80x86" (Tsinghua University Press, cubierta negra, escrito por Yang Jiwen). Debe concentrarse en aprender la programación del modo protegido posterior a 386. De lo contrario, cuando aprenda algunas de las cosas subyacentes de los sistemas operativos modernos, sentirá que está leyendo un libro del cielo.
Principios de los sistemas operativos informáticos - Nuestro desarrollo siempre se realiza sobre un sistema operativo específico. En caso contrario, sólo existe una posibilidad: que usted mismo esté implementando un sistema operativo. De todos modos, Principios del sistema operativo es una lectura obligada. Esto es como cuando fabricamos dispositivos periféricos para un chip, debemos comprender la secuencia de funcionamiento básica del chip. Hay muchos libros en esta categoría, pero no he encontrado ninguno que destaque. Simplemente creo que después de leer estos libros, si tengo tiempo, debería leer "Dentro de Windows 2000" (Microsoft Press, leí la versión E, el título chino debe ser "Windows 2000 Technical Insider" o algo así). En cuanto a la necesidad de aprenderlo, otro artículo sobre ZDNET ya lo ha discutido.
Estructura de datos y algoritmo: este curso puede determinar el nivel de programación de una persona y es un curso básico. Mi primera opción es la versión Tsinghua (Zhu Zhanli, Liu Tianshi). A mucha gente le gusta comprar la versión C, pero no creo que sea necesario. La sintaxis de C hace que el proceso de implementación del algoritmo sea mucho más complicado y a muchos profesores les gusta usar módulos para hacer el algoritmo más complejo. Es mejor buscar la versión C del libro después de terminar la versión C.
Ingeniería de software: este curso se volvió cada vez más importante a medida que pasaba el tiempo, aunque era tan confuso como ver a Ma Zhe al principio. Mi sugerencia es leer "Ingeniería de software práctica" (Amarillo, Universidad de Tsinghua). No pierdas demasiado tiempo memorizando notas y saltándotelas si no las entiendes. Cada vez que completes una tarea de diseño de software (ya sea un ejercicio o un trabajo), la revisarás y ganarás algo cada vez.
Programación de Windows - "Peking University Press, por Petzold" Recomiendo que cualquiera que intente diseñar un programa de Windows lo estudie detenidamente antes de aprender VC. Y el libro anterior "Dentro de Windows 2000" se lee mejor al final de este libro.
En este libro no hay C, ni GUI ni controles. Algunos explican cómo utilizar el lenguaje C original para completar la programación de Windows. Después de aprenderlo, descubrirá que VC es realmente muy fácil de aprender. No aprenda VC de antemano antes de leer este libro. Es mejor no tocarlo en absoluto. Muchas escuelas prestigiosas que conozco incluso lo utilizan como material didáctico para la enseñanza. Esto demuestra su importancia.
Creo que los cursos anteriores son cursos importantes que se deben aprender (si quieres ser un programador de Windows).
Para otros cursos, existe este método de selección simple: si estás en el departamento de informática, aprende todos los cursos básicos de tu especialidad. De lo contrario, consulte el calendario de cursos del Departamento de informática. Si no puede continuar leyendo un libro, vaya al final del libro, mire sus referencias, encuéntrelas, estúdielas y luego regrese al libro. Si un libro tiene la palabra "principio" en su título, no debes memorizar los detalles. Debes dominar lo esencial a una velocidad de al menos 50 páginas por día. Practique una teoría o algoritmo en una computadora con la mayor frecuencia posible.
También puedes leer muchas reseñas de libros en CSDN. Estas reseñas de libros pueden ayudarle a decidir qué tipo de libros leer. Piensa en ti mismo tres veces al día.
Leer demasiados libros cada día puede hacer que la gente se pierda fácilmente. Debes pensar en lo que has aprendido cada noche, qué otras cosas relacionadas necesitas dominar, qué es lo que más te interesa, si dedicas demasiado tiempo a un libro o no lo suficiente, etc. Al mismo tiempo, también debería pensar más en las aplicaciones que tienen más probabilidades de aparecer en el futuro, para poder liderar la tendencia tecnológica en lugar de perseguirla.
Al mismo tiempo, nos esforzamos por utilizar las técnicas y teorías que ahora dominamos para crear algo nuevo e innovador. Insistir en hacer esto puede convertirlo en un verdadero "desarrollador" de software en lugar de simplemente un CODIFICADOR. Dedica más tiempo a estudiar
Este es el último consejo para principiantes. Comprime al mínimo el tiempo que dedicas a jugar SC o CS cada semana. Lo mejor es no jugarlos. Al mismo tiempo, si su tecnología ASP ya puede generar ingresos, o incluso una empresa le pide que trabaje a tiempo parcial, esto demuestra que su talento puede garantizar que obtendrá mejores ganancias después de estudiar mucho, y debería hacerlo más complejo. cosas. Adoptar una visión a largo plazo es aplicable a todos.
1. Aclare el propósito del aprendizaje.
Aprender a programar es muy útil para la mayoría del personal de la industria de TI. Aprender programación y convertirse en programador, desde un punto de vista personal, puede resolver los problemas encontrados en el uso del software, mejorar el software existente y agregar un peso importante a la búsqueda de un trabajo ideal, lo que es beneficioso para conseguir un buen puesto. en el camino; desde una perspectiva nacional, puede hacer las debidas contribuciones a la industria del software de China. Un excelente programador siempre será objeto de competencia. Aprender programación también puede ejercitar nuestro pensamiento y hacer que nuestro pensamiento lógico sea más riguroso. Si podemos seguir disfrutando de la diversión de la innovación, siempre tendremos la oportunidad de estar a la vanguardia de la alta tecnología, porque la programación en sí es un trabajo creativo. La era de la economía del conocimiento nos ha brindado oportunidades ilimitadas. Si queremos dominar verdaderamente la tecnología informática, hacer carrera en la industria de TI y marcar la diferencia, tener ciertas capacidades de programación es una condición y un requisito básico.
2. Establecer una buena base
Para aprender a programar es necesario tener una base determinada. Se pueden resumir los siguientes aspectos:
(1) La base. de las matemáticas comienza con el desarrollo de las computadoras y, a juzgar por la historia de la aplicación, los modelos matemáticos y la arquitectura de las computadoras fueron propuestos por matemáticos. Las primeras computadoras también fueron diseñadas para cálculos numéricos. Por lo tanto, para aprender bien informática, es necesario tener una cierta base matemática. El nivel de secundaria es suficiente para los graduados.
(2) Cultivo de la capacidad de pensamiento lógico Aprender a programar requiere un cierto nivel de capacidad de pensamiento lógico, y el cultivo de la "capacidad de pensamiento lógico" requiere una formación práctica a largo plazo. Para convertirse en un buen programador, lo más importante es dominar las ideas de programación. Para hacer esto, debemos acumular gradualmente mediante práctica repetida, observación, análisis, comparación y resumen. Por lo tanto, en el proceso de aprender a programar, no tenemos que esperar hasta comprender todo completamente antes de practicar. Siempre que comprendamos el esquema general, debemos atrevernos a experimentarlo nosotros mismos. Todo el mundo tiene una primera vez. Algunos problemas sólo pueden entenderse mediante la práctica, y sólo mediante la práctica el conocimiento de los profesores y los libros puede convertirse en suyo. Así es como los maestros logran el éxito.
(3) Elige un idioma básico adecuado. Frente a varios idiomas, ¿en qué orden debes aprenderlos? Las herramientas de programación incluyen las siguientes categorías: 1) Las herramientas de desarrollo de software de aplicaciones de desarrollo local incluyen: Visual Basic, Delphi, VC (C Builder), etc. Las herramientas de desarrollo de bases de datos incluyen: Visual Foxpro, Oracle Developer, Power Builder, etc. 2) Herramientas de desarrollo de desarrollo multiplataforma como Java, etc. 3) Para el desarrollo de redes, herramientas de desarrollo de clientes como Java Script, etc., herramientas de desarrollo de servidores como PHP, ASP, JSP, ISAPI, NSAPI, CGI, etc. Entre las diversas herramientas de desarrollo en los diferentes entornos anteriores, el método VB es simple y fácil de entender. El diseño de la interfaz es configurable y fácil de aprender y usar. Elegir VB como dirección de nivel inicial es más adecuado para estudiantes de primer año.
3. Presta atención a comprender algunos conceptos importantes
Lo que ves en un libro de programación no son más que conceptos como variables, funciones, declaraciones condicionales, declaraciones de bucle, etc. pero debe poder programar verdaderamente. La aplicación requiere una comprensión profunda de estos conceptos y su aplicación sobre la base de la comprensión. No simplemente aprenda gramática y estructuras, sino que comprenda a fondo los ejemplos de aplicación de estas gramáticas y estructuras, y haga inferencias. de un caso para establecer paralelos.
4. Dominar las ideas de programación
A la hora de aprender un lenguaje o herramienta de desarrollo, la estructura gramatical y las llamadas a funciones son secundarias. Lo más importante es aprender sus ideas. Por ejemplo, para aprender VC, necesitas aprender el mecanismo interno de Windows, qué es un hilo... para aprender COM, necesitas conocer VTALBE, fábrica de clases, interfaz, idl..., la clave es aprender. una especie de pensamiento, entonces podemos establecer paralelismos.
5. Más práctica y más comunicación
Para dominar las ideas de programación, debes practicarlas y experimentarlas en el trabajo de programación real. En la etapa inicial de la programación, a menudo debe diseñar el programa usted mismo. Al diseñar, no se ciña a una forma de pensar fija. Cuando encuentre problemas, piense en varias soluciones. Esto requiere más comunicación. Cada uno tiene diferentes formas de pensar, diferentes perspectivas y cada uno tiene sus propios trucos. A través de la comunicación, puedes absorber continuamente las fortalezas de los demás, enriquecer tu práctica de programación y ayudarte a ti mismo a mejorar tu nivel. La programación práctica es una manifestación de la aplicación del pensamiento creativo y una buena forma de cultivar el pensamiento lógico.
6. Desarrolla buenos hábitos de programación
No es difícil iniciarse en la programación, pero es muy importante seguir aprendiendo después de empezar, que es relativamente largo. Durante este período, debes prestar atención a desarrollar algunos buenos hábitos de programación. La calidad del estilo de programación afecta en gran medida la calidad del programa. Un buen estilo de programación puede hacer que la estructura del programa sea clara y razonable, y que el código del programa sea fácil de mantener. Como la disposición de la sangría del código, la coherencia de las reglas de comando variables, los comentarios del código, etc.
7. Aprenda programación en línea
Puede aprender muchas ideas, métodos, experiencias y técnicas de programación diferentes en línea. Hay una gran cantidad de herramientas, trabajos y materiales de entrenamiento relacionados para descargar. Por ejemplo, el sitio web "Programming Classroom" (/) proporciona artículos técnicos de programación ricos y prácticos, controles seleccionados, descargas de código fuente, exámenes de computadora, software relacionado y recomendaciones de libros de programación, etc.
8. Fortalecer el reaprendizaje de conocimientos teóricos informáticos.
Aprender a programar es un proceso cognitivo que se ajusta a "teoría → práctica → teoría → práctica nuevamente". Al principio, debes tener ciertos conocimientos básicos de teoría de la computación, incluidos los conocimientos matemáticos básicos necesarios para la programación. Una vez que tengas las condiciones básicas para ingresar, puedes comenzar a practicar la programación desde la práctica, puedes encontrar problemas que requieren un reaprendizaje. del conocimiento de la teoría informática. Cualquiera puede programar, pero cuando le resulta difícil mejorar después de un cierto nivel de programación, debe regresar y aprender algunas teorías básicas de informática y matemáticas. Después de aprender, muchos de los problemas encontrados antes se resolverán fácilmente, lo que hará que las personas se sientan repentinamente iluminadas. Por lo tanto, en el proceso de aprendizaje de programación, debemos estudiar constantemente los fundamentos teóricos de la informática como estructuras de datos, algoritmos, principios informáticos, principios de compilación, principios de sistemas operativos, ingeniería de software, lógica matemática, sistemas algebraicos, gráficos, etc. Resolver confusiones y problemas en aplicaciones. Conocimientos básicos de teoría matemática como teoría y matemáticas discretas. De esta manera, a través del aprendizaje continuo y la práctica intensa, el nivel de programación continuará mejorando a un nuevo nivel.