The universal programming language does not habitually treat tools as fig leaf of your natural flaws. __ Programming

Source: Internet
Author: User
Tags data structures
a universal programming language do not habitually treat tools as fig leaf of your natural flaws.


I just started writing programs that would be very concerned with comparisons between various programming languages. Each time oneself uses the language to be others judge, the heart is with the overturned wuweiping like, is not the taste.

In the same situation, those who are skilled in knowledge or have a little success in the industry will generally be calm and reasoned to argue with others. I don't feel any offense at all, and I don't suddenly feel like I'm short of arms and legs inferior. Instead of the novice, no technology and above his business dabbler, a random nonsense, then shamelessly began to dozens.

Why are some programmers so obsessed with programming languages?

As we all know, the story of the writer, no matter how ups and downs, wonderful, the figure of how vivid, leap off, all with the pen clenched in the hand without any association. In the final analysis, pens and paper are just a familiar expression tool. Even if the use of stone tools, the reduction is only the efficiency of writing, rather than their creative skill. "A tool is only as good as the person using it."

Does that same principle apply to programs and programming languages? The answer is yes.

If the programming language is simply seen as a tool. Then, static and dynamic languages are simply trade-offs between running speed and development efficiency; Object-oriented programming (OOP) and functional Programming (FP) have their own strengths, so the choice can not be separated from the actual business needs and application scenarios.

Most of the time, the real difference between the programmer's technology is often like the usual algorithms, data structures such as the basis of ' hard knowledge ', as well as the overall understanding of how the hardware works. As long as Ken spends more time learning and practicing, how much can be accomplished, there is no need to pay too much attention to the comparison between languages.

But that is the root of the problem. In daily life, people seriously underestimate their ability to control nature, mistakenly think that achievement is largely linked to something. But what is the truth? Nobel-winning psychologist Daniel Kahneman "Everything you want in life is not as important as you think. "

This is a summary of the "Focus illusion" presented by Nobel laureate Professor Daniel Kahneman, who also cited an example: "Education is one of the most important factors in determining income." But it's not as important as most people think. If everyone is educated in exactly the same way, the income gap will only shrink by less than 10%. When you focus on education, you overlook countless other factors that determine your income. Some people have the same level of education, but there is a huge difference in income. "

It is not as important as the genius to continue to infer according to this logic. Even if it is important, it may not work, because: "with most people's efforts to a low level, there is no way to spell talent." "

See this, you may think I am in the concept of a substitution; The reason why programmers are so concerned about programming languages is that the framework of these things is purely due to their love of technology, like the car driver's obsession with speed. And you see F1, the hardware of the racing car does not have anything to do with the results of the racer.

On the same track, give you one of the world's fastest cars, the non-professional riders you are sure than the Schumacher sitting in the sports car? Not in technical research how to progress, but on the tool pick, fastidious. All day a delusion to find a universal language, so that once and for all. Isn't it lazy in the mind? Is it easier to complain about your efforts or to complain about the impact of your surroundings?

PS: About the programming language that paragraph, speak a little more general. Many dynamic languages now run at the same speed as static languages, even beyond. Not as bad as the days before. And the new generation of high-performance static language, like go, does not lose the development efficiency of Python and Ruby. Finally, everyone has their own mode of thinking, so it is important to find the right language to express their thinking. But in any case, do not habitually treat the tool as a fig leaf of your natural flaws.

PPS: With a lot of idioms, the ability to control the language has yet to be improved.


Reprint website: https://medium.com/p/52fec115c513




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.