Programming Language Design and programmer mentality

Source: Internet
Author: User

I recently read Wang Yin's blog, which contains someArticleI have benefited a lot. He summarizedProgramTwo Problems in language design: one is the one-sided pursuit of short, using C language as an example; the other is trying to accommodate the world and using python as an example. Generally, people who can design a language are masters, especially those who use a lot of languages. The inventors of these languages can be said to be top talents, its intelligence and professionalism are top-notch. However, the designers of a language are usually one person. If a person is a top-notch person, it is easy to have an idea: How to show yourself. I designed this language. How can I show my strengths if I don't have some intellectual characteristics like others?

As a programming language, what if we can make some intellectual characteristics? The most obvious difference is who is shorter. This kind of thinking is naturally generalized to the programmers who use this language. You need to write ten lines. I can do it with only one line, the write duration is equivalent to the write speed, the write speed is equivalent to the write speed, or even to intelligence. So in the old era where C was king, many people sought to write short programs and the results were quite readable. Since the rise of Java, this kind of short thinking has been overwhelmed. Another is to talk about philosophy. Python like to talk about philosophy, so as Wang Yin said, he wants to accommodate the three people in the world with two heads. For a slightly larger project, this feature of Python makes the program uncontrollable and almost becomes unavailable. It is said that it is superfluous and harmful.

Designers of a programming language, their design ideas and ways of thinking, will more or less affect programmers. As a result, programmers have more or less problems in pursuing short content and accommodating the world. Short pursuit is more common in C language, while the world is more common in Java, resulting in more serious and far-reaching problems. In my opinion, the Java industry has been over-designed in the past few years. A framework similar to SSH is a product that tries to accommodate the world. The design concept of the framework, for example, can replace the database at will, can replace the middle layer, can be displayed in multiple ways, not to mention the wrong idea, but the implementation means bring a lot of complexity. As a result, another kind of thinking is introduced. The more complicated the things are, the more intelligent they are ".

In China, there is an old saying that Chinese people look down upon each other and think that others' articles are not as good as their own. Writing a program is a bit similar to writing an article, so programmers also look down upon each other. Some people often look at othersCodeI often told people that technical staff should not be embarrassed, do not look at people with a self-evident attitude, or improve people with an open mind.

In addition, many people focus on technology rather than products. Big things can be done well, but they do not want to do the details. The result is 80%, and the latter 20% cannot be improved as long as they are not complete, it is not a product. If it is not a product, it cannot be used for profit. If it cannot be used for profit, it has no value. Technology constitutes a product, but the product is not equal to technology. Technology must form a product to have value. This is the embodiment of our value as a technician.

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.