Red de conocimiento informático - Material del sitio web - Cómo aprender a programar en Linux

Cómo aprender a programar en Linux

Ruta de aprendizaje sugerida:

Primero aprenda a crear archivos, solo comprenda un poco y prepárese para la programación.

Entonces eche un vistazo al "Lenguaje de programación C" K & R. De esta manera, básicamente puede hacer programación general. Por cierto, busque este libro sobre estructuras de datos.

Si quieres aprender programación UNIX/LINUX, "APUE" es definitivamente un libro de texto clásico. Para profundizar tus habilidades, estudia el segundo volumen de "UNP". De esta forma, básicamente podrás dominar el conocimiento del sistema.

Luego lea el primer volumen de "TCP/IP Interconnection" de Douglas E. Comer para aprender conocimientos de redes, y luego lea el primer volumen de "UNP" para aprender no solo el conocimiento de la programación de redes, sino también Además, el conocimiento de la programación de redes es muy familiar para algunas tecnologías comunes en la programación de sistemas. Si continúa con la programación de redes, le sugiero que lea el tercer volumen de "Interconexión TCP/IP", que contiene mucha información sobre el protocolo de aplicación Telnet. Hay mucha programación sobre protocolos de aplicación telnet, ftp y otros.

Si desea escribir un controlador de dispositivo, primero debe estar familiarizado con las interfaces de programación del sistema, como archivos, IPC, etc., y luego estudiar "LDD" 2.

Para Evaluación de varios libros de texto clásicos:

"Lenguaje de programación C" K&R es un libro de texto de programación C clásico. El autor es el inventor del lenguaje C. El inventor del lenguaje C, el libro de texto lo explica en términos simples. Aunque es un poco antiguo, es de lectura obligada y todavía lo leo a veces

. Este libro es relativamente pequeño, pero hay algo que aprender cada vez que lo lees. También puede utilizar la "Programación C" de Tan Haoqiang.

"Programación de red Unix", de W. Richard Stevens: el volumen 1 trata sobre la interfaz de programación de red BSD Socket y otra interfaz de programación de red, pero ahora se usa generalmente BSD Socket, por eso este libro

Solo lee aproximadamente la mitad. El volumen 2 no está diseñado para redes, se centra en la comunicación entre procesos y subprocesos Posix. Por lo tanto, después de leer "APUE", puede leer este libro. Básicamente, el contenido del sistema se puede resumir en el segundo volumen de "APUE" y "UNP". Después de leer UNP, conocerá la mayoría de las técnicas de programación para la programación de sistemas, aunque el Volumen 1 trata sobre la programación de redes. En China, la Universidad de Tsinghua tradujo "Programación de redes Unix". El nivel del traductor es relativamente alto y la traducción es relativamente buena. Por tanto, se recomienda leer la versión china.

"Uso de TCP/IP para realizar la interconexión de redes" Douglas.E.Comer, un libro, tres volúmenes en total, el primer volumen habla sobre el principio, el segundo volumen habla sobre la implementación y el tercero Volumen habla de ello Protocolo avanzado. Siento que este conjunto de libros es mejor que el de Stevens, e incluso Stevens tiene que admitir que su primer volumen es un clásico. De hecho, incluso si no tiene ningún conocimiento sobre Internet, comprenderá bien sus entresijos después de leer este volumen. Muchos ejercicios del primer volumen también están diseñados para ser muy clásicos y prácticos, porque el propio autor es profesor y el primer volumen es un libro de texto escrito para estudiantes graduados extranjeros. No hay respuestas a las preguntas, dejando que los lectores piensen en las preguntas, porque las respuestas a las preguntas pueden convertirlo en un Hacker intermedio. Las respuestas a estas preguntas se pueden obtener como Douglas, excepto que solo le dio al maestro las respuestas. segundo volumen y no leí mucho del tercer volumen. Puede usarse como manual de referencia y también es un ejemplo de implementación clásico. Si ha leído el código fuente de Qterm, sabrá que la implementación de telnet de Qterm proviene principalmente del código fuente de este libro. Para conocer los principios de redes, recomiendo este libro en lugar de TCP/IP Explicado de Stevens.

"Sistema Operativo - Diseño e Implementación" es un libro sobre sistemas operativos, tomando como ejemplo Minix. El idioma nativo del autor no es el inglés, por lo que el inglés parece bastante oscuro. La traducción nacional es

Tener una comprensión clara.

Linux Device Driver, 2e, uno de los pocos buenos libros sobre controladores de dispositivos Linux. Sin embargo, el contenido es un poco confuso si no tiene experiencia en escribir programas de controladores, se sentirá un poco confundido cuando lo lea por primera vez. He tenido un contacto profundo con los traductores de la primera y segunda edición de la segunda edición traducida nacionalmente de "Linux Device Drivers". Pero en términos generales, aunque la traducción de la segunda edición es algo insatisfactoria, es consistente con la traducción de la segunda edición. Segunda edición. Ha avanzado mucho en comparación con la primera versión. Para leer este libro, al menos primero debe leer algunos libros sobre "Principios de la computadora" y "Arquitectura de la computadora". Al menos debe tener una cierta comprensión del hardware y el proceso de trabajo de la computadora.