¿Quién sabe programación?
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 gracioso que muchos usuarios de BBS que no entienden de qué hablan los punteros en C# puedan usarlos sin ningún problema. C # es como ASP en ese entonces. "De repente, llega una brisa primaveral de la noche a la mañana y miles de perales florecen. Como resultado, las facultades de información de muchas escuelas se han convertido en "universidades web". Muchos estudiantes universitarios de los grados 1996 y 1997 están trabajando 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 solo uno de varios malentendidos que se encuentran a menudo 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:
Incluso si algunas personas no tienen esta idea, todavía tienen ese impulso subconscientemente. Lo que me hace preguntarme es que muchos estudiantes de la Escuela de Información también tienen esos pensamientos. Él piensa que la especialización en informática es la especialización en programación e ignora 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 solo una labor con la 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 solo el proceso de expresión de 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.
Estilo detallado de Kong Jiji:
He visto el libro de texto de una niña "Principios de redes informáticas". Esta niña, como una estudiante de primaria, llenó el libro con guiones y notas. tan bien hecho que al imprimirlo debe ser más grueso que el libro de texto. 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 en mi vida. 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++, aquel C++..., y luego varias anécdotas sobre la sintaxis de C++ en Internet. , Luego 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á, después de aprender la herencia, olvídate de las plantillas". Mi respuesta fue: "Sería fácil si no lo aprendes". No le enseñé cosas malas, sólo le dije que ceñirse a la sintaxis de 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, simplemente 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.
Ignorando lo básico y persiguiendo ciegamente la última tecnología:
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 suelen ser fáciles de dominar, y cada vez es más fácil hacerlo gracias a 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. . de 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 cursos como ensamblaje, arquitectura de computadoras, estructura 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 de SDK. Me llevó mucho tiempo y luego pude desarrollar aplicaciones decentes usando VC. Una vez me molesté porque los programas de mis compañeros ya estaban ejecutándose mientras yo todavía estaba aprendiendo a crear cuadros de diálogo. Sin embargo, sólo después de graduarme 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 reducirá, sigue siendo 1 año. Por otro lado, si aprendes este último primero y luego aprendes VB, es posible que puedas aprender mucho. de manera competente en sólo 1 semana.
Varios cursos básicos importantes
Si eres estudiante, o si tienes tiempo suficiente. 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 aún 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 suelen aparecer en el Año del Mono y el Caballo, pero muchas editoriales ahora 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 esté aprendiendo 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. En cualquier caso, los principios del sistema operativo son 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 las reglas 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++, 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 puede leer muchas reseñas de libros en CSDN. Estas reseñas de libros pueden ayudarle a decidir qué tipo de libros leer.
Examínate 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. Persistir en hacer esto le permitirá convertirse verdaderamente en un "desarrollador" de software en lugar de simplemente un CODIFICADOR.
Dedica la mayor parte de tu tiempo a estudiar
Este es el consejo final 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.
Adopta una visión a largo plazo, esto es aplicable a todos.
Si aún no lo sabes, ¡agrégame y te enseñaré poco a poco!