Red de conocimiento informático - Aprendizaje de código fuente - Son vacaciones y quiero aprender a programar computadoras. ¿A dónde debo ir?

Son vacaciones y quiero aprender a programar computadoras. ¿A dónde debo ir?

Aprender a programar es muy útil para la mayoría de las personas en 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 mercado. 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 el 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 habilidades de programación es una condición y un requisito básico.

¡La práctica es la mejor maestra!

Otra cosa que hay que enfatizar es:

¡La programación es una habilidad, como aprender un idioma extranjero, y nunca puede ser "rápida"!

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:

?Software ¿Cómo se desarrolló?

¿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 que quiera convertirse en un excelente ingeniero de software?

¿Cómo pueden muchos estudiantes aprender rápidamente una tecnología informática específica sin repetir los desvíos que yo y otros hemos tomado?

El resultado de pensar 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. software de considerable calidad!

¿Por qué tanta gente considera la programación como algo muy profundo?

¿Por qué a tantas empresas de software en mi país les resulta tan difícil encontrar programadores cualificados?

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 encontrar trabajo se ha convertido en una tarea difícil. cosa difícil...

Por un lado, hay muy pocos programadores verdaderamente calificados y las empresas de software claman por talento urgente. 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.

En primer lugar, hay problemas con 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 tiene una base teórica y práctica sólida, no puede comprender en profundidad estas nuevas tecnologías, sólo las prueba brevemente, "se sienta y discute", puede "hablar sin cesar" durante las discusiones, pero "revela sus ventajas". 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 para participar en 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 lo son. "autodidacta" !

Demasiados estudiantes, especialmente aquellos que no se especializan en informática, toman exámenes a ciegas para diversas certificaciones, ya sean exámenes nacionales o extranjeros, siempre que tengan un certificado, participarán una gran cantidad de personas. 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 la cuestión 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 el autoestudio y la práctica. métodos y aplicarlos junto 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 seas estudiante. en la escuela o un entusiasta del desarrollo de software en la sociedad, mi consejo es:

He estado expuesto a la tecnología .NET desde 2002, y he estado estudiándola y usándola hasta el día de hoy. He leído casi un centenar. Ha leído libros de programación .NET en casa y en el extranjero y ha escrito decenas de miles de líneas de código .NET. 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, solo 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 enorme y compleja. Si quieres dominar todo, independientemente del tamaño, solo te agotarás y al final no obtendrás nada.

Para ello, basándome en mi propio entendimiento, destacaré lo que considero las cosas más importantes y básicas del libro. Estas cosas deben ser dominadas una vez que el lector las entienda y domine. Los dominará. Si conoce el método de "pesca", podrá explorar más a fondo 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.

Hay reglas en la programación. 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 aprendizaje y dominio de la tecnología de 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 aparecen 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.

Existen reglas objetivas para la adquisición y el dominio del conocimiento. En general, 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 "concreto → abstracto". →concreto" →..." Un proceso de bucle tan infinito.

Si alguien no sabe mucho sobre un tema pero espera que lo domine rápidamente a través del 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.