Is programming language just a tool?

Source: Internet
Author: User

Previously, I thoughtProgramming LanguageThere is no distinction between good and bad. It is just an expression tool. The key is to think about it in advance.

Many people agree that, in the language competition, the predecessors will also use the above arguments to settle the dispute. The above points are not correct, but I think they are incomplete and easy to be misunderstood.

Language is indeed a tool, but we should not ignore the role of the tool. What we think, what we do will decide what tools we use, but what tools we have will also decide what we think and how we do things. If the tool does not provide this function, you will not think about it. For example, early basiC Language, Does not provide recursion, you use this language to writeProgramYou will not use recursionAlgorithm. If you only use the basic language, you probably have never heard of recursion. A so-called master who only uses basic can solve many problems. At some time, the master may feel that basic is enough. At this time, someone told him that basic is very poor and explained the concept of recursion to him. He may not be able to hear it. It makes sense that the programming language is just a tool for expression. You have your tool, I have my tool, I write my basic, and I don't talk nonsense to you.

In addition, when programming, most of us don't want to write it all in advance, but write and think about it. The more you write, the more you think. I think software is not designed but evolved. From this point of view, there are good or bad programming languages. Simply put, the better the language that can help you think, the more flexible, expressive, and less restrictive. Programming languages are like mathematical symbols. Math symbols are also a tool. Good Math symbols can help users think. what's even more amazing is that they also think. When you use the Arabic numerals 0123456789 for computation, you will feel that everything is logical. It seems that the number itself is being calculated, not that you are doing computation. Before the advent of Arabic numerals, it was very difficult to use Roman numerals for multiplication. At that time, you would probably perform multiplication, and you would be a mathematician.

The programming language will guide the thinking. Language design or evolution advocates some way of thinking. Some languages advocate functional programming, some languages advocate object-oriented programming, and some languages advocate structured programming. If the language doesn't even have a function and you use goto to jump, you may still stay in the Age of farming. A variety of programming styles and the emergence of various programming languages can better touch new things. Different languages are applicable in different scenarios. From this perspective, there is no difference between languages. In the language debate, the most vocal and irrational competition is often a person who only understands a certain language and is limited to a certain kind of thinking. Java's C language does not understand the design pattern, but does not understand the design pattern. C's language of Lisp will make silly parentheses. LISP's smile C ++ thinks that Lamda is out of the store, c ++ says JAVA does not focus on efficiency.

The programming environment will also affect our writingCode. The interactive environment will form the habit of incremental development and bottom-up. After the IDE completes the automation, the variable and function name become longer. After all, two or three letters are entered, and the entire function prompts that the whole function is complete. If it is not completed automatically, it will tend to take the abbreviation, short and easy to remember. I suspect that C's standard library function names are abbreviated in many ways because of the time when the standard library was compiled and the name was too long to be remembered.

A language is indeed a tool, but it can help us think and even decide how we think. So if you want to get started with other languages and understand their unique concepts without being bound by some programming thinking. You can use C, Java, and lisp for programming, but those proficient in C programming often do not only learn C all day long.

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.