2015 programming language "money" inventory

Source: Internet
Author: User
Tags cassandra learn php ruby on rails

Science and Technology Engineering Mathematics (STEM) talent is in short supply, salary is rich, this is already not what news. From 2007 to 2012, the U.S. posted a 31% increase in software jobs on the Internet, nearly 3 times times faster than the overall job. The U.S. Bureau of Labor Statistics estimates that from 2012 to 2022, software developer jobs will continue to increase at 22%, and as of May 2014, the median annual salary for application developers is $95510.

If you're going to learn how to write code, you'll find that the absolute number of programming languages is staggering, which language should you learn? This article compares salary, popularity, and employment prospects with different programming languages and hopes to help you.

Programming language Overview
Before we start comparing programming languages, let's take a look at some of the languages that will be introduced.

Dynamic type language
It is generally considered that dynamic type languages are easier to learn for non-programmers because they are flexible. You don't have to write too many lines of code, you can quickly build an application from scratch, and there's no hard rule that shows how to write code so that the code runs the way you want it to. Dynamic type languages are often interpreted (not compiled), which means that running applications can quickly reflect the changes you've made and can save you time.

In general, Web applications are usually written in dynamic languages.

Javascript

Don't confuse JavaScript with Java; JavaScript is primarily a client-side scripting language for front-end development. JavaScript is compatible with all browsers to build interactive Web applications that are often built through code libraries such as jquery and front-end frameworks such as Angularjs, ember.js, react, and more.

JavaScript can now also be used as a server-side language through the node. JS platform. Although node. JS is relatively new, the community is gaining momentum. You can also build hybrid mobile apps with JavaScript using frameworks like PhoneGap, while Facebook's react native is designed to allow you to build native mobile apps with JavaScript.

Incidentally, Facebook's react also supports JSX, a JavaScript syntax extension that can be compiled like JavaScript.

Ruby

Ruby is designed to make it fun for developers to work efficiently, and it's popular with the Ruby on Rails framework, which is optimized to ensure that the programming process is fun. Because Ruby is similar to English grammar, rails has tools that make it easier for common development tasks to be done "by default," and many people would recommend that Ruby be selected as your first programming language.

Ruby is most commonly used for back-end development, and popular sites like Airbnb, Shopify, Bloomberg, Hulu, SlideShare, and more are built with Ruby on rails.

Python

Python is another language that is highly recommended for beginners, and it is also the most popular entry language for prestigious universities in the United States. Developers use Python to build desktop applications and Web applications, and they have great tools for data mining. In addition, Python is particularly popular in academia for scientific computing, data analysis, and bioinformatics.

Google, Dropbox, Pinterest, Instagram, Reddit, BitTorrent, Civilization IV and more are built using Python.

Php

PHP is a server-side scripting language that is often considered suitable for beginners, because the task of PHP code to accomplish is easier to conceptualize, so it is not difficult to learn. Most Web sites are built with PHP, because the language is specifically web-oriented.

Facebook, Wikipedia, Yahoo, Tumblr, WordPress and more are built with PHP.

Static type language
It is well known that applications built with statically typed languages are more extensible, more stable, and easier to maintain. Static languages are often harsh (by type checking to find errors) and need to write more code to build prototypes. Game engines, mobile applications, and enterprise-level back ends are often built in statically typed languages.

Java

As a common language, Java is used to build Android apps, desktop apps, and games. Java is also often used as a server-side language for enterprise-level back-end development: 90% of Fortune 500 companies use Java.

In addition, Hadoop is a popular Java-based framework for storing and processing big data, implemented by well-known companies such as Yahoo, Facebook and Amazon Web Services (AWS).

C
C is often used to write system software, which is a common language for many operating systems.

C affects almost all of the programming languages we'll cover in this article, especially objective-c and C + +. So, if you are familiar with C, other popular linguistics may not be very difficult. Because C needs to write more complex code to perform simple tasks, it may be difficult to maintain full momentum if the beginner chooses it as the first language. However, mastering the knowledge of C is sure to help the programming process.

Objective-c/Swift (for iOS development)

Objective-c is based on the C-language layer and makes it static, but it can also be used for dynamic types. Apple's Swift is a static language designed to be compatible with OBJECTIVE-C, but its static type makes it more resilient to errors.

Swift is inspired by Python and is designed to make it easy for beginners to learn. As Swift is newer, we mainly introduce objective-c in this article.

C++
C + + is a powerful language based on C. It is designed to write system software, but it is also used to build game/game engines, desktop applications, mobile applications, and Web applications. C + + is powerful and fast, so even Facebook uses it to develop several high-performance and highly reliable components.

Many of the software is built in C + +, including Adobe Systems, Amazon, Paypal, Chrome, and more. C + + is often considered to be difficult for beginners to teach themselves.

C#
C # is for Microsoft's sake. NET Framework, this framework is primarily run on Microsoft Windows.

C # is used for Web development, game development, and general Microsoft development. Although Microsoft was not known for cross-platform compatibility in the past, the start-up company Xamarin is also developing an open source project called Mono, which is designed to Port C # to other platforms and bring better development tools to the vast majority of Linux developers. Recently, you can also use Xamarin to build native mobile apps for iOS and Android using C #.

Other languages

Sql

SQL (Structured Query language) is a query language that is used to contact a database. Although SQL cannot be used to build applications, it can be used to manage data in applications that use a relational database management system (RDBMS).

Employment Opportunities
Well, now that you have a little knowledge of programming languages, you may have a little bit of understanding of what they call difficulty. However, not all languages have the same needs or salaries. If you're learning to program to get jobs, and you won't be told how difficult it is to learn a language, here are some things to help you figure out which language to learn.

Judging from the salary estimates from the Indeed.com website for job advertisements, we can basically divide the programming language into six gears:

Judging from this result, it seems that objective C has the strongest ability to absorb gold, while Java, Ruby, Python, C + + and C are also good choices. In addition, if salary is your concern, JavaScript, C #, SQL, and PHP do not seem to be the ideal choice.

The average salary is affected by a number of factors, such as demand (how many jobs are available), supply (how many developers have mastered the language), and seniority (the junior developer's salary is naturally lower than the senior developer), so it is necessary to analyze these factors in more depth before any conclusions are reached.

Employment trends
With the kind of programming language you're familiar with, how likely is it to find a job? Here is a brief analysis of employment trends from indeed.com:

As we can see, Java, JavaScript, and SQL are in short supply for the three types of developers. In particular, JavaScript has evolved quite rapidly over the past few years, surpassing C # in 2010 years, and is now comparable to Java.

There are still a lot of jobs for C # developers compared to other languages, and the demand for other developers seems to be similar. The relative needs of C + + developers have been reduced.

However, if your aim is to start a business, then the employment trend from indeed.com is not an accurate indicator. AngelList can be said to be the preferred site for startups to post jobs, so we analyze the need for programming skills based on AngelList's software developer ads.

Similarly, JavaScript is the most demanding skill, but startups seem to prefer Python and Ruby (on Rails) instead of Java, C, C + +, or C #.

Developer Supply Market
Take a look at the online programming coaching platform Codementor's coaches are good at which language:

Of course, this does not accurately reflect the actual market, but it should give you a general idea of the situation. As you can see, objective-c experts are scarce, but for some time the mobile app industry has been hot. Due to the shortage of good objective-c developers, their salaries are naturally higher.

On the other hand, the PHP talent seems to be plentiful, which means employers have more options and therefore more bargaining power in terms of salary, but we find that the demand is not as large as Java, SQL or JavaScript. As a result, PHP developers have lower salaries.

JavaScript is a very special case. Although the talent supply is the most, but it is not at the bottom of the salary grade, we will analyze JavaScript behind the article.

Salary Range
You have a general understanding of the supply and demand situation in each language, and you may want to look at the potential salary you are likely to receive based on salary information from your job ad. The data is based on data from Gooroo.io, and the salary is usually earned as an average of the salary range provided for each job advertisement.

As you can see here, developers who are familiar with Python, Ruby, C + +, or objective C seem to have a higher starting salary, but the pay-up space is also relatively limited. Python and C + + tend to be at the higher end of the potential pay range.

The difference between the lowest pay and the highest pay for Java and JavaScript is great. In particular, as of April 2015, JavaScript has the highest potential salary for skilled developers, currently at $188168.

Special case: JavaScript framework
From the above data, we know that JavaScript developers are in great demand and they have the highest potential salary, so the standard deviation between JavaScript developers is quite large. Thus, comparing JavaScript with other programming languages alone does not accurately reflect how much you can earn if you master JavaScript.

As mentioned in the programming language overview, JavaScript is a large class. Many frameworks are developed for the convenience of front-end Web site development, so if you know JavaScript and jquery, you might not get paid as much as other JavaScript developers who are familiar with the JavaScript framework.

Take a look at the average salary for developers of different JavaScript frameworks in the United States (react and backbone are libraries, not frameworks):

Of course, this is just for you to get an overview, and the estimates for indeed.com are slightly different. However, we can see from here that developers who are familiar with these frameworks pay an average of more than $102000. Only by mastering JavaScript can you learn these frameworks, so mastering JavaScript is a fairly "money-going" skill.

Take a look at the needs of developers who have mastered these frameworks:

node. JS is a back-end platform, and if you just talk about the front-end frame, you can see that Angularjs is obviously the winner and demand is soaring. Therefore, if you want to engage in front-end JavaScript development, you should probably learn angularjs.

React, on the other hand, is a fairly new technology, so it is still in a potential phase and may become more sought-after. From Indeed.com, the average salary for the react developer is $117000.

Programming Resources
If you have an understanding of the development community, it is really important and helpful to know that you can get help from other developers, especially if you are going to learn it yourself.

Joining the communities that help each other will undoubtedly make your future development work easier.

StackOverflow
StackOverflow is the largest developer community used by a wide range of developers around the world, designed to help other programmers or get their help, so we naturally analyze how popular a programming language is, and how much of the corresponding community help is available for those languages.

The popularity of language
From tag followers (tag follower) on StackOverflow, we can see the total popularity of a language in the present:

After analyzing employment trends, we know that Java and JavaScript developers are in great demand, so it's no surprise that they have the most tag followers. In particular, Java is still the most used label in StackOverflow, but JavaScript seems to be more hopeful than it is.

SQL, Ruby, and Objective-c have the fewest number of followers. Because Apple released Swift,objective-c in the next few years could develop limited.

StackOverflow response Rate
StackOverflow has an unwritten rule: you ask questions that are "properly worded," or others don't bother to answer. With this in mind, take a look at how likely your question is answered in each language:

From the above information, although less stackoverflow users focus on C, SQL and C + +, but more than 60% of the relevant questions were answered. Those who know the ropes may think that C and C + + are high-level languages, which means that users who ask questions may be more experienced in programming, knowing how to ask questions in more appropriate terms. On the other hand, SQL is not used to build applications.

It is worth mentioning that the Python experts on the StackOverflow are very helpful. Everyone knows it is difficult for beginners to ask questions correctly; As mentioned above, Python is often the language that beginners are recommended to get started with. However, despite being a more popular language, Python's response rate in 30 days is still more than 60%. (Python's number one speaker, Martijn Pieters, is also a codementor programming instructor.) )
On the other hand, although PHP is a widely watched language, it is one of the languages with the lowest response rates. This means that many people are in the problem of mentioning PHP, but not many people's questions have been answered.

Github
Once you are engaged in development work, you will eventually understand: Try your best to use existing solutions for your own projects. You can usually get an existing solution from an open source project, and GitHub is a great place to be. Users can start their favorite items, the more stars the project, the more useful it may be.

So, after analyzing data from GitHub, we can also determine the relative ease of developing projects using different types of languages. We also learned how quickly a language is introducing new and innovative technologies. To get to the bottom, this simple graph shows the distribution of GitHub's popular projects:

Obviously, JavaScript is the most dazzling new tool, even if you don't consider all the style guides and tutorials. JavaScript, as we all know, is a fast-growing language, with high wastage rates in terms of frameworks and new technologies, so that developers may find it difficult to keep up with the pace of JavaScript innovation. In addition, JavaScript is primarily used for front-end development in addition to the node. JS platform, so it is not directly "competitive" with other back-end languages such as Ruby, Python, Java, and PHP. In view of this, it is no wonder that there is such a big gap between JavaScript and other programming languages.

On the other hand, Ruby and Objective-c also have many development tools and resources. Interestingly, we can see in the StackOverflow comparison that both languages are not as popular as languages like Java, but developers often find open source projects more useful. This is especially true for objective-c if you take a closer look at the overall project written in each language:

In addition, most of the open source projects written in C/s + + are not geared towards the C + + development itself-they are tools written to help with general development (for example, the most commonly used Python interpreter is CPython, which is written in C). As mentioned in the introductory section of the programming language, C/s is used to develop system applications, so the open source project on GitHub is a system application that makes sense. However, you can learn a lot from open source projects.

Finally, although it is a widely used language, PHP is lagging behind in terms of available resources. As for C #, Microsoft is not known for its open source practices.

The foreground of various programming languages
How important is a programming language in the future? Judging from the current trends, we can get the following conclusions:

Javascript
Without a doubt, JavaScript will only become more popular, especially since it can be used for back-end development, and it may even be possible to build native mobile applications (via React Native). JavaScript continues to get more tools and updates at a fairly fast pace, so it can be expected to remain extremely important in the future.

Ruby
Startups love Ruby on Rails. Many well-known sites, such as Airbnb, Twitch and Hulu, are built with rails, which means they will need ruby developers. In addition, rails will continue to be sought after by novice programmers as developers use rails for fun and easy to get started.

That said, the strong rise of node. JS will certainly have an impact on the popularity of Ruby on Rails ――node.js has overtaken rails on GitHub. While this does not necessarily indicate that node. JS will overtake rails, we should point out that rails also overtook Python's largest backend development web framework Django a few years ago, and rails has more stars than Django.

In addition, this new trend in "isomorphic" (isomorphic) applications may affect the adoption of rails because this development approach is said to improve the performance of Web applications. Homogeneous applications basically need to run on the node. JS platform, which is written in JavaScript. As long as the benefits of mastering one language (JavaScript) may make some potential novices not learn Ruby. Google's go is another back-end language that some people are concerned about.

However, as rails continues to get a newer version, it remains important for some time, especially since it has a loyal community, and thousands of utilities help streamline development efforts. As a result, Ruby will stick to its turf despite declining popularity.

Python
Python is popular with academic researchers and data scientists, and as mentioned earlier, many schools chose Python to allow beginners to learn programming knowledge. This means that Python will continue to grow steadily and still be important. So while Python doesn't develop as fast as JavaScript, or has the same rapid growth in popularity and demand, it continues to be strong-needless to say, Google is built on Python.

Php
In the past few years, back-end development trend has been far away from PHP, but the world's 80% of the site is still built in PHP, which is a web-designed language.

However, if you search the Internet for beginners should learn which programming language, you will find that developers generally do not recommend to learn PHP. In fact, many developers obviously hate it.

The PHP community is struggling to get rid of the image of a poor reputation, introducing new guidelines for how to properly write PHP code and developing new tools, but overall, as of 2015, the future of PHP seems to be quite stagnant (at least in America).

Java
Android has played a big role in Java's most popular programming language, and most businesses like Java because it is stable and easier to scale.

With the rise of two big data management frameworks such as Spark (using the Scala language) and Cassandra (support for other languages), it's hard to say how long it will take for Hadoop to maintain the most popular big data management framework, but Hadoop will not disappear, given that big businesses are often less willing to change. The same is true of the Java programming language.

As a result, Java will remain strong for the next few years and will be one of the most important programming languages.

Objective-c
Since Apple released swift,objective-c only for Apple products, it is expected that objective-c will not continue to be popular in the future. However, this does not mean that you should not learn objective-c this year, as most open source projects for iOS development are still written in objective-c. In general, it's not a good idea to use a language you don't understand.

C
C is fairly low-level compared to other programming languages, but because it is the lingua-generic of the operating system, it continues to be popular because many development tools are written in C, and Linux is written in C.

Sql
SQL is a language that is almost universally known to database administrators. Once, with NoSQL services such as MongoDB and Redis, Non-sql uses big data computing platforms such as Hadoop, Spark, and Cassandra, and SQL seems to be marginalized. Many people wail that SQL will perish.

Obviously it's not like that. As a result, even NoSQL has to position itself as "not just SQL" (not only SQL).

With the rise of big data and the difficulty of managing big data, SQL is hotter than ever (you know that from employment trends). Google has also recently updated its BigQuery service, so now each table can digest up to 100000 rows per second, while BigQuery uses SQL. Spark also has a SQL module for spark since version 1.3.

In short, SQL once again embodies its importance, because managing (not storing) Big data is inseparable from it. Thus, not only is SQL ubiquitous, it can be said that SQL will continue to be important for some time to come.

C++
In terms of performance and functionality, C + + is still considered to be the most powerful language (even compared to rust), and it may continue to be important in some areas, such as the need for high performance (such as the game engine). A major revision of the latest standard (C++14) is expected to be released in 2017, so it is still a growing language.

In the future, rust is likely to replace C + + in some aspects of system programming because rust is designed to be able to develop software that is more secure than C + +. Here (Https://www.codementor.io/rust/tutorial/steve-klabnik-rust-vs-c-go-ocaml-erlang) further describes how rust compares to other languages. Now is the time to learn rust.

C#
In the past, limited to the Microsoft platform and as a closed source language for C # is bad, but mono basically solves those problems (but mono has a performance problem, the latest update version has improved).

Developers who have used C # seem to like the C # programming language very much, so it has a strong community. Needless to say, C # is the main language of Unity 3D, and this popular game engine can also be used on operating systems such as iOS and Linux.

In this regard, C # countries outside the United States (such as the United Kingdom) are also more popular for enterprise development. Obviously, Microsoft will keep C # alive for a while and make sure it's right. NET platform is important.

Conclusion
What language should beginners learn in programming? Obviously, if you want to engage in web development, you will inevitably learn JavaScript, whether you like it or not.

In addition, if you want to dig the Web analytics data, or if you are interested in becoming a data scientist, then learning Python is a good language. If you want to be a big business, then Java is not the second choice. If you're not really interested in building an application and are interested in job opportunities, then SQL might be a good starting point (if you like math).

In short, what programming language you should be learning this year will ultimately depend on what you want to do.

Logo Design http://www.biyinjishi.com/products/a70-b7010/
Business Card Design http://www.biyinjishi.com/products/a70-b7015/
Leaflet Design http://www.biyinjishi.com/products/a70-b7020/
Propaganda album design http://www.biyinjishi.com/products/a70-b7025/
Repair film Color http://www.biyinjishi.com/products/a70-b7050/
Typing input http://www.biyinjishi.com/products/a70-b7060/
Document Snapshot http://www.biyinjishi.com/products/a99-b9910/
send and receive fax http://www.biyinjishi.com/products/a99-b9915/
binding and binding http://www.biyinjishi.com/products/a99-b9920/
Lettering Engraved http://www.biyinjishi.com/products/a99-b9925/
Disc Burning http://www.biyinjishi.com/products/a99-b9960/

http://biyinjishi.blog.163.com/blog/static/2591020362016312102125

Http://blog.tianya.cn/post-7182283-114281874-1.shtml
Http://blog.tianya.cn/post-7182283-114282038-1.shtml
Http://blog.sina.com.cn/s/blog_15e2eae990102wa12.html
Http://blog.sina.com.cn/s/blog_15e2eae990102wa14.html
Http://blog.tianya.cn/post-7203719-114283423-1.shtml
Http://blog.tianya.cn/post-7203719-114284469-1.shtml
Http://blog.tianya.cn/post-7203719-114284847-1.shtml
Http://blog.tianya.cn/post-7203719-114285163-1.shtml
Http://blog.tianya.cn/post-7203719-114285595-1.shtml
Http://blog.tianya.cn/post-7203719-114286445-1.shtml
Http://blog.tianya.cn/post-7203719-114286733-1.shtml
Http://blog.tianya.cn/post-7203719-114286923-1.shtml
Http://blog.tianya.cn/post-7203719-114287044-1.shtml
Http://blog.tianya.cn/post-7203719-114287275-1.shtml

2015 programming language "money" inventory

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.