Sorrow for linux programmers

Source: Internet
Author: User
The sorrow of linux programmers-general Linux technology-Linux programming and kernel information. The following is a detailed description. I'm not a master. Especially in linux c \ c ++, or even very low-handed.

1. Who knows more?

This problem varies from person to person. Because windows programmers with deep technical details are more familiar than Niu Mao, there are as many linux cainiao as me. I chatted with a friend who worked at Microsoft many days ago. When talking about the technical details of windows programmers and linux programmers, I also slapped my chest and said, "How can this happen, I know more than you ". Now, I have to think more about my stupid performance. I basically agree with my friend's point of view:

(1) "whether it is c, c ++, c #, or even Java, whether it is windows or linux, writing good software is hard skill ".

(2) "even if you know more than me, I can even write better code than you do ".

To be honest, I agreed with him a long time ago, but I did not admit it myself. Programmers are like architects. If someone is waiting to live in the building you have built, just take the bricks and tiles and build the steel bars. But some people do not do this. They have to know the chemical formula of bricks and steel bars before they can do it. They hate burning bricks, refining cement, and cutting steel.

2. Do you really know more?

In fact, this is not answered in the first question. Some linux programmers despise programming based on specific interfaces or specifications of a platform. They are keen on making their own wheels and get lost in their own ways. They learned how Neil Matthew and Richard Stones say they only need open, close, read, write, and ioctl to operate on files. They get bored when they see interfaces encapsulated by others, although they occasionally encapsulate several interfaces for their own use. In their opinion, opening a file with open is more horizontal and closer to God than opening a file with open_file.
In fact, whether it is system calls, library functions, or encapsulated interfaces. They are all just "interfaces. If you still feel that open files are more expensive and enjoyable than open_file. Do you know how open is implemented at the underlying layer? If you cannot answer the question clearly, put down your self-esteem and use open_file instead. After all, they are just "interfaces" for you, and you don't even know their real differences. As a linux programmer, You can first falsely resist windows, and then use windows to dive and flood water in the CU. No one knows. The problem is that, whether in a company or research institution, you can hardly do without windows ,. When talking to others about windows, you mean not to mention anything.
Actually, it's because you can't say anything.

3. Want to know all, but it is no longer possible.

This is probably a philosophical question. We cannot figure out all the details, even a limited scope of knowledge. Today, computer science has become a huge knowledge system. When we put on the chart to focus on one aspect, we found that we had to understand other things. The final result is "The more you know, the less proficient you are ". When Ken Thompson and Dennis Ritchie entertain themselves in writing UNIX, they don't need to know the UNIX Command set, because everything is up to them. So, in a sense, we know more than they do. Because they know, we can get it through learning. But I am sure that Dennis Ritchie should not know the real process of micro-elements passing in biological cells-I have to learn these things, because this is a necessary knowledge for my work. Therefore, with the development of computer science, for a completely unfamiliar computer, the learning gradient will become larger and larger, so that we cannot truly master or even some aspects of knowledge. If your goal is not as vulgar as it is, you will understand the pain brought by the expansion of knowledge. Because you will find that the more you know, the more you become ignorant.
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.