Is the difference between programming languages really that big?

Source: Internet
Author: User
Tags java web

Software development is a special occupation, special to a little strange, industry practitioners of the classification of the job is very unstable, such as in ancient times there are C engineers, C + + engineers, VB Engineers, and later with the Java engineers,. NET engineers, PHP engineers, and then a front-end development engineer, NODEJS engineers, Golang engineers, Python engineers and so on, anyway every few years will be inexplicably popped out several new software development occupations, let a batch of people flock to. And then these different professions do some overlapping things, such as Web sites, Java,. NET, PHP engineers can do, such as the client software, C + +, VB, Java,. NET can also do, such as server programs, C, C + +, Nodejs, Golang can do it all again.

And the engineers who use different languages to do different types of software have an exclusive relationship with each other, except in a few cases, if you want a Java Web site engineer to develop and maintain the web site of. NET or PHP technology development, sorry, no way! The reverse is the same. As for the reason, the most used should be "not" "not interested" "learning costs too high" and so on, in a word, even if these different technologies are used to do the same thing, even if they do these same things will always use some similar skills, but they always have a difference between, It is always difficult to smooth transitions between different technologies unless the same techniques used by different technologies are much more common and the cost of smoothing the differences between them is very low. Take the use of different technologies to do the site This example, the same technology between the same place has HTTP-related content, database use, server principle, etc., the difference is not escaped from the language, class library, framework, in fact, the language can be three of the content to include, because they belong to the category of language. Language for many developers is an insurmountable mountain, perhaps because of the inability, perhaps because of no interest, perhaps because there is no energy, but anyway is difficult.

Then analyze it from another angle. Languages like C + +, Java,. NET, JS can be adapted to a variety of application scenarios and can derive many occupations, such as C + + customer Engineers, C + + server Engineers, Java Android Engineers, Java Web site engineers,http/ASP Website engineer,. NET Windows Client engineer, JS Front-end development engineer, Nodejs Server engineer, look at this posture, the light of a language can create n kinds of engineers, horror. We talked about using different techniques to do the same thing, and here's the opposite, using the same technology to do different things. The different types of engineers in this way have a certain degree of uniformity among themselves, but generally there is no hostility to the way in which technology is divided, and the number of programmers who actively want to transition between different types is also more, however, the cost of transition between them is no less than the transition from one technology to another. Take the most popular JavaScript language, it turned out to be a web scripting language, is used to write Web page effects, along with the hot development of the Internet, JavaScript language also began to line its way, in recent years has developed a kind of called Nodejs Server programming technology, Focus on high concurrency high performance, high concurrency and high performance Ah, the force of the high-level skills, mastered as if the world, so countless developers crazy. Front-end development engineers who used JavaScript were naturally no exception, and the technology used their housekeeping language as if they took advantage of the innate superiority. In fact, however, there are few engineers actually transitioning from web front-end development to Nodejs server development, because the cost of flattening the difference is very high, in other words they use JS, but the difference is huge. JS Web effects and Nodejs server program similarities, is nothing more than JavaScript language, but there is no trace of overlap. The HTML, CSS, jquery, and other frameworks used in the front-end pages do not have a shred of use when writing Nodejs programs, and the Nodejs need to master the deeper principles of HTTP, network communications, database technology, and so on, every technology is not a fuel-saving lamp, A good bite of the cartilage head, and these are what most front-end programmers do not grasp, so the cost of transition is really very high, the difficulty is very large. Another example is the use of Java technology, Java Server Programmers are good at using server, database-related technology, and the same use of Java as the development language of Android applications, development is measured in the interface drawing, control use, compatibility problems to overcome skills, if the server programmers want to transfer positions, The vast majority of weapons before the reserve will be all scrapped, the development of new procedures almost zero combat effectiveness, all from scratch, this cost is not small, difficult can not be said to be low, there is no way to transition is also reasonable.

How to fix it? How do you use different technologies to develop the same program? Like using PHP, Java development sites and using the same technology to develop different programs? Use JS to develop front-end pages and make Nodejs develop server programs, or use C # to develop Web sites or develop Windows clients. The superficial solution is what to learn when you need to do something. But first of all, cramming must be too late, this is a reason for the exam, and secondly, the software development industry tens of thousands of technology, different kinds of software is countless, our time is limited, there is no need to spend a lot of time on this, only the kind of not sex life of the cock silk and just graduated students dogs will do so. The most effective way is to learn a series of general-purpose technology, after mastering these technologies, the use of different technologies and the development of different types of software cost and difficulty will be greatly reduced, like the Zhang Gangzi Society nine Yang after the sister son also a quasi. Is it true that there is a panacea or a universal key that can open any lock? I think, there must be. Imagine that the software development of everything is based on the computer, that is, the CPU, memory, hard disk, motherboard, display, keyboard and mouse together the building blocks, as long as we have mastered its operating principle, it means that we are the host of the virtual software world, want to do what to do, how to do what to do. So how do you master this one-buttock machine that can sit and break, but it's a big, roaring thing? Actually very easy, as long as the microcomputer principle, operating system principle, compiling principle, database principle, algorithm principle and so on all sorts of principles to learn again, then package your code to write all over the invincible hand. See here you are not particularly want to curse, think I say is everyone knows the nonsense, but not a few people can do. In fact, I just want to say that you must work hard when you go to school, only then you have the energy and intelligence to go on these high-cold and difficult to conquer skills, and then orgasm. After graduation, definitely not, powerless!

Is the difference between programming languages really that big?

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.