Talking about Linux, windows, and Mac -- Wang Yin

Source: Internet
Author: User
Tags ole macbook
Many people have received emails during this period. They read articles I wrote a long time ago about Linux and want to know how to "abandon windows and learn Linux ". God knows where they found such an old article ...... I feel that I have the responsibility to eliminate misleading people from my previous articles and clear the bad names of my "Linux fanatics. I think I have already written some clarification articles, but why can someone send me a letter?
Linux problems. I deleted all my articles because I felt "Public Opinion pressure.
In short, I want to say to cainiao who think Linux will never learn:
1. Linux and UNIX contain some very bad designs. Do not be intimidated by UNIX dogmatism. It's a Linux error. It's a Unix thought error. Do not waste time learning the usage of too many tools and study strange command lines. Especially careful analysis of seemingly difficult and complex things.
2. Windows avoids many problems with Unix, Linux, and Mac OS X. Microsoft is a respectable company that really cares about program development tools. I took back my contempt for Microsoft. Ask cainiao to absorb the good things in the Windows design. In addition, Visual Studio is a good tool that greatly improves programming efficiency. Do not discriminate against IDE. Face up to the limitations of text editors such as Emacs and Vim. Of course, these positive comments do not mean that you should work for Microsoft. Just like I like the iPhone, but I don't have to give it
Apple works the same way.
3. The best way to learn about an operating system is to learn (real) programming ideas, rather than "Learning" a variety of weird tools. Almost all operating systems, databases, Internet, and web design ideas (and defects) can be simply explained using the program language.

Let's talk about my current views on Linux and related tools (such as Tex. I use Linux for work every day, but I don't want to use it when I go home. At work, I basically tried my best to improve it so that it would not cause me any trouble. There are many design errors in UNIX, but they are treated as dogmas and passed on to generations of programmers in a vicious circle. UNIX shells, commands, configuration methods, and graphical interfaces are all pretty bad. Every new version of ubuntu will encounter new errors in the graphic interface design, making you feel how history will go backwards. In fact, this is only a superficial phenomenon. Linux
The graphic interface used (X Window) is basically useless. I don't want to elaborate on the disadvantages of UNIX here. In the early days of its appearance, someone had written a book named UNIX hater's handbook, which has a special chapter called The
X-Windows disaster. It points out that X Window looks like a clever client-server design, but it is not as good as it is.
This book brings together the emergence of UNIX, which many cursing. Interestingly, this book has an "anti-preface" written by Dennis Ritchie, one of the creators of UNIX. I used to think that UNIX scolds are some cainiao. They must have a low IQ, or have been brainwashed by windows. They cannot understand the clever design of UNIX, so they can swear at the street. After understanding the design principles of the program language, I found that most of the words they said are true! In fact, some of them were the world's top programming experts who wrote their own operating systems and compilers.
UNIX creators. They used more rational systems, such as multics and lisp machine.
Unfortunately, in the current operating system books, multics is often used to set off UNIX's "Simplicity" and greatness. UNIX books like to describe such a history in Chapter 1: "multics failed because of its complicated design, comprehensive attempts, and high price ." But does multics fail? Multics, Oberon, IBM System/38, LISP machine ,...... Linux was built decades ago
There are no good things yet. UNIX, virtual memory, file system ,...... Basically, they all come from multics. Multics's machine was still running until 2000. Not only does Unix "tamper" historical textbooks, but it seems that it never learns from them. So far, it has not implemented the good things that have long existed in earlier systems. There is almost no consistency or principle in UNIX design. The functions of various tool programs are repetitive and redundant, so data cannot be effectively exchanged. However, in the end, Unix defeated the advanced design of other systems by virtue of its "cheap", "Religion", and "Philosophy", and ruled the programmer's world.
If you want to know what advanced technologies we do not have in these "failed" operating systems, refer to this article: Oberon-the overlooked jewel. It introduces the Oberon Operating System of Niklaus Wirth (the PASCAL Language designer.
The winner is king, but Unix is actually a tyrant and it does not allow you to criticize its mistakes. It uses the public opinion pressure of other programmers to make every system design error be said to be a user's own mistake. You don't dare to say that a tool design is faulty, because if someone else hears it, they will think that you are not smart enough to say that you are "stupid and cool ". This is like the people in "Emperor's New Clothes", who clearly know that the emperor did not wear any clothes and said, "This dress is beautiful "! All in all, the concept of "user friendly" is discriminated against and misinterpreted in the Unix world. UNIX
Many fanatics carry a kind of abnormal "elitism ". They are proud to use difficult tools and despise those who use "user-friendly" tools.
I once strongly respected tools such as FVWM And Tex, but now I keep my eyes open and it seems that their interface for users is actually a very bad design, in line with Unix. They exposed many unnecessary details of the program design and their design mistakes to users relentlessly. It makes the user feel that there are so many things to remember, as if they can never grasp it. To be honest, I read texbook twice and completed all the exercises (including the most difficult "Double bend" exercises ). After a few months, I almost forgot to clean it all. Why? Because the Tex language is a very bad design, it does not follow the basic principles of programming language design.
Here is a little bit of story. Tex has an "Extended Language", which is recommended by scheme inventor guy Steele. Steele worked in Stanford that week. He heard that knuth was designing a typographical system and strongly recommended that he use an Extended Language. Later, knuth adopted his suggestion. Unfortunately, Steele left a few months later and failed to help knuth complete the language design. Knuth is clearly the kind of "elitism" that I have mentioned. How can he always design hard-to-use things and write hard-to-understand books?
A good tool should have only a few rules to remember, just like playing chess. However, these Unix-originated tools are like "Devil's chess" or "Three Kingdoms". There are too many, boring, and artificial rules. Some people despise graphical interfaces, IDE, garbage collection languages (such as Java), and all "easy" things. They do not know that they can never become masters by immersed themselves in complicated rules designed by others. Just like a person, he has the ability to learn various "Devil chess" rules, but he can never reach the height of a chess master. Therefore, easy things are not necessarily bad, and difficult things are not necessarily good. To learn about computers (or any other tool), you should "select the right one, not the right one ". Remember a bunch of commands, useless tool usage, and nothing will be left in the end. Learning "principles" is never outdated.
Many technical design details of Windows may be equally bad in the early days. However, it is moving towards a more structured and simpler direction. Windows technology has evolved from Ole, com. net, coupled with efficient programming tools such as Visual Studio, these have greatly improved the efficiency of programmers and users, avoiding many unnecessary problems in UNIX and C languages. Windows programs have been able to easily exchange data since very early on. For example, Ole allows you to embed an Excel table into a Word document. I have to point out that these are very good ideas that go beyond the "UNIX
Philosophy. On the contrary, due to the misleading "UNIX philosophy", Unix programs always use strings to exchange data, and the format is not uniform, so that many programs cannot copy and paste data correctly. The "configuration" of Windows is all recorded in a central database (Registry), which greatly simplifies the configuration of the program. Although the Registry seems to be always in trouble in the Win95 s, there is basically no problem now. On the contrary, all UNIX configurations are recorded in a variety of strange configuration files, distributed in various places of the system. You do not know which configuration file records the information you want. The connection syntax for each configuration file is different! This is why Unix
The company always needs a "system administrator", because software engineers are too lazy to remember these troubles.
Let's compare Windows and Mac. I know a senior Adobe designer. He told me that it took two years for them to port Photoshop to an Intel-based MAC. It only takes two years to port an application with a processor. Why? Because xcode is really much worse than Visual Studio. Some design reasons for Mac OS X make them suffer from transplantation. However, he is proud to say that many people did not buy it after two years.
Intel's MAC Architecture is because they are waiting for Photoshop. Finally, he bluntly said that Microsoft is actually a company that really cares about programmer tools. In contrast, although Apple looks friendly to users, its interface to programmers is much worse. As Apple does, Linux is worse for programmers. But what's the solution? Some are masochistic. I want to make others suffer. Just like me.
Of course, I am not a cloud user. I have seen Microsoft's accomplishments and investments in programming languages clearly. I just verified my existing views through others' experiences. So I was not surprised to hear that other systems have received such comments from apple that I learned. After all, Mac OS X is transformed from UNIX and has not yet been replaced. I have a MacBook Air, an iPhone 5, and a retired Windows 7 t60. I have to admit that although I like the MacBook and iPhone hardware very much, I found
Windows is actually more rational in many software designs.
Why did I despise Microsoft at the annual meeting? This is simple. I'm just following a group of people! They said Linux could save us and give us freedom. They say Microsoft is an evil company ...... Up to now, I still have people who despise Microsoft for no reason, but I don't know why. But who made UNIX? It's at&t. Which of the following is more evil for Microsoft and at&t? I don't know. But you should understand the history of UNIX. At&t found UNIX to be profitable. How many people have filed a lawsuit for years? In fact, at&t has already monopolized Microsoft and has been split up into several companies. Think of another company in the world that independently designs a full set of products from bottom to bottom: programming languages, compilers, ides, operating systems, databases, office software, game consoles, mobile phones ......
I have to admit that Microsoft is a respectable company.
Not all companies are the same, all of which are interest-oriented. Our programmers should not be used by them as an eye of the struggle of interests. You can learn what you want to learn. What I learned does not belong to monopoly companies. We all have a free mind.
Of course, I do not advocate windows for Linux and Mac here. The disputes between these systems are basically none of my business. I just want to tell new people how to remove religion, extreme, hate, and contempt in their minds. Every time you hate something, you lose the opportunity to learn from it.

Note: "user-friendly" is something worth studying, but it is not enough. Many UI designers design things beautifully, but they are not convenient. If you want to know what design I think is "user-friendly", refer to this blog.

 

Transferred from:

Wang Yin blog

Http://blog.sina.com.cn/yinwang0

 

 

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.