Cómo aprender a programar (Topografía y Mapeo)
Aprender a programar es como aprender otras cosas. Lo más importante es tener un propósito. Este propósito se refiere al campo de trabajo claro y a la naturaleza del trabajo, no a su búsqueda personal. Aquellos que se dedican a la informática científica deben estar familiarizados con Fortran; aquellos que se dedican a los símbolos, no digan que no saben matemáticas o maple; aquellos que se dedican al software en general, en este gran entorno, si no es así; No conozco C++, solo puedo admirar tu coraje de ternero. Después de todo, ¡sólo un pequeño propósito! Aprendí a calcular relativamente temprano y mi propósito en ese momento era escribir un sistema operativo. Más tarde, no pude especializarme en informática, así que, naturalmente, esto fue solo un sueño. Pero desde entonces he caído en un malentendido, que es aprender sin propósito. Cuando era estudiante de primer año, leí "Construcción e interpretación de programas de calculadora", "Comprensión profunda de las calculadoras", "Introducción a los algoritmos", los principios de compilación y el sistema operativo. calculadora, así que échale un vistazo. No seas duro. Pero si lo piensas detenidamente, a excepción de los primeros tres libros, que son relativamente confiables, muchos de los siguientes libros son redundantes. ¿Por qué? No soy un profesional y, a juzgar por la situación actual, es imposible e imprudente cambiar de carrera. Por lo tanto, estas cosas definitivamente deben eliminarse en el modelo de programación de tareas orientada al tiempo. De hecho, los pocos ejemplos que acabamos de citar dan a la gente la sensación de que esta persona está demasiado centrada en el lenguaje (herramientas) y no puede comprender los principios subyacentes. Jaja, esta es la teoría subyacente que aparece a menudo en la revista "Programmer". Permítanme decir algunas palabras más aquí. Si desea hacer bien su trabajo, primero debe afinar sus herramientas. Para direcciones que no sean CS, ¿cuál es el propósito de su programación? Definitivamente no se trata de comprender los complejos principios arquitectónicos o cosas similares, ¡la atención se centra en resolver problemas! Quiero calcular el modelo de gravedad para ahorrar tiempo, debo lanzarme a la batalla con Fortran; para realizar operaciones simbólicas, el uso competente de Mathematica puede ayudarlo a ver el problema con claridad y hacer deducciones razonables para generar diagramas intuitivos, matlab; y Trama son útiles. Esto no es solo una teoría superficial, mi propósito es resolver el problema, otras tonterías no son importantes, ¡realmente no son importantes! ----------------------------¿proyecto? ¡No! --------------------------Esto es en realidad una continuación del anterior. El propósito aquí es refinado y excluye el llamado aprendizaje de clase de CS. método, lo que significa que hemos dejado claro que no queremos existir como expertos en calculadoras. Luego, cuando veamos claramente que nuestro objetivo es nuestra propia especialidad, podremos dejar de lado los cursos inútiles y centrarnos en lo que queremos aprender. Este caso es como estudié en mi segundo año. En mi segundo año, también leí libros, principalmente sobre .NET, así como sobre C++ y arquitectura. Invertí mucha energía en estas dos áreas y también convencí a muchas personas a mi alrededor para que invirtieran en esto. Pero piénselo bien, ¿soy programador? Aparentemente no. Si alguna vez ha colaborado, encontrará que, al discutir un proyecto en un momento determinado, los miembros del equipo con experiencia en informática o software hablarán inconscientemente sobre cuestiones arquitectónicas y de eficiencia. Naturalmente, planificarán si se trata de un mecanismo de mensaje, un mecanismo de evento, un mecanismo de comando o si utilizarán complementos. En cuanto a los problemas de eficiencia, prestarán atención a si el rendimiento del vector es mejor aquí o si se utiliza List. De hecho, yo también tengo este problema y pienso demasiado en esta dirección. Todas estas cosas de ingeniería las hacen programadores. Usted no es un programador. Incluso si ahora está en la posición de programador, recuerde que lo que debe hacer es su especialidad. En lugar de perder el tiempo luchando con estos problemas, es mejor estudiar GeoTiff y ver que la programación WKT no es el propósito. No puede limitarse a controles de arrastrar y soltar o mensajes de eventos correspondientes. Deje el problema de impresión a las bibliotecas de código abierto. A menos que la Parte A le proporcione algo que deba resolver, debe utilizar las herramientas más hábiles que tenga a mano para resolver estas tareas diversas en el menor tiempo posible y luego dedicarse a su trabajo. Así como la topografía y la cartografía solo respaldan el trabajo en la construcción de ingeniería y nunca avanzarán, la tecnología de las calculadoras solo respalda el trabajo en su negocio principal, ¡y usted nunca avanzará si está tan enredado en él! --------------------------------Ruta sugerida---------------- -------------Finalmente, déjame darte una ruta de aprendizaje sugerida. En términos generales, para aprender a programar, primero es necesario aprender C o C++. Para ser claros, ¡son dos idiomas completamente diferentes! Como estudiante de C, me opongo al libro del Sr. Tan Haoqiang. Mi sugerencia es "Lenguaje de programación C".
Sin embargo, según los comentarios de las personas que me rodean, este libro es un poco confuso al principio para las personas que no entienden nada de programación, por lo que diré más adelante que hay personas que no tienen ningún pensamiento en programación. Al aprender C ++, creo que a los principiantes todavía les gusta más "C ++ Primer". Tenga en cuenta que aquí no hay Plus, los que tienen Plus son libros inexplicables. Después de estudiar aquí, puede considerar comprar una copia de "Effective C++" y luego aprenderlo en general. Sabiendo que C++ es un lenguaje peligroso, debe tener cuidado al usarlo en el futuro. A menudo se producen errores de compilación y la velocidad de compilación es. no suave. Luego, dependiendo del departamento en el que te encuentres, habrá diferentes requisitos. Si está involucrado en SIG, la posibilidad de continuar aprendiendo C # es muy alta. En este momento, tiene suerte de que C # sea muy simple, solo mire los ejemplos y el IDE es muy considerado, por lo que no lo necesita. preocuparse. Si todavía está en el departamento tradicional, entonces el 100% de ustedes usará VC y la mitad de ellos probablemente usará VC 6. Mucha gente usa VC 6, pero VC 6 es absolutamente basura. La sintaxis no está estandarizada, el archivo de encabezado está aún menos estandarizado y no hay un buen índice de símbolos. De todos modos, es simplemente incómodo. Pero para MFC, VC 6 es básicamente el mejor, así que pregunte sobre esto antes de continuar. Si tienes la suerte de trabajar en el módulo de informática, entonces olvídate de todo lo demás, lee libros, lee trabajos y haz bien las matemáticas (ésta es la clave). Si tiene la mala suerte de crear una interfaz, simplemente mire MFC. Basta con coger un libro de la biblioteca, no quiero recomendar nada al respecto. , solo sé cómo usarlo.