Over the previous few weeks, we have been discussing programming language reputation right here on ZDNET. Most lately, I aggregated knowledge from 9 completely different rankings to supply the ZDNET Index of Programming Language Reputation.
Whereas pulling these stats collectively, I discovered my uncooked knowledge from an identical survey I did again in 2016. Whereas that examine was primarily based on six rankings as a substitute of the 9 I used this yr, it nonetheless proved instructive concerning total language reputation throughout constituent teams.
I used to be curious. Given the information, how did language reputation change during the last eight years? Clearly, the massive change in our computing panorama has been AI, so the place did that match into the combination? The result’s this very fairly diagram.
That one diagram incorporates numerous info. Let’s attempt to break it down into extra manageable chunks, beginning with the most well liked languages.
The highest languages
Python is a sublime language. It is easy but enormously highly effective and has change into the go-to language for AI and knowledge scientists, in addition to normal internet improvement. It not unexpectedly moved to first place.
JavaScript has change into increasingly central to internet improvement, particularly within the creation of dynamic internet paperwork. Frameworks like React and Angular have additionally helped broaden its usefulness and pushed it above different languages.
The constant performers
If there are any languages that embody basic programming, they’re the C-based languages: Java, C++, C#, and C itself. Proving that algorithmic coding nonetheless has numerous life, these languages have been primarily unchanged.
Positive, Java dropped two positions in our index, nevertheless it’s nonetheless within the winner’s circle. Java is a strong, object-oriented programming language generally utilized in enterprise purposes and in addition in Android improvement. Regardless of competitors from different languages, there are an infinite variety of programmers and purposes holding it related. For these of you who do not observe languages too intently, Java and JavaScript are fairly completely different beasts.
C++ is the extension of historic C, including object-oriented options. Whereas C dates again to 1972, C++ continues to be fairly historic, having been initially deployed in 1985. Nonetheless, it is in style for compiled, performance-sensitive purposes that want object-oriented construction.
C# is Microsoft’s tackle C++, used broadly in Home windows purposes and Home windows video games. It is quick, environment friendly, and completely baked into the Microsoft improvement ecosystem.
I am actually a bit shocked at C’s longevity. That mentioned, it is tight. It has no added cruft and does simply what it says on the tin. It is well-appreciated in sure areas of OS improvement, compilers, and embedded methods.
For the highest six languages, the one adjustments over the eight years have been a couple of place shuffles. However now, as we transfer on to languages rather less universally in style, we see that volatility has been pretty excessive.
The brand new entrants
TypeScript, Rust, Kotlin, and Dart weren’t on our 2016 checklist however are actually on our 2024 checklist. All 4 existed earlier than 2016 (though Rust was barely a yr previous on the time), however now, they’re seeing stronger uptake.
TypeScript is one other Microsoft-originated language. It’s primarily a contemporary JavaScript, including static typing. This improves code high quality and makes upkeep simpler, particularly as initiatives develop. Its capability to scale JavaScript initiatives might be one of many components resulting in its rising reputation. One other is that it has been integrated into main JavaScript frameworks.
Rust is a language used closely in methods programming. Its deal with reminiscence security with out sacrificing efficiency has helped it take some methods work from C and C++.
Kotlin is actually Java on steroids. Kotlin is totally interoperative with Java, including some coding security options, serving to coders write extra concise code, including coroutines for asynchronous code, permitting programers to increase lessons utilizing extension features, and extra. Google selected Kotlin as the popular language for Android, which gave it a robust enhance.
Dart and Flutter sound like one thing out of a Disney film, however as a substitute we’re speaking language and framework. Dart, developed by Google, excels at constructing cellular UIs, and Flutter helps builders deploy throughout platforms.
The rising stars
Except Go, our rising stars are actually previous faithfuls, simply with slightly extra spring of their step.
Go is one other statically typed language developed by Google. It offers a reasonably easy construction for constructing scalable, concurrent purposes. Go has change into in style for cloud computing, microservices, and containerization.
Since we have talked about static typing a couple of occasions, possibly I ought to clarify it to you. Variables are coding containers that comprise values that change. The values which are assigned usually belong to differing types (like integers, strings of characters, floating level numbers, and so forth). Usually compilers and interpreters do not verify what kind of worth ought to go together with what variable.
Issues might come up from this difficulty as soon as deployed however could also be missed throughout improvement. Static typing checks variables and values throughout the improvement course of, resulting in extra dependable code as soon as deployed. It will be magic, besides it is a mere matter of programming.
The subsequent few languages induced some debate in earlier articles. Some programmers declare they are not even actual languages. I’ve included them as a result of they have been included within the surveys I aggregated. And with that, let’s focus on SQL, HTML, and shell.
Algorithmic programmers (particularly the C/C++/C# selection) will have a look at HTML and SQL and decry them as not actual languages. That is as a result of they do not have typical algorithmic programming options. However they’re primarily based on a syntax that generates a consequence, and, extra to the purpose, they’re expertise crucial to supply purposes.
HTML (which defines the construction of internet pages) and CSS (which defines the model) will in all probability by no means get previous. And webpages, whether or not within the type of complete websites or simply items of output, are desk stakes for many fashionable initiatives. Why they rose since 2016? Net improvement stays key to digital transformation, so expertise are in demand.
SQL (structured question language) is a language for retrieving knowledge from databases. As knowledge turns into more and more essential, so too is the flexibility to retrieve it.
Shell programming, which is a software for programming sequences of applications, has been round for the reason that daybreak of time. It is one of many options that has given UNIX after which Linux such energy. Types of shell programming exist for all main working methods, nevertheless it’s the necessity for increasingly automation and orchestration in complicated methods environments that is holding these old fashioned instruments related and consistently evolving.
Languages shedding reputation
Languages dropping in reputation embrace PHP, Swift, Ruby, and R.
As a result of WordPress is in-built PHP and I do numerous WordPress programming, I program closely in PHP. It isn’t all that enjoyable. PHP is a really inelegant language, with bizarre inconsistencies and exceptions. It is highly effective and succesful however ugly and vulnerable to pointless errors. It is dropping in reputation as Python is rising.
Ruby is one other language that had its time within the solar, however there are higher alternate options. JavaScript, significantly mixed with Node.js, Python, Go, TypeScript, and Rust are all extra versatile, highly effective, and code-safe alternate options.
I used to be actually shocked to see the statistical language R drop, particularly as knowledge evaluation requires stats. However the reality is, all the things R may do, Python can do higher. Are you beginning to see why Python is so in style?
After which there’s Swift, Apple’s poster youngster for iOS improvement. Does the drop of Swift imply that iOS apps are dropping in reputation? No, not likely. It is simply that Swift is now not the one recreation on the town for iOS improvement. Options embrace AppCode from JetBrains, Flutter developed by Google, React Native created by Fb, and the highly effective Unity recreation improvement platform.
Languages that fell off the chart
It is smart that Goal-C ought to drop off the charts. This was as soon as the primary programming surroundings for Apple units, however Apple actively changed it with Swift. So, primarily, Goal-C is out of date.
Perl is wonderful for what it does, however its code is so compact as to be almost unreadable. That additionally makes it a lot tougher to keep up. As coding initiatives change into bigger and bigger, maintainability turns into extra essential than how few characters it takes to write down a line of code.
Visible Fundamental and Delphi have been as soon as mainstream languages for constructing Home windows purposes, however they’ve been changed by internet improvement for some purposes and C# for all the things else. They are not forgotten however principally gone.
What do you employ?
What languages are you utilizing? Have any of your favourite change into rising stars or fallen off the charts? Do you agree with my evaluation about why the languages have risen or fallen? Did any of the outcomes shock you? Tell us within the feedback under.
You’ll be able to observe my day-to-day venture updates on social media. Make sure you subscribe to my weekly replace publication, and observe me on Twitter/X at @DavidGewirtz, on Fb at Fb.com/DavidGewirtz, on Instagram at Instagram.com/DavidGewirtz, and on YouTube at YouTube.com/DavidGewirtzTV.