Idioma VC 6.0
Varios malentendidos
El afán de los principiantes por ponerse al día con la moda de C# es en realidad sólo uno de varios malentendidos que se encuentran a menudo en el proceso de aprendizaje. Usaré algunos ejemplos de la vida real para ilustrar estos fenómenos, y puedes seguirme para ver si has caído en uno o más de estos malentendidos:
Pensar que la tecnología informática es equivalente a la tecnología de programación:
Algunas personas tienen este impulso inconscientemente, incluso si no tienen esos pensamientos. Lo que me hace preguntarme es que muchos estudiantes de la Escuela de Tecnología de la Información también piensan de esta manera. Creen que los estudiantes de informática son estudiantes de programación y simplemente desdeñan los cursos que tienen poco o nada que ver con la programación. Algunos ni siquiera leen mientras la palabra "programación" no esté en el libro.
De hecho, la programación es sólo una labor mínimamente compleja en la aplicación de la tecnología informática. Es por eso que la capa inferior de la industria de TI son los 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. La programación es simplemente el proceso de expresar algoritmos en la investigación teórica o en la práctica de la ingeniería utilizando estas tecnologías específicas. Los programadores no necesariamente tienen un alto nivel de comprensión de la tecnología informática. Un fenómeno interesante es que muchos expertos en investigación en tecnología informática no saben programar. La publicidad en Internet y las oportunidades laborales en el mundo real desmitifican el trabajo de la programación. De hecho, cada programador sabe en su corazón que aprender estas cosas por sí mismo no es más difícil que otras especialidades. Naturalmente, no podrá alcanzar un nivel superior.
Siempre ha sido nuestro estilo ser prolijo:
He visto el libro de texto "Principios de redes informáticas" de una niña. La niña era como una estudiante de escuela primaria. comentarios y anotaciones horizontales. Sí, el libro de texto impreso debe ser más grueso que esto. Lo que no entiendo es, ¿es necesario tomar notas para un curso como "Principios de redes informáticas"? De hecho, nuestra educación orientada a los exámenes ha perjudicado a muchos estudiantes. Muchos estudiantes memorizan los principios de las redes informáticas del mismo modo que aprenden los principios del marxismo-leninismo. Este es el comportamiento más estúpido que he visto jamás. El llamado "principio" es comprender por qué hace lo que hace. Lo que se aprende es POR QUÉ, no CÓMO. Los estudiantes extremadamente concienzudos memorizan la longitud máxima del cable Ethernet, la longitud de la trama 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 de TCP/IP. protocolo. En resumen, muchas personas dedican mucho tiempo a memorizar pero no aprenden nada.
A estos estudiantes les pasará lo mismo cuando aprendan a programar. Memorizarán cada detalle de la sintaxis de C. Leí tutoriales de C, "Pensar en C" (realmente un buen libro), "Dentro de C", "Referencia de C", este C, ese C..., además de información diversa sobre la gramática de C en Internet. , Me di cuenta de que había olvidado algo de sintaxis de C, así que finalmente volví y seguí inventando... Uno de mis alumnos más jóvenes me dijo: "C es demasiado difícil. Después de aprender esto, olvídate de aquello. Después de aprender, seguirás olvidándote de la plantilla". Le respondí: "Sería fácil si no aprendes". No le enseñé cosas malas, solo le dije que ceñirse a la gramática de C no tiene tanto sentido como Kong Yiji mostrando cuántas formas de escribir frijoles de hinojo.
No es necesario que preste demasiada atención a la sintaxis de C, solo necesita programar. Si hay algo que no recuerda, simplemente consulte MSDN y lo comprenderá de inmediato. Llegué a la conclusión de que en el mundo real del desarrollo, el conocimiento de la sintaxis del programa es lo menos importante. Es por eso que cuando escribí un pequeño programa para un compañero de clase en Básico (que nunca había aprendido antes), solo dediqué media hora a mirar la sintaxis, luego otra media hora para completar el programa, y una hora después lo tenía completamente. olvidado Todas las palabras clave de Basic.
Perseguir ciegamente la tecnología de moda ignorando las cosas más básicas:
Finalmente, vamos al grano. La mayoría de la gente quiere que sus cosas funcionen instantáneamente y se conviertan en dinero. Esta idea tiene sentido para programadores o gerentes de proyectos que ya han ingresado al lugar de trabajo, porque la tecnología de TI se está desarrollando tan rápido que no mantenerse al día significa perder el trabajo. 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 a esta industria para competir es que tiene tiempo suficiente para concentrarse en estudiar cosas básicas y aprender por qué en lugar de cómo hacerlo. "Las tecnologías de moda suelen ser fáciles de dominar y cada vez son más fáciles de dominar. Esto es el resultado de los intereses comerciales que impulsan el objetivo de minimizar los costos de desarrollo de software", dijo un principiante. Pero la realidad en la industria de TI es que cuanto más fácil es dominar algo, más gente lo aprende y más rápido se vuelve obsoleto. Cada vez que aparece una nueva tecnología, una gran cantidad de principiantes la seguirán. Estos principiantes pasan mucho tiempo en el proceso de seguimiento porque carecen de los conocimientos básicos necesarios. Cuando la aprendan, la tecnología será casi muy útil. obsoleto. Los cursos básicos como estructuras de datos y principios de sistemas operativos no te permitirán implementar Linux inmediatamente (por eso mucha gente se ríe de la inutilidad de los cursos teóricos), pero pueden reducir en gran medida la pendiente de la curva de aprendizaje cuando aprendes una nueva tecnología. . Incluso son indispensables para muchas tecnologías clave, como la programación Win32 SDK y la programación DDK.
Uno de mis compañeros y yo somos un ejemplo vivo. Si bien no pude encontrar el botón de inicio en mi primer año, él ya sabía cómo escribir algunos programas ensambladores simples. Pasé todo mi segundo año aprendiendo ensamblaje, arquitectura de computadoras, estructuras de datos, principios de sistemas operativos, etc., mientras él comenzaba a aprender HTML y VB, y daba clases particulares en ASP. En mi tercer año, comencé a aprender los principios del sistema operativo Windows y la programación de SDK, lo cual fue un proceso largo para mí, y fue a partir de entonces que pude usar VC para desarrollar aplicaciones decentes. Cuando todavía estaba aprendiendo a crear cuadros de diálogo, los programas de mis compañeros ya estaban ejecutándose. Esto solía molestarme, pero después de graduarme me di cuenta de que había tomado la decisión correcta. La empresa con la que estaba negociando me ofreció más del doble de su salario. Aquí hay una metáfora 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 vuelves a aprender VC, el tiempo no se acortará, sigue siendo 1 año; por el contrario, si aprendes VC primero y luego vuelves a aprender VB, es posible que solo sea 1 año; Tómese 1 semana para dominarlo de manera muy competente.
Varios cursos básicos importantes
Si eres estudiante, o si tienes tiempo suficiente. Le recomiendo que domine cuidadosamente el siguiente contenido. Mi consejo es principalmente para principiantes que quieran hacer carrera en la industria de TI. Además, he enumerado algunos títulos que aún deberían estar disponibles en las librerías. Para ser honesto, cuando leo los artículos de otras personas, mi mayor deseo es que el autor haga una lista de libros.
Inglés universitario: no lo encuentres divertido. Recomiendo mucho este curso porque la capacidad de leer sin literatura profesional es impensable. Las traducciones al chino a menudo no salen hasta el Año del Mono. Ahora muchas editoriales simplemente imprimen la versión E. La forma de aprender es obligarse a leer el libro de texto original. Si es un principiante, no lo entenderá y, naturalmente, dominará su uso. Sólo soportando las dificultades uno puede convertirse en un maestro. Esta es definitivamente una cualidad necesaria en cualquier industria.
Arquitectura informática y lenguaje ensamblador: hay libros sobre arquitectura por todas partes, todos 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 en modo protegido posterior a 386. De lo contrario, cuando aprenda algunas cosas básicas sobre los sistemas operativos modernos, se sentirá como si estuviera volando en el cielo.
Principios de los sistemas operativos informáticos: nuestro desarrollo siempre se realiza en un sistema operativo específico. Si no, solo existe una posibilidad: usted mismo está implementando un sistema operativo. En cualquier caso, Principios del sistema operativo es una lectura obligada. Esto es como cuando fabricamos periféricos para un chip, debemos comprender la sincronización básica del chip. Hay muchos libros de este tipo y no creo que ninguno de ellos sea sobresaliente. Simplemente creo que después de leer estos libros, si tienes tiempo, deberías leer "Dentro de Windows 2000" (Microsoft Press, leí la versión electrónica del libro, el título chino debería ser "Windows 2000 Technology Insider" o algo así. ). La necesidad de aprenderlo se ha discutido en otro artículo de ZDNET.
Estructura de datos y algoritmo: este curso es el curso básico que determina el nivel de programación de una persona. Mi primera opción es la versión Tsinghua (Zhu Chaoli, Liu Tianshi). A muchas personas les gusta comprar la versión C, pero creo que no es necesario; la sintaxis de C hace que la implementación del algoritmo sea mucho más complicada y a muchos profesores les gusta usar módulos para complicar el algoritmo. Por el contrario, es mejor explorar la versión C del libro después de aprender la versión C.
"Ingeniería de software": este es uno de esos cursos que se vuelve cada vez más importante cuanto más profundizas en él, aunque al principio sea tan confuso como ver a Mazzei. Mi sugerencia es leer "Ingeniería de software práctica" (Libro amarillo de Tsinghua). No pierda demasiado tiempo memorizando reglas y regulaciones y saltándolas si no las comprende. Revise y revise cada vez que complete una tarea de diseño de software (ya sea práctica o trabajo), y siempre obtendrá algo.
"Programación de Windows" - Peking University Press, Petzold Recomiendo que cualquiera que intente diseñar programas de Windows estudie detenidamente este libro antes de aprender VC. Recomiendo que cualquiera que intente diseñar programas de Windows lea este libro detenidamente antes de aprender VC, y que el libro anterior, "Inside Windows 2000", se lea mejor después de este libro. En este libro, no hay C, ni GUI, ni controles. Todo lo que tienes es cómo utilizar el lenguaje C original para completar la programación de Windows. Después de leer este libro, descubrirá que en realidad es muy fácil comenzar con VC. No esté ansioso por lograr un éxito rápido y aprender VC sin leer este libro. Es mejor ni siquiera tocarlo. Hasta donde yo sé, muchas de las mejores escuelas incluso utilizan este libro como libro de texto. Esto demuestra lo importante que es este libro.
Creo que los cursos anteriores son muy importantes (si quieres convertirte en programador de Windows).
En cuanto a otros cursos, aquí tienes una opción sencilla: si te especializas en informática, toma todos los cursos básicos de tu especialidad. En caso contrario, consulte el calendario de cursos del Departamento de Informática. Si se encuentra leyendo un libro y no puede avanzar más, vaya al final del libro, mire las referencias que contiene, búsquelas, estúdielas y luego regrese al libro. Si un libro tiene la palabra "Principios" en su título, no debes memorizar los detalles sino dominar sus puntos principales a un ritmo de al menos 50 páginas por día. Practique la teoría o el algoritmo en una computadora tanto como sea 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.
Lee tres veces al día
Es fácil perderse si lees demasiados libros cada día. Asegúrate de pensar en lo que has aprendido cada noche, qué conocimientos relevantes aún necesitas dominar, qué es lo que más te interesa, si dedicas demasiado tiempo a un libro o no el suficiente, etc.
También debe pensar en las aplicaciones que tienen más probabilidades de surgir en el futuro, de modo que no esté persiguiendo tendencias tecnológicas sino liderándolas. Al mismo tiempo, intenta utilizar las técnicas y teorías que ya dominas para crear cosas nuevas. Hacer esto de manera constante lo convertirá en un "desarrollador" de software en lugar de simplemente un programador.
Dedica más tiempo a estudiar
Este es el último consejo para principiantes. Intenta reducir la cantidad de tiempo que pasas jugando CS o CS por semana, preferiblemente nada. Al mismo tiempo, si sus habilidades ASP le han permitido ganar dinero, e incluso una empresa le ha pedido que haga un trabajo a tiempo parcial, esto demuestra que sus talentos pueden garantizar que obtendrá mejores rendimientos después de estudiar mucho. y deberías estudiar algo más complejo. Piensa a largo plazo. Esto se aplica sin importar quién seas.
Creo que ya puedes decidir si aprender C# o cuándo.