1. ¿Por qué deberías aprender a programar?
Cada uno tiene motivaciones diferentes. Son a grandes rasgos:
1. Encontrar un buen trabajo o tener mejores oportunidades y un mejor desarrollo.
2. Cuando veo que otras personas se portan geniales, yo también quiero aprender de ellas.
3. Es necesario en muchas situaciones en el trabajo real.
4. He decidido convertirme en programador e ingeniero de software desde que era niño.
5. Revitalizar la industria del software de China.
. . . . . .
============================================ = =====
2. ¿Cómo aprender a programar?
1. Leer más.
Enviar libros por error no sólo desperdicia tiempo y energía, sino que también socava la confianza de las personas. Dar libros por error hará que las personas no puedan estudiar durante mucho tiempo y harán que duden de su propia capacidad de aprendizaje.
Ahora hay muchos libros, pero pocos buenos, especialmente aquellos que generalmente se consideran valiosos. Después de años de pruebas y del cruel bautismo del mercado, las obras maestras que quedan son extremadamente raras. En la historia de China, hay una gran cantidad de novelas literarias, pero las únicas obras maestras que quedan son cuatro obras famosas como & gt, y lo mismo ocurre con la programación.
2. Haz más.
Esto es muy importante. Especialmente importante. "Tengo ganas de hablar en papel, no sé si debería hacerse". Este es el famoso dicho de Lu You, y también es adecuado para la programación.
============================================ = =====
3. ¿Qué idioma es el mejor?
Esto depende principalmente del campo de aplicación. Cada idioma tiene sus propias ventajas y desventajas.
1. El lenguaje ensamblador y el lenguaje C se utilizan ampliamente en los campos de los microcontroladores y el control industrial. Además, el lenguaje C también es un lenguaje general y es el punto de partida para aprender C++/c#.
2. En muchos aspectos, como la programación del sistema C++, el compilador más utilizado es VC.
3. Destacar en la programación de redes C#/java.
4.VB es universal.
5. Están Delphi y otros. . . . . .
Sugerencia personal: Si nunca has programado, empieza por aprender VB. Los estudiantes básicos pueden aprender C++/VC directamente.
============================================ = ========
4. ¿Cuáles son algunos buenos libros?
Hace unos años, el Sr. Hou Jie, un famoso escritor técnico de Taiwán, escribió una reseña de un libro muy influyente llamada "Los cuatro reyes de MFC". El significado del artículo es que entre el vasto mar de libros de MFC, siempre que estudies cuatro de ellos detenidamente, podrás "mirar hacia la montaña y nunca mirar atrás". Aunque el Sr. Hou utiliza MFC como ejemplo, este principio también se aplica a muchos campos técnicos específicos distintos de MFC. Este es un fenómeno estadístico interesante.
Por lo general, en un campo técnico específico, aparecerán naturalmente entre 3 y 5 libros superiores, que cooperan entre sí para formar un sistema completo. Para los estudiantes, basta con estudiar estos libros en serio. Me gustaría llamar a este fenómeno "Cuatro libros y cinco clásicos". Para los lectores, si pueden encontrar los "Cuatro libros y cinco clásicos" a este respecto, es la opción más económica en términos de tiempo y dinero. Unos pocos libros buenos son mejores que unos pocos paquetes de libros malos. Creo que todo el mundo tiene esta experiencia. Aquí, lo ayudaré a seleccionar los "Cuatro libros y cinco clásicos" en varios campos técnicos.
Existen infinidad de libros sobre programación, incluidos innumerables clásicos. Sin embargo, la mayoría de las personas que lo han experimentado coinciden en que si quieres empezar rápidamente y empezar a practicar la programación lo antes posible, sólo cuatro o cinco libros son suficientes, es decir, leer clásicos y libros de nivel bíblico será suficiente.
Vive y aprende. Los programadores son una profesión de aprendizaje permanente. Deberían seguir leyendo hasta el día en que dejen de programar. Por lo tanto, los buenos libros que quieres leer definitivamente no son los que se recomiendan a continuación, jaja.
En definitiva, dado que nuestro tiempo, energía y dinero son limitados, ¿cómo podemos obtener los mayores beneficios al menor coste?
============================================ = =====================
5. Lista popular de libros clásicos
1.
Lenguaje de programación Java (tercera edición) - Cuatro novelas clásicas sobre Java - James Gosling (el padre de Java).
Pensamientos sobre programación Java (segunda edición) - Cuatro novelas clásicas de Java - Bruce Ekel
Pensamientos sobre programación Java (3.ª edición) - Cuatro novelas clásicas de Java - Bruce Ekel.
Java 2 Core Technology Volumen 1: Conocimientos básicos (séptima edición) - Cuatro novelas clásicas de Java - Kay Horstman
Java 2 Core Technology Volumen 2: Funciones avanzadas (séptima edición) -The Cuatro novelas clásicas sobre Java-Kay Horstmann
Versión china efectiva de Java-Las cuatro novelas clásicas sobre Java-Joshua Bloch.
Master Struts: Diseño y desarrollo web Java basado en MVC - Sun
Competente en Hibernate: Explicación detallada de la tecnología de persistencia de objetos Java - Sun Qinwei
Tomcat y Tecnología de desarrollo web java-Sun Qinwei
Java y patrones-Hong Yan.
2. C#
Programación C# - Charles Petzold "Programación Windows Taishan Beidou" - Lenguaje C# "La leyenda del cielo y la espada del dragón"
Versión china de C# Getting Started - Stanley ·b·Lippmann-C #Idioma "La Historia del Cielo y la Espada del Dragón"
. NET Framework Programming (edición revisada): "Programación Windows Taishan Beidou" de Jeffrey Richter, la obra de los cuatro reyes. Plataforma de red
Programación C# de Windows - "Programación de Windows Taishan Beidou" de Charles Petzold - Los cuatro reyes celestiales. La verdad sobre las plataformas online
. Tecnología de programación NET. plataforma NET.
La esencia. NET-Volumen 1: Common Language Runtime (versión china) -Chris Sells-La obra de los cuatro reyes. Plataforma de red
3. C++
Lenguaje de programación C++ (Edición especial) - Los ocho King Kongs de C++ - Bjarne Straustrup "El padre de C++"
p>Introducción a C++ (tercera edición) versión china-c++ Ocho grandes diamantes-Stanley B. Lippmann
Introducción a C++ (4ta edición) versión china-c++ Ocho grandes diamantes-Stanley B.Lippman
Biblioteca estándar de C++-Tutoriales de autoaprendizaje y manuales de referencia-c+++ King Kong-Nicolai M.Josuttis
El diseño y evolución del lenguaje C++-C++ Eight King Kong-Biyani· Straustrup "Padre de C++"
Exploración en profundidad del modelo de objetos de C++-c++ King Kong-Stanley B.Lippman
Versión china de Essential C++-c++ Eight King Kong-Stan Lee B. Lippmann
Segunda edición china efectiva de C++: C++++ Ocho King Kong-Scott Meyers.
Una versión china más efectiva de C++ - C++ Eight King Kong-Scott Meyers
Pensamientos de programación en C++ (segunda edición) Volumen 1: Guía estándar de C++-Bruce E. Kyle
Pensamientos sobre programación en C++ (segunda edición) Volumen 2: Tecnología de programación práctica-Bruce Ekel
Programación en C++-Tan Haoqiang.
Tutorial de programación C++ (segunda edición) - Qian Neng
C++ Primer Plus (quinta edición) versión china - Stephen Prata
Como Siku Quanshu El lenguaje de programación C++ es tan extenso como el manual de C++.
Dentro del modelo de objetos de C++, existen muchas dificultades
Biblioteca Enciclopedia Biblioteca estándar de C++
La acumulación de experiencia en ingeniería hace que C++ sea eficaz, C++ más eficaz y C++ excelente.
Ocho Diamantes de C++:
1. Essen Tital C++-Lippmann-el padre de C++, rama corta, enfocada al núcleo, liviana y corta, adecuada para principiantes.
2. Lenguaje de programación C++: el padre de C++, autoridad técnica, escritura profunda, pensamiento profundo, representante de la enciclopedia C++ y la Biblia.
3. Introducción a C++ - Lippmann - ha estado en el mercado de libros durante más de diez años. Es el mejor libro de texto sobre C++ y un representante de la enciclopedia de C++.
4. Dentro del modelo de objetos de C++ - Lippmann - Es muy bueno pero también muy difícil revelar la capa inferior de C++.
5. C++ eficaz: demuestra experiencia experta a través de 50 ejemplos de programación y la redacción es interesante y sencilla.
6. C++ más eficaz: a través de 35 ejemplos de programación, se demuestra la experiencia de los expertos y la escritura es interesante y sencilla.
Biblioteca estándar 7.c++-enciclopedia de la biblioteca estándar de c++.
8. Patrón de diseño: la base del software reutilizable orientado a objetos - ¡bien!
4. c
Lenguaje de programación C (segunda edición, nueva edición) - Lenguaje C "La historia del cielo y la espada del dragón" - Brian W. Kernigan "Padre del lenguaje C "
Versión china C Primer Plus (quinta edición) - Idioma C "Las dos espadas del cielo y la matanza del dragón" - Stephen Plata.
Programación en C (tercera edición)-Tan Haoqiang.
Enciclopedia del lenguaje C (4ª edición) - Herbert Schild.
Interfaz e implementación en lenguaje C: Tecnología para la creación de software reutilizable.
Manual de referencia del lenguaje C (5ª edición) - Samuel P. Harbison.
Curso de Programación en C-H.M. Deitel/P.J.
Trampas y escollos - Andrew Koenig.
5.VB
Visual Basic. NET Technology Insider - Tres mosqueteros de la programación VB - Francesco Balena "VB Chief Master"
Programación de Windows - Visual Basic.NET Descripción del lenguaje - Tres mosqueteros - Programación VB - Charles Petzold "Programación de Windows Taishan Beidou" -
Programación NET Framework: Descripción del lenguaje Visual Basic.NET - Los tres mosqueteros de la programación VB - Jeffrey Richter "Programación Windows Taishan Beidou" --
Enciclopedia de tecnología de programación Visual Basic 6 - Francesco Balena " VB Master》
Visual Basic.NET desde principiante hasta competente.
Programación avanzada en VISUAL BASIC.
6. Delphi
En VCL (profundizando en el núcleo - análisis arquitectónico de VCL) - Li Wei
Programación eficiente de bases de datos en Delphi 7 - Li Wei
p>Camino práctico hacia el desarrollo orientado a objetos (Edición Delphi) - Li Wei
7. Venture Capital
Programación en Windows (Quinta edición) - Charles Petzold " Programación de Windows Taishan" Beidou"-
Programación principal de Windows--Jeffrey Richter "Taishan Beidou para programación de Windows"-
Guía de programación avanzada de Windows-Jeffrey Richter "Taishan Beidou para programación de Windows" -
Explicar MFC en términos sencillos (2ª edición) - "Cuatro Reyes de MFC" - Hou Jie.
Programación MFC Windows (Segunda edición)-Los cuatro reyes de MFC"-Jeff Proise
Visual C++ Technology Insider (4.ª edición)-Los cuatro reyes de MFC"-David Kruglinski "
Análisis en profundidad de MFC-Los cuatro reyes de MFC-George Shepard.
Visual C++.
NET Technology Insider (6.a edición) -Four Kings-MFC "-David Kruglinski.
8. vf
Manual de referencia de programación de Visual Foxpro-Zhang
Clínica de expertos -Preguntas y respuestas sobre desarrollo de Visual FoxPro 160-Zhang
Soluciones y ejemplos de Visual FoxPro 6.0/9.0-Zhang
Modelo de desarrollo de software de Visual FoxPro y casos de aplicación-Zhang
9
Criptografía aplicada (algoritmo de protocolo y programa fuente C-Bruce Schneider)
La verdad sobre la seguridad de la información en la red-Bruce Schneider
Hackers expuestos: secretos de ciberseguridad. y soluciones (quinta edición) - Stuart McClure
La historia interna de la tecnología de cifrado de software - Academia Xue Kan
Cifrado y descifrado: tecnología de protección de software y soluciones completas - Instituto de investigación Xue Kan
Cifrado y descifrado (segunda edición) - Duan Gang
10, ensamblaje
Arquitectura, programación e interfaces del microprocesador Intel (sexta edición) - Barry B. Brey
80*86, Programación en lenguaje ensamblador Pentium - Barry B. Brey
Programación en lenguaje ensamblador de 32 bits en entorno Windows (segunda edición) - Luo Yunbin
IBM-PC Assembly Language Programming (segunda edición) es un excelente libro de texto nacional - Shen Meiming, Wen Dongchan
IBM PC Assembly Language Programming (quinta edición) es un excelente libro de texto en idiomas extranjeros, escrito por Peter Abel y traducido por Shen Meiming y Wen Dongchan
11, Desarrollo de controladores
Guía de desarrollo de controladores de dispositivos WDM
Desarrollo de controladores de dispositivos WDM para Windows 2000/XP (segunda edición) -. Wu'anhe.
Desarrollo de controladores de dispositivos WDM para WINDOWS 2000/XP - Wu Anhe
12, Red informática 4.ª edición, edición china: Tres mosqueteros. de programación de redes: Andrew S. Tanenbaum
Explicación detallada de TCP/IP 3 Volumen - Richard Stevens - Los tres mosqueteros de la programación de redes
Programación de redes UNIX Volumen 2 - Richard Stevens - Los tres Mosqueteros de la programación de redes
Conexión a Internet mediante TCP/IP
Programación TCP/IP avanzada
Programación de redes C++-Douglas Schmidt
Programación avanzada en un entorno UNIX (Segunda edición) -Richard Stevens
13, Algoritmo
El arte de la programación informática e. Knuth - "Eternal Swordsman".
Introducción a los algoritmos - Thomas H. Coleman - Los algoritmos son las dos espadas de "confiar en el cielo y matar al dragón".
Matemáticas Discretas y sus Aplicaciones
Matemáticas Concretas - Fundamentos de la Informática - Donald. E. Knut
14, Programación de gráficos
Programación de gráficos de Windows: libro "Programación de gráficos" de Feng Yuan-Charles Petzold.
15, Estructura de datos
Estructura de datos C++ Descripción del lenguaje 58.00 (Estructura de datos C++) William Ford, William Top, Liu Weidong, Shen Guanlin.
Algoritmo de estructura de datos y descripción del lenguaje C++ de la aplicación" 49.00 Satji, Sani, Wang Shilin, Sun Xiaodong y otros Machinery Industry Press.
16. Ingeniería de software
Patrones de diseño: la base del software reutilizable orientado a objetos
Refactorización: mejora del diseño del código existente
17, Sistemas operativos
Comprensión profunda de los sistemas informáticos (edición revisada) - Randall E. Bryant
18, Unix
Programación de redes UNIX Volumen 1 Interfaz de programación de aplicaciones de red de socket
El arte de la programación UNIX
Programación avanzada en el entorno UNIX (Fotocopia en inglés 2.ª edición - "Biblia" de programación UNIX
p>
Programación avanzada en el entorno UNIX (Edición fotocopia en inglés) (Segunda edición)
Programación avanzada en el entorno UNIX (Segunda edición)
Programación avanzada en el entorno UNIX Programación avanzada (Segunda edición) - La Biblia de la programación UNIX
Programación de redes UNIX Volumen 1: Windows Socket API (3.ª edición)
Programación de redes UNIX Volumen 2: Comunicación entre procesos (2.ª edición) Edition) (Fotocopia en inglés)
Programación de redes UNIX (2.ª edición) Volumen 2: Comunicación entre procesos
Entorno de programación UNIX
Programación de redes UNIX Volumen 1 Sockets Interfaz de programación de aplicaciones de red
Programación de sistemas UNIX
Programación avanzada en entorno UNIX
Programación de redes UNIX Volumen 1 Set Sockets Network API (versión en inglés 3.ª edición) p>
Programación de red UNIX Volumen 1: Windows Socket API (3.ª edición)
Programación de red UNIX (2.ª edición) Volumen 2: Comunicación entre procesos
Red UNIX Programación Volumen 2: Comunicación entre procesos (2.ª edición) (Fotocopia en inglés)
Programación de redes UNIX (2.ª edición) Volumen 1: API de sockets de Windows y API de interfaz de transporte X/Open.
Programación de Red UNIX (Volumen 1): APLS de Red: Sockets y XTI (Segunda Edición) (Fotocopia en inglés)
Programación Avanzada en el Entorno UNIX
Unix Manual Técnico
19. Linux
Desarrollo del Kernel Linux
Notas completas sobre el Kernel Linux
Análisis y programación del Kernel LINUX
Guía de programación GNU/Linux (segunda edición)
Controlador de dispositivo Linux (tercera edición)
Guía de desarrollo de controladores de Linux y diseño integrado: basada en el procesador ARM 9
Tercera edición del controlador de dispositivo Linux (versión en fotocopia en inglés)
Diseño e implementación del kernel de Linux (segunda edición)
Diseño e implementación del kernel de Linux (versión en fotocopia en inglés) (Segunda edición )
Manual técnico de Linux
20. Programación de juegos
Edición de habilidades maestras de programación de juegos de Windows (segunda edición)
Viaje del juego: mi Comprensión de la programación
OpenGL Super Collection: tercera edición
Guía de programación OpenGL (cuarta edición)
Programación avanzada de juegos Java
Introducción a Programación de juegos móviles J2ME
Viaje del juego: mi comprensión de la programación
Inteligencia artificial en el desarrollo de juegos (fotocopia en inglés)
Juegos 3D: volumen 2, animación y real avanzado -Tecnología de renderizado de tiempo
Desarrollo de juegos orientado a objetos
Programación avanzada de juegos Java
Domina las habilidades de programación de juegos 3D
La esencia del juego programación
Desarrollo de juegos orientados a objetos
Juegos 3D Volumen 1: Renderizado en tiempo real y tecnología de software
Juegos 3D: Volumen 2 Animación y tiempo real avanzado Tecnología de renderizado…
Introducción a la programación de juegos móviles J2ME
Tutorial de programación de juegos Direct3D (segunda edición…
p>
21, Desarrollo móvil
Desarrollo de aplicaciones para teléfonos móviles con Windows
Desarrollo de aplicaciones para teléfonos móviles con SYMBIAN OS C++
Desarrollo de aplicaciones para teléfonos móviles con Windows: Pay Xi Qi Xu Yujun
SO SYMBIAN Desarrollo de aplicaciones móviles C++ (Volumen 2): autor Richard Harrison, traducido por Zhou y Wang Boxin
Desarrollo de aplicaciones móviles SYMBIAN OS C++: autor Richard Harrison, traducido por Zhou. Personalización del kernel de Windows CE.net y desarrollo de aplicaciones: Zhou Yu Linning Lu Yanggui Qiang Fu Linlin
Habilidades y ejemplos de desarrollo del sistema integrado Windows CE-Fu Xi
Práctica de programación de Palm OS: fuera de Imprimir
22. Microcontrolador
Una introducción sencilla al microcontrolador - Zhou Jian (profesor ordinario)
Módulos típicos de un microcontrolador Ejemplo de diseño La tecnología de navegación busca la verdad.
Por ejemplo, 8051-Zhang Yi y Chen Jibei.
Programación en lenguaje de alto nivel del microcontrolador KEIL CX51 V7.0 y práctica de aplicaciones μ Vision 2-Xu Aijun
Tecnología de programación de aplicaciones MCU (versión revisada)-Zhou Hangci
8051 Práctica y Aplicación del Microcontrolador Wu.
Tecnología de interfaz práctica para microcontroladores de la serie MCS-51 - Li Hua.
23. Comunicación serie y paralela
Práctica de programación de comunicación serie Visual C++/Turbo C - Gong Jianwei
Control de comunicación serie VISUAL BASIC y RS-232 (Último) edición) -Fan Yizhi
24. Electrónica
Introducción a la topografía por radio y el análisis de fallas de circuitos (segunda edición) -Hu Bin.
Una breve introducción a la tecnología de prueba y mantenimiento de componentes de radio (segunda edición) - Hu Bin.
El gráfico detalla cómo leer mapas a través de tecnología electrónica - Hu Bin.
Detalles del diagrama de componentes electrónicos - Hu Bin.
Diagrama que detalla los componentes y el circuito real - Hu Bin.
============================================ = =====================
6. Cómo convertirse en programador
A través de las siguientes cuatro etapas de formación , las personas pueden convertirse en programadores comunes y corrientes sin ninguna base de programación.
La primera etapa: dominar un lenguaje de programación.
Contenido de aprendizaje: aprenda cualquier lenguaje de programación convencional. Por ejemplo, lenguaje C++.
Objetivos de aprendizaje: Dominar la sintaxis y las habilidades básicas de programación de un lenguaje.
Tiempo de estudio: unos 3 meses.
Nota: Los lenguajes de programación y las herramientas de programación son dos cosas diferentes. Los lenguajes de programación se refieren a lenguajes de programación como C ++, Basic, Object Pascal, etc., que son reglas gramaticales abstractas como el chino y el inglés. Las herramientas de programación se refieren a herramientas de desarrollo de software visuales integradas, incluidos editores de código fuente y compiladores de programas, como Visual C++ 6.0, Visual Basic 6.0 y Delphi 7.0. Los programas fuente de C++ se pueden escribir con Visual C++ 6.0 o el Bloc de notas. El mismo programa fuente de C++ se puede compilar y ejecutar con Visual C++ 6.0 o C++ Builder 5.0. Por lo tanto: C++ no es igual a Visual C++ 6.0.
La segunda etapa: Dominar una herramienta de programación.
Contenido de aprendizaje: aprenda cualquier herramienta de programación convencional. Tenga en cuenta que las herramientas de programación deben ser coherentes con el lenguaje de programación aprendido en la primera etapa. Por ejemplo, si el lenguaje de programación que aprende es C++, entonces la herramienta de programación debe ser Visual C++ 6.0 o C++ Builder 5.0.
Objetivos de aprendizaje: Dominar el uso básico de esta herramienta de programación, como menús, componentes, seguimiento y depuración de programas, escritura de programas para Windows, etc.
Tiempo de estudio: unos 3 meses.
Nota: Esta etapa se centra en el uso de herramientas de programación, mientras se familiariza más con los lenguajes de programación y, en última instancia, logra el dominio de la escritura de varios programas básicos de Windows.
La tercera etapa: Dominar el curso "Algoritmos y estructuras de datos"
Contenido de aprendizaje: Algoritmos y estructuras de datos. Recomendamos "Estructuras de datos" de Xu Zhuoqun, publicado por Higher Education Press. .
Objetivos de aprendizaje: Dominar diversos algoritmos y estructuras de datos de uso común.
Tiempo de estudio: unos 4 meses.
Nota: Este es un curso de desarrollo de software esencial. Una vez hubo un libro profesional de informática clásico llamado "Estructura de datos + Algoritmo = Programa", que muestra la importancia de la estructura de datos y el algoritmo. Puede ayudarnos a desarrollar buenas capacidades de análisis y diseño de programas.
La cuarta etapa: implementar un pequeño proyecto de software simulado.
Contenidos de aprendizaje: El proceso de desarrollo de proyectos de software.
Objetivos de aprendizaje: Dominar los procesos y métodos básicos de desarrollo de proyectos de software.
Tiempo de estudio: unos 4 meses.
Nota: Yo mismo he completado un pequeño proyecto de software simulado y recomiendo encarecidamente crear un software MIS (Sistema de información de gestión). Recomiendo como referencia la "Serie de casos de desarrollo de sistemas de gestión de información para pequeñas y medianas empresas" y la Prensa Popular de Correos y Telecomunicaciones. Sus ejemplos son detallados y efectivos. Sobre esta base, podemos crear un software MIS práctico. Esta serie contiene una variedad de herramientas de desarrollo, puede elegir la que más le convenga: navegación de ejemplo de desarrollo de sistema de base de datos VISUAL FOXPRO6.0, navegación de ejemplo de desarrollo de sistema de base de datos Java, navegación de ejemplo de desarrollo de sistema de base de datos VISUAL BASIC, sistema de base de datos VISUAL C++6.0 navegación de ejemplo de desarrollo, navegación de ejemplo de desarrollo de sistema de gestión de bases de datos ASP.NET, navegación de ejemplo de desarrollo de sistema de base de datos DELPHI y navegación de ejemplo de desarrollo de sistema de base de datos POWERBUILDER 8.0.
Finalmente, grabe el software de simulación completo en un CD y utilícelo como su propio trabajo para las entrevistas, ¡emprendendo así su glorioso camino como programador profesional!