Red de conocimiento informático - Material del sitio web - ¿Cómo aprender a programar más rápido?

¿Cómo aprender a programar más rápido?

¡La práctica es la mejor maestra! Otra cosa que hay que destacar es: la programación es una habilidad, al igual que aprender un idioma extranjero, ¡nunca puede ser "rápido"! Después de 10 años de experiencia autodidacta en tecnología informática y experiencia en la enseñanza de una serie de cursos de programación en colegios y universidades en los últimos años, he estado pensando en las siguientes preguntas: ¿Cómo se desarrolla el software? ¿Programar es difícil o fácil? ¿Existe algún "secreto de las artes marciales" que pueda hacer que sus habilidades de programación "se expandan en 10 años"? ¿Cómo debería aprender tecnología informática una persona interesada en convertirse en un excelente ingeniero de software? ¿Cómo pueden muchos estudiantes aprender rápidamente una determinada tecnología informática sin repetir los desvíos que yo y otros hemos tomado? El resultado de mi pensamiento es el libro que ves. En mi propia práctica personal de aprendizaje y desarrollo, gradualmente formé este punto de vista: ¡programar en realidad no es difícil! Para programar, no es necesario ir al departamento de informática de una universidad para aprender muchas teorías difíciles. Con la orientación y la formación adecuadas, un estudiante de secundaria puede unirse a un equipo de proyecto de software y escribir programas con un nivel considerable de calidad. ¿Por qué tanta gente considera la programación como algo muy avanzado? ¿Por qué a tantas empresas de software en mi país les resulta tan difícil encontrar programadores calificados? Al mismo tiempo, existe una situación completamente opuesta: cada año, un gran número de graduados en informática y carreras afines buscan trabajo, pero se topan con un muro en todas partes. Encontrar trabajo se ha convertido en algo muy difícil. .. Por un lado, hay un gran número de programadores verdaderamente cualificados. Muy raramente las empresas de software afirman tener una necesidad urgente de talentos, mientras que, por otro lado, un gran número de estudiantes no pueden encontrar el trabajo ideal después de graduarse. ¿Por qué se forma un círculo tan extraño? Creo que hay dos razones importantes para este círculo vicioso. Uno es la cuestión de los métodos y actitudes de aprendizaje de los estudiantes. Debido a la falta de una comprensión correcta del trabajo de desarrollo de software en sí, muchos estudiantes han formado un método de aprendizaje impetuoso y utilitario, que se manifiesta como seguir ciegamente la tendencia de aprender varias nuevas tecnologías actualmente populares, pero la mayoría de ellas solo son populares durante tres Por falta de perseverancia, no tengo una base teórica y práctica sólida, no puedo comprender estas nuevas tecnologías en profundidad, solo las pruebo brevemente, "me siento y discuto", puedo "hablar sin cesar" cuando discuto, pero "revelar su significado". colores verdaderos" una vez que empiezan a hacerlo. Mucha gente no ha pensado en: ¿Las "nuevas" tecnologías que son populares ahora seguirán siendo "populares"? Mucha gente en China (incluyéndome a mí) pasó mucho tiempo aprendiendo y dominando los alguna vez famosos Foxpro y PowerBuilder, pero en unos pocos años, ¿cuántos proyectos se desarrollaron utilizando estas dos tecnologías? Por lo tanto, si se quiere "perseguir" nuevas tecnologías, sólo se pueden aprender tecnologías que se espera que la sociedad necesite con urgencia en dos o tres años. Esto requiere que los alumnos tengan una visión de futuro. Pero la tecnología del software avanza tan rápido que pocas personas pueden predecir con precisión qué será popular dentro de unos años. Por lo tanto, en lugar de "pescar en el océano", es mejor "retirarse y construir una red", elegir un campo que le guste, desde la teoría hasta la tecnología, dedicar dos o tres años a aprenderlo bien y cultivarse en el aprendizaje. proceso La capacidad de "pescar". Con esta habilidad básica y cualidad de autoaprendizaje, ¿todavía te preocupa no poder pescar en el mar? Algunos estudiantes invierten mucho tiempo y dinero en asistir a varios cursos de capacitación en informática con varias promesas atractivas, con la esperanza de que otros puedan ayudarlos a convertirse en maestros técnicos, ¡pero no saben que la mayoría de los verdaderos maestros son "autodidactas"! Demasiados estudiantes, especialmente aquellos que no se especializan en informática, toman a ciegas varios exámenes de certificación, ya sean exámenes nacionales o extranjeros, siempre que tengan un certificado, una gran cantidad de personas lo tomarán. Simplemente equiparan la capacidad de aplicar tecnología informática a un certificado. Es muy probable que la actual prueba de competencia informática se convierta en el segundo "nivel de inglés 4 o 6" en colegios y universidades. De hecho, mostrar a otros un trabajo de software que haya escrito puede ilustrar mejor sus habilidades que mostrarles a otros un montón de certificados diferentes. La segunda razón importante del extraño círculo es el problema de la educación informática. En la actualidad, la educación informática en los colegios y universidades no puede producir una gran cantidad de desarrolladores de software calificados. Los estudiantes aprenden mucha teoría informática durante su período universitario de cuatro años, pero no prestan suficiente atención al desarrollo de habilidades de programación. es que no pueden dominar bien la teoría, el dominio de la computadora de los estudiantes se ha convertido en un "arroz a medio cocer". Además de los estudiantes universitarios, también hay una gran cantidad de entusiastas del desarrollo de software en la sociedad. Dado que no tienen la oportunidad de aprender sistemáticamente tecnología de desarrollo de software, adoptan métodos de autoestudio y práctica para aplicar la tecnología informática que conocen. han aprendido en combinación con su propio trabajo.

Aunque no tienen la ventaja de ser estudiantes en la escuela, las capacidades reales de desarrollo de las personas destacadas entre ellos son mucho mejores que las de los estudiantes universitarios o incluso de maestría que provienen de la "clase" de estudiantes de informática en las universidades regulares. Hay muchos ejemplos de este tipo. ¡Los "jugadores profesionales" no son tan buenos como los "jugadores aficionados"! Yo mismo vengo de un "camino salvaje" y seguí un camino de autoaprendizaje orientado a la práctica. Desde la práctica personal, siento profundamente que la informática es esencialmente una ciencia muy práctica, ya sea para un estudiante de escuela o para un entusiasta del desarrollo de software. Para la sociedad, mi consejo es: he estado expuesto a la tecnología .NET desde 2002 y la he estudiado y utilizado hasta el día de hoy. He leído casi cien libros de programación .NET nacionales y extranjeros y he escrito decenas de miles de líneas. Código NETO. Después de tener una cierta comprensión de .NET, creo que la tecnología .NET es un muy buen punto de entrada para que los principiantes aprendan tecnología de software. Los estudiantes pueden aprender la tecnología de desarrollo de software orientada a objetos actual en un solo paso sin tener que seguir el paso a paso. Proceso de pasos. La secuencia tradicional de aprendizaje es primero la programación estructurada y luego la programación orientada a objetos. La siguiente pregunta que pensé fue: ¿Cómo debería escribir este libro? El famoso físico Einstein expresó una vez este pensamiento: al aprender, sólo necesitas dominar aquellas cosas que pueden guiar tu pensamiento profundamente y abandonar todos los demás conocimientos irrelevantes. La tecnología del software en sí tiene una arquitectura grande y compleja. Si desea dominar todo, independientemente del tamaño, solo se agotará y no logrará nada. Con este fin, según mi propio entendimiento, he resaltado en el libro lo que considero las cosas más importantes y básicas que deben dominarse. Una vez que los lectores dominen y dominen el método de "pesca", podrán seguir adelante. explorar otros puntos técnicos en un campo determinado. Por lo tanto, no es necesario "cubrir todo" en el libro sobre cada punto técnico en cada campo técnico. La programación tiene reglas. La clave para que un lector pueda convertirse rápidamente en un programador de un nivel considerable radica en la comprensión de las reglas de programación y la base de conocimientos necesaria. Lo más importante es dominar los principios. Existe una lógica detrás de cada actividad específica y paso de trabajo realizado durante el proceso de desarrollo. Una vez que comprenda claramente estos principios, sabrá qué hacer y qué no hacer en todo el proceso de desarrollo de software, qué hacer primero y qué hacer. hacer más tarde. Ya sé lo que es. Después de programar durante tantos años, me di cuenta de que el proceso de aprender tecnología de desarrollo de software es en realidad un proceso de aprender a hacer cosas. Por ejemplo, al desarrollar software, debe "dividir y conquistar", "paso a paso", "primero la parte y luego el todo", "organizar razonablemente la secuencia de desarrollo", "fomentar buenos hábitos de programación", etc. no solo habilidades de programación, sino que también se requieren para realizar muchos otros trabajos fuera de la programación. En el proceso de aprender y dominar la tecnología del software, se pueden ejercitar muchas cualidades básicas de una persona, como pensamiento reflexivo, voluntad fuerte, capacidad de aprendizaje, espíritu innovador, etc. Si una persona puede afianzarse en la industria de TI con una competencia feroz sin precedentes confiando en la alta calidad, entonces se puede decir con confianza que si cambia a otras industrias, también será un talento sobresaliente y se abrirá camino. ! En muchos libros de tecnología informática aparece una gran cantidad de términos técnicos, lo que sin duda dificulta la lectura a los lectores que no están familiarizados con estos términos. La expresión de estos términos informáticos muchas veces no es fácil de entender si se enfatiza su cientificidad y rigor teórico, lo que limita en gran medida la difusión, popularización y aplicación de este conocimiento. Por lo tanto, este libro utiliza una forma fácil de entender para expresar la mayoría de estos términos e incluso utiliza muchas metáforas para aclarar sus connotaciones. Aunque esta expresión es fácil de entender, inevitablemente carece de cientificidad y rigor. Si los lectores necesitan una definición científica y precisa, consulte la literatura científica y tecnológica relevante. Permítanme enfatizar que este libro es un libro profesional destinado a popularizar la tecnología de desarrollo de software. Es diferente de las monografías de tecnología de ingeniería tradicionales y los libros de texto teóricos de informática. Al leer, no debe perderse cada palabra, como aprender matemáticas en la escuela secundaria. una comprensión intuitiva y un conocimiento perceptivo del proceso de desarrollo de software. Para un desarrollador de software específico, sólo el conocimiento comprendido es conocimiento verdaderamente útil, y el conocimiento que no se puede entender es inútil. El objetivo principal del autor al escribir el libro es permitir a los lectores absorber rápidamente el conocimiento proporcionado en el libro y tratar de "describir tecnologías complejas en lengua vernácula". Por lo tanto, el autor busca explicaciones simples en el texto, pero si esto es realmente. Lo logrado aún está por verse. Corresponde a los lectores hacer la evaluación.

La adquisición y el dominio del conocimiento tienen sus propias reglas objetivas. En términos generales, el conocimiento concreto es fácil de entender, mientras que el conocimiento abstracto es difícil de captar. En el proceso de aprendizaje, se debe seguir el patrón infinito de "concreto → abstracto → concreto →. .." proceso cíclico. Si alguien no sabe mucho sobre un tema pero espera que lo domine rápidamente mediante el estudio teórico, esto viola las leyes objetivas de la comprensión humana del mundo. Desafortunadamente, la práctica actual comúnmente utilizada en el sistema educativo chino permite a los estudiantes concentrarse en aprender teorías abstractas e ignorar las prácticas concretas, lo que resulta en un gran número de estudiantes que no han aprendido bien la teoría ni han sentado las bases prácticas necesarias. Creo que sólo el aprendizaje teórico basado en la práctica es un aprendizaje verdaderamente efectivo. Por lo tanto, en todo el proceso de aprendizaje de la tecnología informática, la práctica del desarrollo debe considerarse como la línea principal que conecta todas las teorías informáticas. Si los diversos subcampos de la tecnología informática se consideran perlas, la práctica del desarrollo es el hilo que ensarta todas las perlas en un collar. Sin este hilo, lo que se obtiene al estudiar varios cursos de informática son simplemente cuentas dispersas con valor limitado.