Talking about the choice of programming language

Source: Internet
Author: User

There are always new people asking me, which programming language should I learn? Too many programming languages, I do not know which programming language to choose to go deep into the study! Yes, I was also troubled by this problem, when learning software programming has experienced c/java/c# such routes, and later I also contacted and used C++/visual Basic/javascript/php/python and other languages, and learned some unpopular language. Over the years, my understanding of programming languages is that every programming language has its reasons, and each programming language has its own best-fit scenario, and no language can do it all.

Let's take a look at the World programming language rankings for the March 2016:

Here is a list of the most popular TOP20 programming languages, let's start by analyzing some of the most commonly used programming languages.

Java: The King of application development, Java EE and Android are the highest in the rankings to keep the ranking first.
C: The operating system core, embedded development and other aspects have unparalleled advantages.
C + +: Suitable for service-side development, game development and other performance requirements of the field.
C#:java's direct competitors, in the field of application development has a considerable share of the popularity of Unity3d, also let C # expansion into the field of game development.
Python: Dynamic scripting language, with the growing share of big data-related technologies.
Php:lamp is almost standard for web development, and various frame templates are more mature.
JavaScript: Dynamic scripting language, the only choice of Web front-end development, with the development of HTML5, node. JS and other technologies, so that it has unification trend in the Web, in the game development, IoT development and other fields have its place.
Swift/objective-c:ios development language, Swift is evolving.

Above, I briefly introduced the current several mainstream languages of the respective application areas. It can be said that no language can completely replace who, but there is no guarantee that with the continuous development of technology, these languages can stay ahead.

Choosing a language is actually choosing the technology stack behind it, so we should choose the language around the field of application. For example, if you want to do the operating system kernel, embedded development, then you go to learn C. If you want to develop a game, you may want to learn cocos2d-x or unity3d, which correspond to C + + and C #, and of course JavaScript. If you want to implement Web-full-stack development, you may need to be proficient in JavaScript. There is no programming language that can do everything.

However, when you are learning to program, the choice of the first language is important and will affect your thinking. I would like to novice programming or choose C language is better, C + + although is C's "expansion", but the rules are too complex, too many concepts, beginners will lose confidence. With the foundation of C, you can learn one of the c++/java/c#, which is currently the most mainstream language in the field of application development.

The popularity of big data and the rise of front-end development in recent years have made Python and JavaScript two-door dynamic scripting languages more prevalent, with corresponding libraries and frameworks evolving. So many people have turned to the development of this area. This leads me to a point of view: Learning programming There is a kind of thought is not necessary, is to covet chatty. A person's energy and ability are limited, it is difficult to master all. Moreover, the technology of each technology system is continuously upgrading. Is the full stack engineer, that is also a certain aspect of the full stack, such as the Web full stack or app full stack. Not do not do the Web full stack +app full stack, but it is difficult to each piece, every detail can achieve the same high level. With the division of software Development More and more fine, or let more professional people to do as well. You can have time and energy to learn about other areas of technology, expand knowledge, but do not before the cart.

Finally, I would like to say, do not limit yourself to death in a programming language, according to market changes and their own interests reasonable choice of programming language, let us be a real programmer.

Talking about the choice of programming language

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.