A good way to learn Linux Programming

Source: Internet
Author: User
A good way to learn Linux programming-general Linux technology-Linux programming and kernel information. The following is a detailed description. If you want to learn UNIX/Linux programming, APUE is a classic teaching material. Learn more about UNP. In this way, you can master the system.

Then look at Douglus E. comer's "using TCP/IP for Internet connection" Volume 1, learn about the network, and then read the first volume of "UNP", not only learn network programming, in addition, I am very familiar with some common techniques of system programming. If you continue network programming, we recommend that you read the third volume of "TCP/IP for Internet interconnection, there are a lot of programming about the application protocol telnet, FTP and other protocols.

Recommended learning path:
First, learn the editor, vim, emacs, and anything.

Then, learn to make file. You only need to know a bit, so that you can prepare the program.

Then let's take a look at "C programming language" K & R. In this way, we can basically perform general programming. By the way, let's look at this data structure book.

If you want to learn UNIX/LINUX programming, APUE is a classic teaching material. Learn more about UNP. In this way, you can master the system.

Then look at Douglus E. comer's "using TCP/IP for Internet connection" Volume 1, learn about the network, and then read the first volume of "UNP", not only learn network programming, in addition, I am very familiar with some common techniques of system programming. If you continue network programming, we recommend that you read the third volume of "TCP/IP for Internet interconnection, there are a lot of programming about the application protocol telnet, ftp and other protocols.

If you want to write a device driver, first you must be familiar with the system programming interfaces such as files and IPC, and then learn "LDD" 2.

Comments on several classic textbooks:
The C program design textbook K & R is The inventor of C Language. Although it is a bit old, I often flip through a necessary manual. The length is relatively small, but every time you read it, you will get it again. It can also be replaced by Tan haoqiang's C language programming.

Advanced Programing in Unix Envirement W. Richard Steven S: it's also a very classic book (nonsense, but it's not a classic of the Steven s book !), Although it can be viewed by beginners, it is actually an auxiliary document in Unix Network Programing. The Chinese Translation of "Advanced Programming in UNIX environment" is not very good. Now there is a photoplate, it is easier to directly read English than to read Chinese.

Unix Network Programing W. richard Steven s: the first volume is about BSD Socket network programming interface and another network programming interface, but now we usually use BSD Socket, so this book only needs to read about half of it. The second volume is not designed for the network, mainly for inter-process communication and Posix Threads. After reading APUE, you can read it. Basically, the system is summarized by APUE and UNP vol2. After reading UNP, you will know the vast majority of programming skills in system programming, even if the first volume is about network programming. In China, Tsinghua translated "Unix network programming", with a high level of skills and good translation skills. We recommend that you read the Chinese version.

There are three volumes of TCP/IP xiangjie, namely, the Protocol, the implementation, and the programming application. I have not read it ., But it is also said that it is classic, because I do not have time to read the second, so it is inconvenient to comment.

"Using TCP/IP for Internet connection" Douglus. E. Comer consists of three volumes: principle, implementation, and advanced protocol. It seems that this set is better than the set of Steven s, and even Steven s has to admit that its first volume is very classic. In fact, even if you do not have any knowledge about the network, you will be familiar with the network in the future. There are also a lot of exercises designed to be classic and practical in the first paper, because the author is a teacher and a foreign graduate student's teaching material. There is no answer to the exercises, which is left for readers to think about, because the answers to these questions can make you an intermediate Hacker. The answers to these questions can be obtained by Douglus, however, I don't know how to read this document only for the instructor. I can use this document as a reference manual. The examples are also classic. If you have read the source code of Qterm, you will know that the telnet Implementation of Qterm is mostly from the source code of this book. For the book on Network principles, I recommend it, instead of Steven S's explanation of TCP/IP.

Operating System-Design and Implement is an example of the Operating System. The author's mother tongue is not English, so the English looks rather obscure. The Chinese translation is "Operating System Design and Implementation". I have never read the Chinese version, because the translator is Yu jinyuan, and his translation of "APUE" has left me disappointed. After reading this book, how can the underlying operating system work?
Have a clear understanding.

"Linux Device Driver" 2e is one of the few good books about Linux Device drivers. However, the content is a bit messy. If you do not have some writing-driven experience, you will not be able to touch the north and south for the first time. In China, I translated the second edition of Linux driver, the first edition, and the second edition. However, although the second edition is somewhat unsatisfactory, however, compared with the first version, it has already exceeded a large margin. To read this book, you should at least find some books about computer principles and computer architecture. At least you should have some knowledge about the hardware and computer processes.
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.