Top Programming Languages 2022
spectrum.ieee.org
spectrum.ieee.org
Python: 100; Description: C is used to write software where speed and flexibility is important, such as in embedded systems or high-performance computing.
C: 96.8; Description: An object-oriented language that creates code intended to be run on a virtual machine, allowing it to run on different platforms with little or no modification. Java is a popular choice for Web applications.
C++: 88.58; Description: An object-oriented, interpreted language that gains much of its power from a large constellation of libraries, including popular modules for machine learning and scientific computing.
1. JavaScript
2. Python
3. Java
4. TypeScript
5. C#
6. PHP
[1] https://octoverse.github.com/#geographical-distribution-of-a...
C itself is simple compared to other languages. The last time I visited Stack overflow was for a niche IDE setting.
At least you didn't compare it to TIOBE.
Do you actually have any objective and statistically meaningful source of data that supports your personal assertion of what the real world is supposed to be?
Wherever I look, I see Java in the server and smartphones, C# in desktop and nowadays servers, and C++ in desktop and tooling and performance components. For each JavaScript SPA project I've worked with, there were at least 2 Java or C# server projects.
Where exactly do you base your personal assertion?
A lot of larger companies and institutions either run GitHub on-prem or use some other versioning solution. I think that those companies would also be more likely to use older and more strictly typed languages than Python/JS/TS, and have larger code bases in those languages because they are larger and older organizations.
Apparently GitHub hosts over 50 million projects.
SourceForge in comparison seems to have 500k projects.
GitLab seems to outright hide the number of projects they host.
I'm not sure that the number of companies hosting their projects on any other service would have a meaningful impact on results.
If you have a better source, feel free to point it out.
For a different source, although not representative of all code, the repositories for a Linux distro like Debian or Arch would give interesting data.
Source code from Linux distro repos should be different but far from representative or meaningful, specially as it leans heavily towards legacy C libraries and tooling. I hardly see how that could be a meaningful rejection of GitHub as a statistically significant sample of what real world projects are actively being developed by real world developers.
Where is IEEE finding all these jobs hiring for "shell"?
- Web technologies still dominate. Never bet against the web.
- Java and C# are still the backbone of enterprise software.
- People really like Python, much more than the professional developer community does.
- C and C++ are not going anywhere.
- The methodology is mostly garbage.
Just to be clear, I'm not intending to pick a fight in asking this - who do we believe is using python, if not the professional developer community?
I think there are plenty of people in academia and research who are not principally programmers using it, but job postings et. al. would certainly seem to express that a whole lot of professional programmers are using it. Though perhaps less use at FAANG? - maybe that's the defining criteria here?
Obviously both professional developers and "not primarily developers" generally like and use Python. I meant this as a comparison rather than "developers don't use Python".
FAANGs, I really don't know, but I would find it odd if they didn't use Python to at least some extent.
They list their sources, it goes far beyond just IEEE's own job listings and publications. And even then, a casual perusal of IEEE's publications on the topics of computers and software will show they have a lot of non-embedded programming content. Check out the IEEE Computer Society, in particular, which has a lot of content in common with ACM's publications (in theme, at least).
If you're going to toss SQL in on a programming list with C and C++, ok go for it, but I don't see how you can then leave off Bash or Powershell.
Either way on my nitpicks, the overall language used within the article is strange, like it's from a complete outsider to the industry.
Indeed, the combined popularity of C and the big C-like languages—C++, and C#—would outrank Python by some margin.
Everyone in this industry knows Python is C-like. Java is C-like. JS.
While most developers don't really know SQL and employers want it, that part is true. They don't want you enjoying those ORMs, and I am an ORM fan until it doesn't work. Even then when I'm writing SPs, I remain an ORM fan.
An aside, frontend development is where I see most people lacking that I know rather than SQL, including myself. Too many flavors of the month. I try to stay in the C# lane and have settled on Razor Pages/MVC and Blazor.
Compared to what? Haskell?
https://spectrum.ieee.org/the-rise-of-sql
I've added a link in the TPL article to make it easier to find.
https://survey.stackoverflow.co/2022/#section-most-loved-dre...
Worked with both - nothing scary there.
The Fantastic Seven - C#, Python, TypeScript, C++, Go, SQL, F# - covers 99.99% of your programming language needs. :)
That said, I started programming in the 80s in BASIC and crack a loving smirk when I see a GOTO.
JC JNC JE/JZ JNE/JNZ JO JNO JP/ JPE JNP/ JPO JS JNS JA/ JNBE JAE/ JNB JBE/ JNA JG/ JNLE JGE/ JNL JL/ JNGE JLE/ JNG JCXZ
at the end :)
You would expect working electrical engineers to more heavily favor languages like MATLAB or R, which shows in the IEEE rankings. But that doesn’t explain Julia being more popular in Stackoverflow, though — unless some working engineers still consider it too experimental for production use?
As far as IEEE's methodology - it's not even described which makes the whole article kind of pointless.
It's also described in the original post, but the above goes into the sources used.
https://spectrum.ieee.org/top-programming-languages/
You can see the likely weights they used for the three rankings they show this year.
As to what it means 100 vs 70.22 means, it means that Python got a higher score under that ranking. It showed up in more places.
IEEE is a mixed weight of Jobs+Trending.
What you linked to is SO's "most loved" where the question asked is: "Which programming, scripting, and markup languages have you done extensive development work in over the past year, and which do you want to work in over the next year? (If you both worked with the language and want to continue to do so, please check both boxes in that row.)"
As of now, Rust is beloved, but there are few jobs (outside of crypto grifting), especially relative to the hype and relative to other languages, and most projects are 1-person projects or a handful at most.
EDIT: here's a better graph to compare: https://survey.stackoverflow.co/2022/#most-popular-technolog...
"X is the top language"
"What does top mean to you? How did you measure it?"
"Eh."
Worse than useless.
The "is here" has no link going anywhere.
> we look at nine metrics that we think are good proxies for measuring what languages people are programming in. Sources include Github, Google, Stack Overflow, Twitter and IEEE Xplore. The raw data is normalized and weighted according to the different rankings offered—for example, the Spectrum default ranking is heavily weighted towards the interests of IEEE members, while Trending puts more weight on forums and social media metrics
So they looked at sources, calculated metrics, and then weighed them by rankings? Still no idea what they've actually done.
Of course, the SO and TIOBE numbers are very much worse than useless for this purpose.
Relative numbers outside the top 10 or 20 will of course be entirely meaningless because of small sample size.
I tried C#, Python, Dart and some others. I will still use them from time to time if a job or library that has no eqivalent counterpart requires it. And I like it.
However I feel most comfortable with PHP - it has some quirks but the team behind increased the DX a lot over the past few years.
And I believe I got a better programmer by learning a framework - Symfony in my case.
PHP has it strength in it's own bubble :)
It's really really easy to write and deploy unmaintainable code in PHP. Frankly, a little bit of friction in deployment is probably a good thing for code quality.
Today I learned there was a new company pretty much doing the SAAS we are doing, but using Firebase. I don't have that much experience with Firebase, but it got me wondering if the work we do to get data to and from the database with PHP is much more difficult than with a document like store that is used with Firebase. Do you think development platforms like Firebase have a advantages of development speed over our more traditional stack?
However I don't have the experience (yet) what I need to change in my setup to scale up to very many concurrent users. So far I assume my setup should be able to handle few hundreds connections in the same second.
Just to be clear, overall HN stories reflect very varied programming language discussions.
In fact if you are old enough cobol still has market https://www.devjobsscanner.com/cobol-jobs/; not sure about IBM system programming.
Not to mention Android development. Cross-platform apps haven’t fully filled all the lofty promises they made. Many apps are still being written and maintained in Java, Kotlin, Objective-C, and Swift.
Use the best tool for the job at hand. Master your tools. Don’t worry so much about ‘trends’.
That is all.
FWIW, I'm hiring for Rust in production [1]. Send me an email if you're interested.
[1] Rust monorepo with ~10 apps. We need to start using Bazel. Mostly server, but we're now building a cross-platform native desktop app for real time voice conversion and a WASM client for the browser. We've also given Rust-Unreal Engine bindings a try and have a bunch of cool photogrammetry/NeRF stuff.
At issue is the veracity of the numbers, not their absolute or relative quantity.
It stands some chance of becoming that in ten years, but odds are still strongly against it. It would need to pick up a thousand users for every existing user, completely swamping all existing users. But probably a substantial fraction of all programmers willing to use it as it is already do. There seems to be little appetite to change it in any way that would appeal to the larger number.