The result was the rankings in the following chart:
The C-family of languages still dominates. Java, C++, C, C, and even Objective-C are all C-based languages. If youre only going to learn one language, you should pick one of those. Id recommend Java or C++, since those will open you to the rest of the C-family.
ByDavid GewirtzforDIY-ITOctober 4, 2017 — 11:39 GMT (19:39 GMT+08:00)Topic:Developer
Amazon Sumerian now generally available
Google to Gmail users: Heres how you turn on new offline working, Smart Compose
Microsoft moves toward consolidating its many speech services
Second, the Apple-specific languages are lower on the charts than you might initially expect, given the popularity of iOS apps. But it makes sense. If you want to go off and build your own app, you want to learn those languages. But there arent a huge number of companies hiring Apple app developers, at least primarily. Thats why Swift is relatively far down the chart. Objective-C is being replaced by Swift, and we can see it dropping right before our eyes.
Therein lies the rub. Even with an understanding that popularity can be measured based on so many different factors, students and professionals still want to know if theyre guiding their careers and companies in the right direction.
Being comfortable in multiple languages and frameworks is important, because the computer industry is changing so much. Sure, C has been aroundlonger than digital watches and Pong, but Swift is only a few years old and is already in the top ten. What you learn today is probably not going to be enough for your entire career. So learning how to learn languages is as important as learning a language — and the best way to do that is to learn more than one.
The languages in the first cluster, Java, C, Python, and C++, are pretty much universal languages. Theyre not tied to a specific programming platform or focus.
Other times, programmers who are already skilled want to get a feel for whether their current skills are relevant, or whether its time to look at other languages because shifts in popularity might mean its time to bone up on a new language.
Lets start with why people want to know. Usually, at least when it comes to students, they ask which language is the most popular because they want to learn subjects where there are jobs. For most people, it makes very little sense to enter a field with knowledge about something thats not in demand.
Go ahead. Learn some languages. Build great stuff. Tell us about it in the TalkBacks below.
Even thats not complete. You could add some of these metrics to that list:
There are a number of online sites that publish language popularity metrics, each according to different criteria.IEEE Spectrum takes an interesting approach, because it has an interactive chart that allows you to weight different factors, like job site listings or open source hub projects.
The number of times the language name is mentioned in web searches, such as indicated by Google Trends
Weighted aggregate analysis by David Gewirtz based on IEEE, Coding Dojo, PyPl, and Tiobe.
You have been successfully signed up. To sign up for more newsletters or to manage your account, visit theNewsletter Subscription Center.
My advice to you, especially if you want to move into programming, is to learn multiple languages and multiple frameworks. Build things in the languages. Programming is not just an intellectual exercise. You have to actually make stuff.
You get the idea. This can get even more complicated if you factor in popularity across nations. Are certain languages more popular in India? In the United States? In Russia?
This is such an open question that theres aWikipedia article devoted to measuring programming language popularity. The article shows a number of possible factors for measuring popularity, including:
Popularity may not be a single vector answer, but students and professionals still want to know if theyre guiding their careers and companies in the right direction.
Microsoft offers app developers larger share of profit… most of the time
The number of videos on each language on YouTube
So which language is most popular? That, my young Padawan, is not as easy to answer as you might think. The key is to determine what defines popular.
But the problem is, that really doesnt tell you where to focus. To get to the heart of the matter, I did some data analysis. I aggregated the data from five of the six sources (I left out Coding Dojo because it only showed ten languages). Then I weighted each language based on where it appeared on each chart and how many times it appeared. I took the top ten results and generated the chart the following language cluster aggregation chart.
Material Design update: Google gives app developers new customizing tools
Business executives are increasingly moving to an IT environment that is no longer focused on big, long projects but shorter, more sustainable efforts to drive change and innovation. Here are the pros and cons, and how to make it happen.
The number of courses sold by programming bootcamps
Google: Were having to hit pause on Chromes audio autoplay block
Google puts AI teams work to good use in Android P
To help give you some guidance, I combined the various sources mentioned above. For the three IEEE categories, trending means the languages that seem to be growing, jobs reflect job offerings at m and CareerBuilder, and open reflects the number of open source projects.
Combined chart of language popularity metrics.
Unfortunately, that doesnt really help. If youre looking at what languages to learn, or what languages you need to support, its hard to decide which chart is the one to bet on.
Agile and DevOps: 7 tips for creating the right culture
My UC Berkeley programming students often ask me which programming language is the most popular. Its a simple question with a far-from-simple answer.
The bottom line is that popularity is not a single vector answer.
Finally, if youre starting a project, you need to choose what language to build in. Your first criterion should always be to use a language that can get the job done. If one language is hugely popular but would take two years to code, and another is less popular but would take two months for your application, you clearly should choose the less popular language. But, all things being equal, choosing a more popular language generally means access to more programmers and resources, so thats an important consideration as well.
You can follow my day-to-day project updates on social media. Be sure to follow me on Twitter , on Facebook /DavidGewirtz, on Instagram m/DavidGewirtz, and on YouTube atYouTube.com/DavidGewirtzTV.
The number of postings on Reddit or Stack Exchange about a language
The number of books sold that teach or describe the language
The number of students enrolled in programming classes around the world
The number of projects in that language on SourceForge, Freecode, and GitHub
Please review our terms of service to complete your newsletter subscription.
Again, what does this tell us? If you know about modern coding, you realize youre not just using a language. Youre always developing for something, whether thats an embedded system, an iPhone, a web application, or a Microsoft server application.
At this point in my career, I can program, off the top of my head, in something like 20 languages. I can generally pick up a new language in a matter of days. Thats because my engineering school thesis was in language design, and Ive been teaching programming on and off for 20 years. Being multilingual has helped me, because I almost always choose a language for the job Im doing, not because I only took one course and thats all I know. This may sound intimidating, but you can do it, too.
The number of postings in forums and newsgroups about the language
Developers who are building products also want to know about popular languages, because if theyre building APIs or other compatibility options, they want to make sure theyre producing solutions customers will use. Its very important to support the most popular environments.
There are a few more interesting things Id like to make sure you note. First, Coding Dojos top language was SQL. That makes sense, except it doesnt. You very rarely only code in SQL. You use SQL to access data, but you manage those data queries in another language. So its good (necessary, even) to know SQL. However, just taking a SQL course wont guarantee you a job, good money, or a life on Easy Street.
The number of job advertisements that mention the language
Estimates of the number of existing lines of code written in the language, which may underestimate languages not often found in public searches
Coding Dojo has a chartwhere it aggregates stats from job search engine .Tiobehas long used search engine aggregates to calculate popularity.PyPllooks at the popularity of language tutorials on Google.