TIOBE Announces that the Programming Language of the Year Was Python (thenextweb.com) 90
The programming language of the year has been announced by the TIOBE Index: Python!
But noting that the TIOBE index is based on the number of search results for a programming language across popular search engines, a headline at The Next Web asks: "What does this title even mean?" [TIOBE] takes services such as Google, QQ, Sohu, Amazon, and Wikipedia to calculate the results. TIOBE uses "+" programming" query and a special formula to devise these ratings that change every month. You can read more about the whole process here. The programming language of the year title is decided by the jump in ratings year-on-year. Python overtook C# by a margin of 0.13% — almost a photo finish.
The index doesn't indicate the best or most efficient programming language, nor does it measure the amount of code written in a language across the internet. It simply gives us a high-level understanding of resources and pages available on the web related to them.
There's a huge amount of criticism towards the TIOBE index, especially as it uses one query and doesn't consider non-English languages. The organization said that it's trying to introduce more parameters to calculate the ratings.
TIOBE's annual award is being called "prestigious" — by the announcement at TIOBE.com: The award is given to the programming language that has gained the highest increase in ratings in one year. C# was on its way to get the title for the first time in history, but Python surpassed C# in the last month.
Python started at position #3 of the TIOBE index at the beginning of 2021 and left both Java and C behind to become the number one of the TIOBE index. But Python's popularity didn't stop there. It is currently more than 1 percent ahead of the rest [with a "rating" of 13.58%]. Java's all time record of 26.49% ratings in 2001 is still far away, but Python has it all to become the de facto standard programming language for many domains. There are no signs that Python's triumphal march will stop soon.
In fact, this makes the second year in a row Python has won TIOBE's annual award.
But it's as good a conversation-starter as any. ZDNet reminds us that Microsoft hired Python creator Guido van Rossum in 2020 to work on improving Python's efficiency, while the second most popular language on TIOBE's annual list, C#, "is a language designed by Microsoft technical fellow Anders Hejlsberg for the .NET Framework and Microsoft's developer editing tool Visual Studio."
And ZDNet also spottted a few other patterns in TIOBE's year-end look at programming language popularity: There were several movers and shakers this year. Rust, a systems programming language that deals with memory safety flaws, is now in 26th position, ahead of MIT's Julia, and Kotlin, a language endorsed by Google for Android app development. Rust was a stand out language in 2021, gaining backing from Facebook, Amazon Web Services, Microsoft Azure and Google Cloud.
Apple's Swift for iOS and macOS app development jumped from 13th to 10th place, while Google's Go inched up from 14 to 13, according to Tiobe. Kotlin moved from 40th to 29th. Google's Dart dropped from 25th to 37th position, Julia fell from 23rd to 28th position, while Microsoft TypeScript dropped from from 42 to 49.
The top 10 languages in Tiobe's list for January 2022 were Python, C, Java, C++,C#, Visual Basic, JavaScript, Assembly Language, SQL, and Swift.
But noting that the TIOBE index is based on the number of search results for a programming language across popular search engines, a headline at The Next Web asks: "What does this title even mean?" [TIOBE] takes services such as Google, QQ, Sohu, Amazon, and Wikipedia to calculate the results. TIOBE uses "+" programming" query and a special formula to devise these ratings that change every month. You can read more about the whole process here. The programming language of the year title is decided by the jump in ratings year-on-year. Python overtook C# by a margin of 0.13% — almost a photo finish.
The index doesn't indicate the best or most efficient programming language, nor does it measure the amount of code written in a language across the internet. It simply gives us a high-level understanding of resources and pages available on the web related to them.
There's a huge amount of criticism towards the TIOBE index, especially as it uses one query and doesn't consider non-English languages. The organization said that it's trying to introduce more parameters to calculate the ratings.
TIOBE's annual award is being called "prestigious" — by the announcement at TIOBE.com: The award is given to the programming language that has gained the highest increase in ratings in one year. C# was on its way to get the title for the first time in history, but Python surpassed C# in the last month.
Python started at position #3 of the TIOBE index at the beginning of 2021 and left both Java and C behind to become the number one of the TIOBE index. But Python's popularity didn't stop there. It is currently more than 1 percent ahead of the rest [with a "rating" of 13.58%]. Java's all time record of 26.49% ratings in 2001 is still far away, but Python has it all to become the de facto standard programming language for many domains. There are no signs that Python's triumphal march will stop soon.
In fact, this makes the second year in a row Python has won TIOBE's annual award.
But it's as good a conversation-starter as any. ZDNet reminds us that Microsoft hired Python creator Guido van Rossum in 2020 to work on improving Python's efficiency, while the second most popular language on TIOBE's annual list, C#, "is a language designed by Microsoft technical fellow Anders Hejlsberg for the .NET Framework and Microsoft's developer editing tool Visual Studio."
And ZDNet also spottted a few other patterns in TIOBE's year-end look at programming language popularity: There were several movers and shakers this year. Rust, a systems programming language that deals with memory safety flaws, is now in 26th position, ahead of MIT's Julia, and Kotlin, a language endorsed by Google for Android app development. Rust was a stand out language in 2021, gaining backing from Facebook, Amazon Web Services, Microsoft Azure and Google Cloud.
Apple's Swift for iOS and macOS app development jumped from 13th to 10th place, while Google's Go inched up from 14 to 13, according to Tiobe. Kotlin moved from 40th to 29th. Google's Dart dropped from 25th to 37th position, Julia fell from 23rd to 28th position, while Microsoft TypeScript dropped from from 42 to 49.
The top 10 languages in Tiobe's list for January 2022 were Python, C, Java, C++,C#, Visual Basic, JavaScript, Assembly Language, SQL, and Swift.
As a king,I announce my wife instead of proposing (Score:2)
Man it's good to be king.
Where do those stats come from? (Score:5, Interesting)
Re: (Score:3)
Re: (Score:1)
The competent ones replace the Java with 30 lines of Python as soon as they can get away with it.
Re: (Score:2)
Competent people opt for the worlds slowest language? Are you sure about that?
Re: (Score:3)
web person here, mostly use golang. Java can kick rocks.
Re: (Score:2)
Your comments are fairly accurate actually.
Re: (Score:3)
From the summary:
[TIOBE] takes services such as Google, QQ, Sohu, Amazon, and Wikipedia to calculate the results
You can recreate some of this yourself with Google Trends. - https://trends.google.com/tren... [google.com]
Re: (Score:3)
A LOT of researchers use a language called ROOT that nobody ever speaks about.
I heard the alien species Flora Colossus use a language called "Groot"; can't remember any of their names though ...
Re: (Score:3)
I know three of them. The first one is called Groot, the second one is called Groot and the third one is called Groot. Yes I know, that third one is a bit of a goofball and always goes against trends.
Re: (Score:2)
“In the middle of a big research lab”.
Thats a very specific setting which I would expect to have skewed results - perhaps time to get out of the lab a bit more?
Re: (Score:2)
Which version? (Score:2)
To paraphrase Andrew S. Tanenbaum,
the great thing about Python is that there are so many to choose from.(incompatible versions)
Dynamic typing and significant whitespace !? Go away. How can anyone think using indentation to define blocks was a good idea?
I had to learn some Python because my kids use it at school. I guess it is better than the BASIC I used at school, but "Come back Java, all is forgiven!"
Re: (Score:2)
I would disagree. BASIC is significantly easier to both read and write than Python. I've taught kids using both, and I would never recommend Python for beginners.
I've called Python "superficially easy" in the past. Python gets "quirky" really quickly and there are some seriously questionable design decisions that just make it a massive pain to use for anything non-trivial. How can I put it? You know all of those complaints people have about PHP and dynamic languages? Python has them all in triplicate
Re: (Score:2)
How can anyone think using indentation to define blocks was a good idea?
Regardless what modern language you use:
you are indenting the relevant parts
of your code
just exactly
as python uses it
for syntax
oops
So what exactly is your complains about it? Ah, you never used python? That can be helped.
E.g: sudo apt install python3.8
Then find a nie tutorial.
ah, now I get it i
Re: (Score:1)
From where I stand, in the middle of a big research lab, I can say that:
I think that these are contradictions. ROOT is not a language, it's a library written in C++ as well as an application that allows you to create, save and run ROOT models. The interactive scripting language used in ROOT is C++ using the cling interpreter. Anyone using ROOT itself is using C++ as the language. There are Python bindings (PyRoot), but ROOT itself is still C++. I use it in my C++ classes to interactively demonstrate concepts during class.
See First Steps with ROOT from the ROOT manual [root.cern]
Re: (Score:2)
But these people don't make up much of the programmer population in the world. So really there's not much p
Re: (Score:2)
ROOT is an C++ interpreter ... so no real idea why you think it is "special" or no one heard about it.
Re: (Score:2)
an C++
Never heard this pronounced with a silent C before, wow!
Re: (Score:2)
The "an" is referring to the "interpreter".
Like: an BASIC interpreter, etc.
Re: (Score:2)
And I use AWK
The award (Score:5, Insightful)
The award is a mug that says "Number 1 programming language". Seriously, who really cares? The right tool for the job. Oh, wait. The hammer is drinking from a mug that says "Number 1 Tool". Sorry scalpel, You're not doing surgery today.
Re: (Score:1)
I think a better indication might simply be a financial one: calculate how much programmers were collectively paid to write in it in the last year. The P.D.F. calculates it's darts ranking this way rather than a complex arbitrary sco
Re: (Score:2)
ranks by prize money earned in the last two years on the theory that tournaments with the highest prize pool attract the finest competitors
Then whatever the FAANG companies are using should hold the highest ranks, because the biggest tournament is capitalism and it definitely has the highest prize pool.
Re: (Score:2)
The right tool for the job. Oh, wait.
That's why I use MUMPS programming language for everything. It's always the right tool.
Re: (Score:2)
I guess nearly no one here remembers what MUMPS is.
Was that not the OS?
I remember there was a language based around "refinements" on MUMPS - but forgot its name.
Re: (Score:2)
This is the comment I always refer to about MUMPS [slashdot.org], it's worth a look.
Of course, a more skilled programmer would make the code look much better, but they were still learning in those days.
Re: (Score:2)
Hm, I got lost somewhere in the middle at a ^ character.
But till there the code was quite straight forward, don't you agree?
Re: (Score:2)
I expect if we stared at it for a while, it wouldn't be too bad to work with. At first sight it looks scary though, kind of like a mumps vaccine.
Re: (Score:2)
I believe I made 2 or 3 characters progress by now.
Re: (Score:2)
LOL I think a quick tutorial makes things easier. Especially learning the abbreviated commands (r for read, etc)
https://learnxinyminutes.com/d... [learnxinyminutes.com]
Re: (Score:2)
BTW, calling an OS/Programming language that is mostly used for hospitals and health care "MUMPS" is quite ironic. https://en.wikipedia.org/wiki/... [wikipedia.org]
Had to google that as I was not sure how you call that sickness in english, in German it is "Mumps" - I assumed it has a different name in english.
And the biggest jump up the rankings ... (Score:4, Interesting)
Good grief (Score:3)
Does TIOBE exist for a purpose other than to publicize itself?
Re:Good grief (Score:4, Insightful)
You have to consider the usefulness of TIOBE's language ranking in a somewhat oblique sense. No, it's not useful at all when looking at whether you should be using Python vs JavaScript vs C++. Those languages obviously have different strengths, and are used in entirely different domains.
But I think it's moderately useful to track general trends of language popularity, because the network effect of languages is both real and important. It's may not be the best idea to start a new blue sky project using an unpopular or waning language if there is a different language that is equally suitable from a technical perspective. By using a more popular language, you have a better chance of taking advantage of a more robust community, support, and documentation, as well as better opportunities to find programmers experienced in that language.
From an individual programmer's perspective, it's perhaps helpful to understand language trends as it relates to employment opportunities, and not only in the most intuitive sense of "more popular language = more opportunities". Waning popularity likely means fewer programmers with expertise, and so may mean fewer opportunities, yet higher commanded salaries due to market scarcity of domain experts.
One thing that would make these reports a lot more valuable to people is if there were simpler ways to adjust the lists on a per-industry or per-domain basis. For instance, if you could filter the list for my own profession, game development, C++ would likely top the list, while more esoteric scripting languages like Lua would rank much higher than in the general rankings.
In short, while it's popular here to bash on TIOBE and other language rankings, and while there is some truth to the perceived silliness of declaring a "language of the year", there is still some ancillary value in understanding broader industry trends.
Re: (Score:2)
At most a developer is only ever going to be REALLY good at a handful of languages
Once you've been programming for 30 years, you'll find the list is much longer than that.
Re: (Score:2)
I think you don't know what it means to be good at a programming language.
Re: (Score:2)
At most a developer is only ever going to be REALLY good at a handful of languages,
That is double nonsense.
a) many languages are inherently similar, e.g. all procedural ones, or most imperative ones - on one side. With modern languages being kind of kitchen sinks, (Java, C++ etc.) the line between OOP and functional gets pretty blurry also
b) the big difference and challenge are not languages but frameworks and libraries
E.g. your example about "Unity/C# or Unreal/C++." You do not really need to be a king in
Whew! (Score:2)
Programming Language of the Year Was Python
That explains why 2021 sucked so much; I thought it was because of all that COVID stuff. Although... dealing with either requires a lot of spacing, one measured in whitespace, one measured in feet -- can't remember which is which though. :-)
(I'm going to stand 3 tabs from people at the grocery store and indent my code blocks 3 feet ...)
Number 1 Google Search String for C# (Score:3)
"why is C# considered the shittiest language to program in"
Re:Number 1 Google Search String for C# (Score:5, Funny)
"because those people never heard of PHP"
Re: (Score:2)
OK, you got me there.
Re: (Score:2)
Personally, I'm a terrible programmer. I took a competency test in C# and utterly failed. When I had access to the internet, I had no problem writing a large program in C# (and Java, similar boat). How? Because I understand programming concepts and can look them up. I've read the new features for C# and Java and used features such as reflection. I know how to do reflection in javascript as well, but I've never had to use it and will probably never have to.
I had to support Python in a large app once. What a
Re: (Score:2)
One of the worst cases was trying to compile a Python program
That's a very common problem people run into with interpreted languages.
Re: (Score:2)
One of the worst cases was trying to compile a Python program on Linux that needed a newer version of Python, but the OS had a built in older version of Python that I couldn't override apparently because the OS depended on it.
Then you start learning what an OS is and how it works.
Start with the "PATH" variable.
Because: nothing at all prevented you to make a directory like "my_own_python" in your "HOME"-directory (that is the second variable you should learn about) and install what ever many python versions
Re: (Score:2)
Javascript:
- ES6 (2015) copied C# lambda syntax from 2007
- ES8 (2017) copied C# async from 2012
- TBD copying C# records and tuples from 2019
LOL, wut? JavaScript has had lambdas since the very beginning.
That ES6 crap is just for idiots that can't be bothered to learn the language and are stuck in the past with languages like C# and Java.
ES6 was a mistake. It's an ugly wart on an otherwise beautifully designed language.
I can't believe the standards committee let a bunch of C# fags shit all over something great just so they could bring their shitty OO crap from the 90's with them into the future.
Re: (Score:2)
C#'s a decent language, but the most common frameworks written in them backed by MS suck. That may give it a bad rep.
Re: (Score:2)
LINQ is worth learning, even if C# is not your primary language (or even a language you're interested in). The SQL LINQ syntax is a thing of beauty.
Re: (Score:1)
I find "long" LINQ hard to debug. The "evil intermediate state" that FP is supposed to get prizes for eliminating turns out very useful for debugging. It's one of the reasons FP hasn't really caught on mainstream despite being around 60 odd years.
Re: (Score:2)
And yet, you have to admit that SQL LINQ is a thing of beauty.
Re: Number 1 Google Search String for C# (Score:2)
Queries or results? (Score:2)
It simply gives us a high-level understanding of resources and pages available on the web related to them.
Is it tracking the number of searches, or the number of pages of results? It sounds like they are tracking searches, which has nothing to do with how many Python-related resources are out there.
Re: (Score:3)
I typically do a search when I'm trying to understand something or fix a bug.
If Python leads in searches it then follows that Python is one of the least understandable, most problematic languages ever created....
[ducks]
TIOBE quantifies code quality? (Score:3)
These stats come from a company that wants to sell you metrics about your code quality. Like all untyped scripting languages, code quality in Python degrades exponentially as complexity increases. You also don't need to be an expert in computer science to get things done in a scripting language. Python is the perfect storm for their business model. Of course it's their language of choice. But your project is probably better off with different tools and engineers than paying TIOBE to tell you where your code sucks.
Perl? (Score:2)
What happened to Perl to fall so out of grace? Thanks
Re: (Score:1)
I think the lack of a decent Qt5 Perl API steers cross-platform developers to Python or C++ instead.
Re: (Score:2)
What happened to Perl to fall so out of grace? Thanks
Not sure. I went back to look at my old PERL code to try and find what was wrong with PERL.
Unfortunately, I could not understand what any of my code was doing.
Re: (Score:2)
Same for me :D
The only code that is half understandable is my OO-Perl that I wrote around 1997-1999, but afterwards I only fixed a single bug in a kind of build script ... some 400 lines or something big, took me a week to fix a single line of code - I was the only one who had at least some rudimentary decades old Perl experience.
What a shit language. And the inventor of it is a damnlinguist!! and thinks the language is modeled how the human mind is thinking.
Somehow I disagree ... :P
Re: (Score:1)
Larry took 20 years to invent Perl 6, throwing in everything including the kitchen sink. It's another language. Real Perl, and interest in it, died off while that was happening. Larry killed Perl.
Re: (Score:2)
The OOP was awkward at a time when everyone wanted OOP. Perl 6 was supposed to fix that, but, is it out yet?
Re: (Score:2)
People stopped using it on the web. First they replaced it with Ruby, then they replaced that with JS, then... whatever they do on the web now.
I use Golang or C for that, now.
Python is usually a bad choice when money is made (Score:5, Interesting)
Older languages, like SQL and C lose out because many people have been working with those languages all their life and don't need to post StackOverflow questions. Java is almost 30 years now. I've personally been working with it for 25 years, so I don't have to go to StackOverflow very often for that. I know what I am doing and I know the best practices well. I know SQL so well, I never have to look things up any more.
In contrast, I am far less skilled in JavaScript and Python, so I while I know how to do what I need to do with them, I am never confident my way is the best or most current way. I often google even things I know to ensure there's not a better way. By TIOBE's metrics, JavaScript and Python come ahead, even though they're 5% of my output.
Python? I really dislike uncompiled languages, but it's perfectly fine for certain use cases. I think it's excellent for a quick throwaway script. If you're going to do serious work you need to hand off and you want running 5 years from now, I'd personally do a lot of research into alternatives.
I tell everyone who will listen. If you're not making money or have a tiny team, you can do whatever you want with whatever you want. Want to write it in MS Excel VBScript from the 90s?...hey, if it works for you, have fun. If you're a professional programmer handing code off to a business, scripting languages frequently fall short.
Your initial development will be great. You know Python and things will work great. The problem is once you complete the job, almost always, it's handed off to a different team who has to keep it running for 20 years and that's when the pain sets in. You will get rewarded for delivering a successful piece of code and probably promoted. Some poor schmuck will inherit your spaghetti scripting code. For example, one of our teams spend 1.5 years moving an app from Python 2 to Python 3 and had to rollback 3x. The team seemed super sharp and competent. However, things like compilers, a wealth of static analysis tools, automated scanners for vulnerabilities, and well documented best practices and a culture of producing consistent and uniform code are why Java is the king of the backend. It's a good language, for sure and performs better than most of it's competitors. However, many languages do many things better. It has much to learn from it's competitors, but it's competitors have far more to learn from it...particularly around the culture. Because coding standards were set in 1997 by Sun and best practices have been well defined by Joshual Bloch and others since the early 2000s, nearly all Java looks alike.
I can check out sophisticated and complex code written by someone from across the globe who I never met and immediately understand it. With JS and Python, they don't have that culture. Code varies by the author much more. It's less uniform. Many find that constricting, but it's actually more a blessing than a curse.
Well documented best practices and uniform code makes it easier to hand off to another team. It makes it much easier to maintain by the poor team who inherits your application 20 years down the road. I am responsible for many Java applications, some which have been in production for more than 20 years. During those 20 years, featured have been added and libraries updated and many patches made, even replaced a few frameworks. However, it's a living application that makes lots of money, runs across 20 nodes, and is doing mission critical work. I have never even heard of a Python application that does real work for real money that has been in production that long.
I don't know your project. Python may be the
Re: Python is usually a bad choice when money is m (Score:2)
Older languages, like SQL and C lose out because many people have been working with those languages all their life and don't need to post StackOverflow questions. Java is almost 30 years now. I've personally been working with it for 25 years, so I don't have to go to StackOverflow very often for that. I know what I am doing and I know the best practices well. I know SQL so well, I never have to look things up any more.
I Really hope you never end up on my team. Your humility level seems to be zero and your overestimation of ability seems to be +100.
If you think you know everything there is to know and almost never consult a reference because you've been doing this gig forever then you are at the left end of the DK curve.
All languages evolve. Java changes year after year. I have been speaking C/C++ for 30 years, but the languages change often enough that there's always some feature, corner case or standard library item you
TIOBE doesn't favor languages you're confident in (Score:3)
I Really hope you never end up on my team. Your humility level seems to be zero and your overestimation of ability seems to be +100.
If you think you know everything there is to know and almost never consult a reference because you've been doing this gig forever then you are at the left end of the DK curve.
All languages evolve. Java changes year after year.
In fairness, I chose the word "never" poorly. A better choice, on my part, would have been "rarely."
Perhaps this will clarify things. I do keep very current on Java. I go to user groups and conventions and while it was not trivial learning lambdas...in particular designing code and altering my way of thinking to use them well...most things are pretty easy. Given that probably 80% of the code I produce is in Java and I used it daily, learning the latest in Java 17 was pretty easy. The vast majority
Re: Python is usually a bad choice when money is (Score:2)
Re: (Score:2)
I would bet that most searches are not really language specific in the sense that e.g. searching with having "Python" is in the search string is a search for a python related problem, but it most likely is a search for a certain library.
e.g search for "Python HTTP library" or "how to analyse a HTML web page with python" etc.
Most colleges are teaching Python now (Score:2)
Many colleges seem to be going intro to computing 101 in python
I still think jobs openings for developers are more in c++. But that is just my opinion. Looks like Java is toast. Quite appropriate. Coffee goes well with toast.
Re: Most colleges are teaching Python now (Score:2)
I'm in the middle of hiring a small team of embedded programmers and it sucks. We get so many people who learned on Python, took a couple of weeks to get dangerous in C then padded their CV.
It would suck less of the CVs were honest, but we end up having to waste time interviewing them to find out they don't know computer architecture from knitting, nor anything about resource management because they've been taught that Python does it for you.
My takeaway has been that Python on a junior's CV is a red flag u
Re: (Score:2)
Python is easy to learn. It is 'the new VB'. Sure you can program well in it if you know what you're doing. But because it is easy to learn and most people are too lazy to learn how to use it well, most of what is done in it, isn't.
Re: (Score:2)
Many colleges seem to be going intro to computing 101 in python
Just to throw it out there, that was already the trend in 2005.
Re: (Score:2)
2005? We were still complaining about colleges jumping on the Java bandwagon and abandoning C. Maybe 2015, but even that's a stretch.
Who cares (Score:2)
This metric measures how many n00bs are asking questions about a given language. It counts the new Java user asking "how big is an int?" the same as "I have a collection of strings and want to use streams to sort based on the second letter" as the same.
Perl lower than FORTRAN? (Score:1)
In what universe?
Re: (Score:2)
In a Universe where people are doing web searches, "What is FORTRAN?"
And in Perl they search CPAN, not github.
So popular = reward? (Score:2)
The winner means itâ(TM)s the most difficult (Score:1)
Searches is not a good metric (Score:2)
The number of search for a language is not a good metric for judging a languages popularity or utility. If anything it tends to reflect the opposite. That people need to search up details to make effective use of it.