Red de conocimiento informático - Material del sitio web - Cómo aprender a programar en Linux (centrándose en las recomendaciones de libros)

Cómo aprender a programar en Linux (centrándose en las recomendaciones de libros)

Ruta de aprendizaje recomendada: luego aprenda a crear archivos. Siempre que sepa un poco, podrá prepararse para programar. Luego, eche un vistazo al "Lenguaje de programación C" K&R. De esta manera, básicamente puede realizar programación general. Por cierto, busque un libro sobre estructuras de datos. Si desea aprender programación UNIX/LINUX, "APUE" es un libro de texto absolutamente clásico. Profundice sus habilidades y estudie el segundo volumen de "UNP". De esta manera, básicamente podrás dominar los aspectos del sistema. Luego lea el primer volumen de "Interconexión de Internet con TCP/IP" de Douglas E. Comer para aprender algunos conocimientos sobre redes, y luego lea el primer volumen de "UNP" para aprender no solo la programación de redes, sino también algunos métodos comunes de programación de sistemas. Las técnicas son muy familiares. Si continúa con la programación de redes, se recomienda leer el tercer volumen de "TCP/IP para la interconexión de Internet", que contiene mucha programación sobre protocolos de aplicación como telnet y ftp. 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. Comentarios sobre varios libros de texto clásicos: "El lenguaje de programación C" K&R es un libro de texto de programación en lenguaje C clásico. El autor es el inventor del lenguaje C. El contenido del libro de texto es fácil de entender y comprender. Aunque es un poco antiguo, es un manual imprescindible y todavía lo leo a veces. La extensión es relativamente pequeña, pero cada vez que lo leas, ganarás algo nuevamente. Además, en su lugar se puede utilizar la "Programación en lenguaje C" de Tan Haoqiang. "Programación de red Unix" W. Richard Stevens: El primer volumen habla sobre la interfaz de programación de red BSD Socket y otra interfaz de programación de red. Sin embargo, ahora generalmente se usa BSD Socket, por lo que solo necesita leer aproximadamente la mitad de este libro. El segundo volumen no está diseñado para cubrir cuestiones de red, sino que habla principalmente sobre comunicación entre procesos y subprocesos Posix. Entonces, después de ver "APUE", puedes verlo. Básicamente, el sistema se resume en "APUE" y "UNP" vol2. Después de leer "UNP", conocerá la mayoría de las habilidades de programación de sistemas, incluso si el primer volumen trata sobre programación de redes. En China, la "Programación de redes Unix" fue traducida por la Universidad de Tsinghua. El traductor tiene una experiencia relativamente alta y la traducción es relativamente buena. Por eso se recomienda leer la versión china. "Interconexión de Internet mediante TCP/IP" Douglas.E.Comer tiene tres volúmenes: el volumen uno habla sobre principios, el volumen dos habla sobre implementación y el volumen tres habla sobre protocolos avanzados. Siento que esta colección es mejor que la de Stevens, e incluso Stevens tiene que admitir que su primer volumen es muy clásico. De hecho, incluso si no tienes ningún conocimiento de Internet en el primer volumen, conocerás bien los entresijos de Internet después de leerlo. Hay muchos ejercicios en el primer volumen que también están diseñados para ser clásicos y prácticos, porque el autor es profesor y el primer volumen es un libro de texto para estudiantes graduados extranjeros. No hay respuestas a los ejercicios, y se deja que los lectores piensen en ellas, porque las respuestas a las preguntas pueden convertirlo en un Hacker intermedio. Puede pedirle a Douglas las respuestas a estas preguntas, pero él es el único que puede hacerlo. Solo le doy al profesor el Documento 2. No pienso mucho en él. El Documento 3 se puede utilizar como manual de referencia, y los ejemplos que contiene también son muy clásicos. Si ha leído el código fuente de Qterm, sabrá que la mayor parte de la implementación de telnet de Qterm proviene del código fuente de este libro. Para un libro sobre principios de red, lo recomiendo en lugar de la "Explicación TCP/IP" de Stevens. "Sistema operativo: diseño e implementación" es un libro sobre sistemas operativos, que utiliza Minix como ejemplo. El idioma nativo del autor no es el inglés, por lo que el inglés parece bastante oscuro. Los traductores nacionales tienen 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 controladores, se sentirá un poco confundido cuando lo lea por primera vez. La traducción nacional es la segunda edición de "Linux Device Drivers". Tengo un profundo contacto con los traductores de la primera y segunda edición, pero en general, aunque la traducción de la segunda edición es algo insatisfactoria, sigue siendo relativamente buena. Mucho mejor que la primera versión.

Para leer este libro, al menos debe encontrar algunos libros sobre "Principios de computadora" y "Arquitectura de computadora" para leerlos de manera informal. Al menos debe tener cierta comprensión del proceso de trabajo del hardware y las computadoras.