Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Python Stats Programming

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.

This discussion has been archived. No new comments can be posted.

TIOBE Announces that the Programming Language of the Year Was Python

Comments Filter:
  • by dargaud ( 518470 ) <<ten.duagradg> <ta> <2todhsals>> on Saturday January 08, 2022 @02:49PM (#62155685) Homepage
    From where I stand, in the middle of a big research lab, I can say that:
    • Most researchers use Python
    • Many of the engineers use C
    • hardly a handful use C++
    • A few brave souls use Go (and are very vocal about it)
    • Nobody has every heard of C#
    • Mac users use it as a glorified Unix box, so nothing Mac specific
    • Tech staff do shell scripting, but often poorly
    • A LOT of researchers use a language called ROOT that nobody ever speaks about
    • by dargaud ( 518470 )
      Sorry, I forgot that all the backend engineers use Java. To say nothing of the web people who Php and Javascript until they are blue in the face.
      • by Anonymous Coward

        The competent ones replace the Java with 30 lines of Python as soon as they can get away with it.

      • web person here, mostly use golang. Java can kick rocks.

      • One of the blue people you speak not of is me you insensitive clod, and there's a lot of us. /s

        Your comments are fairly accurate actually.
    • by Arethan ( 223197 )

      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]

    • 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 ...

      • 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.

    • “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?

      • by dargaud ( 518470 )
        But that's the point, isn't it ? If they do those stats one one category of people who use a computer, they'll get one list. And another one like I mention with yet another group.
    • 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!"

      • by narcc ( 412956 )

        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

      • 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

    • From where I stand, in the middle of a big research lab, I can say that:

      • hardly a handful use C++
      • A LOT of researchers use a language called ROOT that nobody ever speaks about

      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]

    • From where I stand, in the middle of a big research lab I can say that:
      • Most researchers use Excel
      • Many of the Engineers use VBA
      • A handful use Matlab and Mathematica
      • A few brave souls use Python (and are very vocal about it)
      • Nobody has ever heard of anyone using Java, or any other mainstream backend language for this kind of stuff
      • A lot of researchers use data analysis tools that nobody ever speaks about

      But these people don't make up much of the programmer population in the world. So really there's not much p

    • ROOT is an C++ interpreter ... so no real idea why you think it is "special" or no one heard about it.

    • And I use AWK

  • The award (Score:5, Insightful)

    by istartedi ( 132515 ) on Saturday January 08, 2022 @02:53PM (#62155697) Journal

    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.

    • “TIOBE AWARD" returns only 49,400 hits on Google for me. Anyone can create an award without a prize fund, and anyone can decide whom to give it to based on the number of search queries, which is neither indicative of the number of people using it, nor it's importance.

      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
      • 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.

    • The right tool for the job. Oh, wait.

      That's why I use MUMPS programming language for everything. It's always the right tool.

  • by Aviation Pete ( 252403 ) on Saturday January 08, 2022 @02:54PM (#62155705)
    ... was made by Fortran, from 30 to 19! [tiobe.com]. Go figure!
  • by 93 Escort Wagon ( 326346 ) on Saturday January 08, 2022 @02:58PM (#62155723)

    Does TIOBE exist for a purpose other than to publicize itself?

    • Re:Good grief (Score:4, Insightful)

      by Dutch Gun ( 899105 ) on Saturday January 08, 2022 @03:22PM (#62155793)

      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.

  • 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 ...)

  • by theshowmecanuck ( 703852 ) on Saturday January 08, 2022 @03:03PM (#62155737) Journal

    "why is C# considered the shittiest language to program in"

    • by DontBeAMoran ( 4843879 ) on Saturday January 08, 2022 @03:17PM (#62155773)

      "because those people never heard of PHP"

    • by Tablizer ( 95088 )

      C#'s a decent language, but the most common frameworks written in them backed by MS suck. That may give it a bad rep.

      • 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.

        • by Tablizer ( 95088 )

          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.

    • No no the shittiest language was phyton. It's just pure crap and ugly like a real snake.
  • 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.

    • by shmlco ( 594907 )

      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]

  • by TurboStar ( 712836 ) on Saturday January 08, 2022 @03:27PM (#62155807)

    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.

  • What happened to Perl to fall so out of grace? Thanks

    • I think the lack of a decent Qt5 Perl API steers cross-platform developers to Python or C++ instead.

    • by quenda ( 644621 )

      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.

      • 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

    • 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.

    • The OOP was awkward at a time when everyone wanted OOP. Perl 6 was supposed to fix that, but, is it out yet?

    • 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.

  • by Somervillain ( 4719341 ) on Saturday January 08, 2022 @03:41PM (#62155833)
    It may not be common knowledge, but TIOBE uses some metrics I'd consider very bad for measuring a programming language's value. For example, a key metric is how many people search for help on the language. This favors: new languages, side project languages, confusing languages, and languages done by amateurs and students.

    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
    • 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

      • 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

      • If you really look closely, a lot of 'legacy' code is exactly the same as current code, except people call it different names. And to be honest, legacy code tend to be much more optimized and less memory/cpu hungry as a lot of current code is these days. I want a faster CPU to actually see my applications improve in speed, not because I need a better CPU to make sure the new code finally runs just as fast as our old code did 15-20 years ago.
    • 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.

  • I am finding more python in resumes compared to c++

    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.

    • 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

    • 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.

    • 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.

      • by narcc ( 412956 )

        2005? We were still complaining about colleges jumping on the Java bandwagon and abandoning C. Maybe 2015, but even that's a stretch.

  • I'm guessing COBOL programmers aren't on stackexchange, github, nor reddit. Same for experienced C, C++, Java, whatever.

    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.
  • In what universe?

    • In a Universe where people are doing web searches, "What is FORTRAN?"

      And in Perl they search CPAN, not github.

  • Isn't this a feedback loop? Popular --> reward --> more popular?
  • If people are searching more for it, does that not imply they are having more difficulty and this TIOBE measures most difficult or novice amongst community?
  • 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.

He who has but four and spends five has no need for a wallet.

Working...