Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
Python Perl Programming Stats

Python Surges in Popularity. And So Does Perl (techrepublic.com) 65

Last month, Python "reached the highest ranking a programming language ever had in the TIOBE index," according to TIOBE CEO Paul Jansen.

"We thought Python couldn't grow any further, but AI code assistants let Python take yet another step forward." According to recent studies of Stanford University (Yegor Denisov-Blanch), AI code assistants such as Microsoft Copilot, Cursor or Google Gemini Code Assist are 20% more effective if used for popular programming languages. The reason for this is obvious: there is more code for these languages available to train the underlying models. This trend is visible in the TIOBE index as well, where we see a consolidation of languages at the top. Why would you start to learn a new obscure language for which no AI assistance is available? This is the modern way of saying that you don't want to learn a new language that is hardly documented and/or has too few libraries that can help you.
TIOBE's "Programming Community Index" attempts to calculate the popularity of languages using the number of skilled engineers, courses, and third-party vendors. It nows gives Python a 26.14% rating, which TechRepublic notes "is well ahead of the next two programming languages on this month's leaderboard: C++ is at 9.18% and C is 9.03%." But the first top six languages haven't changed since last year...
  1. Python
  2. C++
  3. C
  4. Java
  5. C#
  6. JavaScript

Since August of 2024 SQL has dropped from its #7 rank down to #12 (meaning Visual Basic and Go each rise up one rank from their position a year ago, into the #7 and #8 positions).

In the last year Perl has risen from the #25 position to #9, beating out Delphi/Oracle Pascal at #10, and Fortran at #11 (last year's #10). TIOBE CEO Jansen "told TechRepublic in an email that many people were asking why Perl was becoming more popular, but he didn't have a definitive answer. He said he double-checked the underlying data and found the increase to be accurate, though the reason for the shift remains unclear."


Python Surges in Popularity. And So Does Perl

Comments Filter:
  • Perl?
    • Re:What is (Score:4, Funny)

      by Mr. Dollar Ton ( 5495648 ) on Saturday August 16, 2025 @11:04AM (#65593952)

      Something you don't cast before the swine.

    • Finally, people are coming to their senses.
    • I have two theories
      1. Other languages are falling faster than Perl making Perl rise

      2. Perl is what smart people use instead of bash. So for all sysadmin tasks or ad hoc system scripts or gluing you'd be crazy to use bash when you can use Perl.

      • by dbialac ( 320955 )
        Python was designed by a authoritarian so it comes with your own personal Nazi to tell you how you will code. To be clear, not how to code, but how you will code. No other language comes with what is effectively its own RFC. Perl was designed with a DWIM (do what I mean) mentality and lets you focus on the task at hand, not the number of spaces required for indentations. It also gives you the freedom to shoot yourself in the foot if you're not careful.
        • If only we could ensure benevolence, benevolent dictatorships would be the best way to govern the world.
          Python has a benevolent dictator and I love it and do what I'm told, mostly.
          I happily left the crazy anarchy of Perl for Python.
          C++ has a personal schizophrenic Nazi who is getting crazier and crazier with age.
    • It’s a language you don’t worry about maintaining.
  • Great question... (Score:4, Interesting)

    by Mr. Dollar Ton ( 5495648 ) on Saturday August 16, 2025 @10:52AM (#65593930)

    Why would you start to learn a new obscure language for which no AI assistance is available?

    Soon to be "why learn anything that isn't already in the AI model, you'll have to research it on your own".

    Wasn't that a theme from the paper "Foundation", where someone was telling everyone else that all is already known and you just have to find the book it's written? And wasn't that the mark of the end of the Great Empire?

    • Re:Great question... (Score:4, Interesting)

      by phantomfive ( 622387 ) on Saturday August 16, 2025 @11:12AM (#65593966) Journal
      At one point programmers used to brag that they could learn any programming language in a day or a week.

      Now apparently there's a substantial portion of the programming population that can't learn any language without AI assist.
      • At one point programmers used to brag that they could learn any programming language in a day or a week.

        Now apparently there's a substantial portion of the programming population that can't learn any language without AI assist.

        I think you're misremembering.

        https://www.norvig.com/21-days... [norvig.com]
        Or the 1998 version
        https://web.archive.org/web/19... [archive.org]

        It's been understood for a very long time that learning a language is the easy part, especially after your first. Mastering its libraries, frameworks, its isms, that takes considerably more time, Peter's Ten Years suggestion.

        That deep end of the pool is where AI really is invaluable for.

        Disclosure: OFC I used AI to find notable people in tech with blogs from the dotcom era supporting my point.

        • I think you're misremembering.

          Oh fuck no. I can still learn a new language in a day or a week.

          The links you pointed to are mainly talking about non-programmers or low-skilled programmers learning to program.

          • It is a common mistake, except for the point of "-isms", by which I assume the articles mean the appropriate idioms. These sometimes can be a bit harder to master in a day only from the language docs, although they are typically comfortably doable in a week.

            Ironically, the "AI" generation is much worse than useless when it comes to generating idiomatic code.

    • My question is, what language doesn't have AI assistance available?

      All you have to do is feed it the language documentation, and it's able to "assist" you with the language.

      Maybe there's an obscure language out there with no documentation, but such a language is so obscure, nobody but the author is using it.

      • Your question is one of the few for which "there are no dumb questions" rule doesn't apply.

        Quite obviously the "AI assist" here does not mean a glorified search of the documentation, but the part that generates a code-like image done in ascii characters.

        And that still depends entirely on access of the "model training" of the tool to lots of code for the random generator to adjust its coefficients so that it outputs ascii art that is more code-like than not.

        That's your appropriate definition of "obscure" her

        • You start by saying it's a dumb question, but then you proceed to answer. That kind of defeats your argument, if it were really a dumb question, you wouldn't bother to answer.

          Here's the thing. AI can read language docs, and turn it into code written in that language. I know this because I've done just that, to write code against obscure APIs for which there was no sample code, only documentation.

          • but then you proceed to answer.

            Of course. I'm always trying to be helpful.

            Here's the thing. AI can read language docs, and turn it into code written in that language.

            Sure, Jan. We've all seen it try.

            Sadly, it doesn't produce "code". It does output something that looks like code. Of course, unless it is something really trivial and in Python, like a one-liner calling a constructor with no arguments, it will neither compile or run, but it is such a time saver!

            • Maybe you don't know how to craft AI prompts, but you'll catch on. I've had much better success with AI producing actual code, from nothing but docs.

              • Much better success than writing it yourself?

                Well, I'm sorry to hear that.

                Maybe you don't know how to read development docs, but you'll catch on.

    • I program for fun as well as for work.
      I used AI for a personal project but ran out of free credits.
      Rather than carry on on my own, I am waiting for more free credits, because I do not want to waste time on the grunt work AI does for me.
      That surprised me.
  • Perl is awesome. It doesn't hurt that they finally got their finger out of their eye and are moving forward.

    • YES! Perl really shot themselves in the foot with serious consequences... Although Roku has interesting ideas and abilities it was almost an insurmountable task which made the whole situation so much worse. It would have been better as a different language from the start... and likely would have died early since a lot of talented Perl people were spent on Roku being a massive upgrade of Perl.

      It's still too technical and hacky for large projects; which means that you need a team of people who are all on the

    • Re:I mean... (Score:4, Informative)

      by Daina.0 ( 7328506 ) on Saturday August 16, 2025 @11:30AM (#65593996)

      Good point.

      Just for fun yesterday I took some Java code I wrote, about 10 lines and converted it to Perl. It ended up being 1 line and easier to understand than Java. I've found the same thing with PHP--meaning Perl was shorter and easier to understand than PHP.

      I was thinking about a website I worked on 30 years ago. The Perl code is still working without modification (Perl 4 to 5.38). The supporting languages have had to be modified over the years to keep going. Gotta love Perl.

  • The fact is if you want to do nearly anything in AI these days at the programming level you end up using Python for it. All the API clients are supported that way.

    Before taking my current gig which is of course all about AI I barely touched Python. Now it is pretty much all I do. The work is more interesting than the language even though it is an excellent language in many ways.

    AI is the killer app for pytPon.

    • And that leads to the crucial point:

      In the modern world, we don't choose languages based on language features. We choose them based on available libraries. Forth [wikipedia.org] is the best language, but it doesn't have NumPy bindings.
    • Python is just the comprise language for everything: Easy for beginners, easy to call C or Fortran to get core algorithms fast, lots of libraries for almost everything. With static type checking you can even build large systems with it. No stupid multi-threading to make programs unstable and unreliable. The only none-religious reason not to use it, is speed. But you should always optimise later, so picking another language will look like premature optimization in many cases... or just conservatism, because
  • by Anonymous Coward

    It seems unlikely that any language could truly "surge" in popularity in a way that matters for professionals. Sure, it could suddenly become more popular for introductory courses, web searches, new projects, etc; but the bazillions of lines of existing code in other languages are not going to suddenly change, and large code bases like the Linux kernel, Firefox, etc. are what we interact with most in our daily lives.

    • Re: Seems unlikely (Score:5, Insightful)

      by topham ( 32406 ) on Saturday August 16, 2025 @11:22AM (#65593986) Homepage

      I'm doing meteorological data analysis. Want to bet what language I'm doing it in? Python. Because that's where the libraries are for the dataset I'm playing with.

      Are there other libraries in other languages? Maybe. Are they anywhere near as popular? Significant doubts abound.

      It's much easier to pick the same tooling as the core data you're going to use is built around. Thankfully in my case extracting the data is about all I need from Python.

      Python is heavily used in data analysis, particularly from research or academic fields. Its resurgence with AI is unsurprising to me based on that.

      • Those libraries are most likely written in C++. Python is just something you add on top for usability. At least that what I saw in my last job (biochemistry).
  • The end times must be upon us.

    Though, I will say it was useful when I set up my companyâ(TM)s first duct-tape-and-zip-tie CDN back in the late 90s for software downloads. All I was given was access to three distributed sun boxes that I could stash our binaries on, and run cgi scripts on Apache. I was able to redirect our paying customers to these servers and still have reasonable (but not perfect) confidence the files were hard to get for non paying customers. It used a simple token passing scheme.

    • I wrote the chip implementation flow (front to back; synthesis, DFT, place-and-route, physical verification, etc.) that is used by my employer in Perl.

      First iteration was circa ~2012, and it is still used everyday to this day (albeit with a LOT of updates over the years)

      Screw Python and that whitespace nonsense

  • by ffkom ( 3519199 ) on Saturday August 16, 2025 @11:25AM (#65593990)
    AFAIR the TIOBE index is computed based on how frequently questions regarding the different programming languages are observed. With the advent of LLMs, such questions will be placed less and less to classical search engines, but will be answered by LLMs. I wonder whether the companies hosting LLMs-as-a-service will let the makers of TIOBE look into the question statistics of their users.
  • by Plugh ( 27537 ) on Saturday August 16, 2025 @11:28AM (#65593994) Homepage
    Runs on everything from VMS clusters to Alpine Linux. Has libraries for *everything*. Can be structured and enterprise, or quick-hack to fix a devops issue. Perl is beautiful and timeless.
    • by dskoll ( 99328 )

      Agreed. I ran an email security company for 19 years and our product was mostly written in Perl. I use the product to this day.

      Perl is still my go-to language for either quick scripts or bigger projects that don't need the speed of C or some other compiled languages.

    • by ToasterMonkey ( 467067 ) on Saturday August 16, 2025 @03:00PM (#65594414) Homepage

      Perl on Windows isn't anything at all like Perl on a Unix which isn't anything at all like Perl on VMS because it doesn't even try to abstract basic OS functions like the simplest filesystem operations. Java does, try.. for most basic OS functions. OS agnosticism was not a goal of Perl and it isn't and it most definitely was for Java and it debatably is at least for a wide swath of OS functions.

      The Perl runtime is not relocatable, or hasn't been historically, and the one you're using isn't with like 99.99% certainty. ActiveState probably found a way or a way to cope, I know it was a problem for them. There's probably some hack to build your own relocatable runtime by now, but Java has had that from the beginning. It has been a feature of every single Java runtime and JDK distribution that you just unzip it. In your home, usr/local, /opt, multiple versioned installs, symlinks, however you want to do it. You literally just run bin/java or bin/javac wherever it is and the only OS setup is putting one in your PATH if you feel like it. I'm not counting registering url handlers for things like JNLP with javaws, or if you want to install the libjvm browser plugin for applets, that's desktop shit and Perl doesn't even have those functions.

      Java libraries are Java, Perl libraries are ... who knows... Perl? Native? Do they depend on the version of the Perl runtime your OS ships or other native libraries tied to the OS release? When you make the leap from RHEL8 to RHEL10, will the runtime be the same version, are you building the whole Perl runtime and all libraries and possible native extensions for each OS you maintain?

      Dude I've done all that. Fuck that, no. The problems managing Perl and Python and everything else of that caliber are basically the REASON containers exist because anything more complex than the basic sysadmin script gets weird, like no, I'm not downloading random CPAN shit on 2000 servers, and if your shit doesn't run on the Perl that RHEL7,8,9,10 respectively ships then it's not running because I refuse to compile an entire custom Perl runtime across three OS releases for some devops jackass's CICD helper utility that doesn't get the fucking concept of how distributing runtime dependencies works. But yay... I can just ask for a container now.. because shipping a distributable runtime on Linux is so unpossible we have to lift and shift a whole filesystem image abstraction. Whereas, for Java I download the Java-VERSION.zip for each OS and unzip. The libraries, yah you give them to me with your app, I don't even have to ask, because not one fucking Java jockey will ask me to "just yum install" some dependency across all our managed OS's and tightly couple the app to an OS release.

      Look man, truthfully I'm a Perl fanboy, I've used it extensively for sysadmin duct tape and glue work, and obviously Java is not the tool for that at all. But... LLMs are free and anyone can see what "read a directory's contents" with Perl and Java on Linux/Windows/OpenVMS looks like for example. Gee, how did I know Perl would need to shell out for something that simple, I wonder. Anyone being honest with themselves knows Perl isn't cross platform and thirty years of Perl on *nix experience doesn't change that simple fact, it feels like it can do anything... on a *nix, which it was made for.

      I don't want the take away from this to be me dumping on Perl. Perl/Ruby/Python, etc are all in the same boat, managing their runtimes sucks, particularly on Linux. Containers are the answer to that, but why? All you fuckers have ten to fifteen different distributable C/C++ runtimes installed on your Windows work machine right now and you didn't even know, you just clicked an installer. Why is installing the SECOND Perl runtime on your Linux server _so_fucking_stupid_

      With Java this is trivial and it really has nothing AT ALL to do with the language, it was just a design goal of some Sun engineers decades ago and LOOK, no containers needed to deploy Java runtimes today... huh

      • by chthon ( 580889 )

        I used Cygwin on Perl on Windows for 12 years, working at Philips, to automate builds and releases. The same code also ran for a time on Linux virtual machines. Perl has the best interface abstractions of any language, masking e.g., the ugly Windows process interface (possibly also through Cygwin :-)) with a proper POSIX process interface. And Perl is almost like (Common) Lisp, the only thing really missing is the CL macro facility.

    • by guygo ( 894298 )

      "It does the right thing." Thx, Larry. The llama comes back!

    • I'd give this honor to JavaScript. It truly does run *everywhere*.

    • by Tablizer ( 95088 )

      Most people only care about languages running on Linux or Windows. And if the compiler/interpreter is written in C or C++, the language can probably run on just about any OS (perhaps with some IO compatibility issues.)

      And I haven't seen a good answer for the alleged resurgence of Perl.

  • And here was me last night looking at my shelf of O'Reilly Perl books and wondering whether I'll ever refer to them again. I don't suppose with AI "help" available at the click of a mouse that there's much of a second hand market for them.

  • by Shemmie ( 909181 ) on Saturday August 16, 2025 @12:16PM (#65594048)

    That so many different specialisms can make use of it for data analysis without calling in a programmer, it seems to that it's largely succeeded at bringing programming to more people than ever.

    I do worry that domination may lead to a broader stagnation, and a Pythonication of existing languages - C# feels like it's going down this route.

    While I'm posting where Python experts may lurk; is there an 'enjoyable and effective' way of developing 'attractive' multiplatform UIs with Python yet, or does anyone know of anything being actively worked on?

    • C# feels like it's going down this route

      Could you elaborate on this?

    • by theCoder ( 23772 )

      Python is kind of the modern Visual Basic in that it makes it easier for non-experts to create applications to accomplish their specific tasks. While this is probably overall a good thing, it does mean that there is lots of poorly written Python code out there. Even Python code written by professional software developers can be bad. I dealt with some Python scripts once that took 30 seconds to print help usage because of how many imports they were doing.

      As far as GUIs, PyQt is useful for creating Qt GUIs

  • by Escogido ( 884359 ) on Saturday August 16, 2025 @02:18PM (#65594324)

    which qualities should a programming language / platform have so that it can benefit more from LLM-based tools?

    I asked ChatGPT and here is how it ranked TIOBE's top 20:

    Top tier -- AI-friendly (9 - 10/10)
    These languages get the biggest immediate productivity boost from AI: large corpora, great tooling/IDEs, REPLs or declarative style, and stable ecosystems.
    * Python (TIOBE #1) -- huge training corpus, ML ecosystem, REPL + notebooks -> excellent NL-> code and copilots.
    * JavaScript (TIOBE #6) -- massive web ecosystem, short idiomatic snippets that LLMs do well at.
    * C# (TIOBE #5) -- Roslyn + mature tooling give strong static-analysis signals for safe code generation and refactors.
    * SQL (TIOBE #12) -- declarative queries map exceptionally well from natural language; high precision generation.

    Strong tier -- Very good fit (7 - 8.9/10)
    Large ecosystems and/or excellent tooling -- AI helps a lot, but either low-level detail or domain specifics require caution.
    * Java (TIOBE #4) -- huge corpus + static typing reliable refactors, test generation; boilerplate can be an issue.
    * C++ (TIOBE #2) -- massive codebase; templates and patterns help, but low-level UB and build/ABI complexity reduce autonomous use.
    * C (TIOBE #3) -- plentiful examples, but pointer/UB and platform specifics make fully automatic changes risky.
    * Go (TIOBE #8) -- simple, opinionated style and gofmt = AI produces readable, idiomatic code reliably.
    * Rust (TIOBE #18) -- excellent compiler diagnostics let AI produce correct-by-construction fixes; steeper semantics but very promising.

    Mid tier -- Useful but with caveats (5.5 - 6.9/10)
    AI helps productivity (snippets, prototyping, migration), but domain-specific tooling, legacy idioms, or small corpora limit scope.
    * Visual Basic (TIOBE #7) -- large legacy base and lots of examples; useful for migrations and automation but inconsistent modern tooling.
    * Perl (TIOBE #9) -- expressive one-liners & CPAN help, but varied idioms make safe generation harder.
    * Delphi / Object Pascal (TIOBE #10) -- legacy GUIs and embedded uses -- AI aids porting and snippets.
    * PHP (TIOBE #15) -- huge web examples/frameworks; dynamic quirks can trip up blind generation.
    * R (TIOBE #14) -- great for data tasks; AI helps plotting/analysis code but less so for large engineering systems.
    * MATLAB (TIOBE #16) -- numeric/algorithm prototyping benefits from AI, smaller ecosystem for broader tooling.

    Lower tier -- Niche / harder for LLMs (3.5 - 5.4/10)
    Specialized domains, niche audiences, or small indexed corpora reduce immediate AI impact.
    * Fortran (TIOBE #11) -- legacy scientific code -- good for modernization tasks but limited general tooling.
    * Ada (TIOBE #13) -- safety-critical focus and niche community; compiler checks help, but corpus is small.
    * Kotlin (TIOBE #19) -- modern language with good IDEs, but smaller training footprint vs the biggest languages.
    * Scratch (TIOBE #17) -- educational/block language: AI can create lesson content, but not much production automation.

    Legacy / very low-benefit tier (0 - 3.0/10)
    Very context-sensitive, architecture-specific or educational-only languages where generic LLM assistance is least useful.
    * Assembly language (TIOBE #20) -- highly architecture- and context-specific; AI can suggest patterns but needs deep hardware context.

    would you agree with the LLM's "logic"?

  • by vadim_t ( 324782 ) on Saturday August 16, 2025 @02:40PM (#65594366) Homepage

    I'm perpetually mystified how TIOBE is considered to be in any way reputable.

    It's just searching for "$LANGUAGE programming" in various engines and applying magic fudge factors.

    It's not an indicator of jobs, or activity, or much of anything else really. This is especially obvious with things like Visual Basic showing up weirdly close to the top, and having large spikes, as if there were times when VB suddenly got a huge influx in demand.

    VB never even transitioned to 64 bits, it's that old. VB.NET i suppose exists but seems mostly pointless since it all compiles down to CIL anyway. Might as well use C#.

  • by Travelsonic ( 870859 ) on Saturday August 16, 2025 @02:48PM (#65594382) Journal
    It really, really is. Why can't we just focus on what is best for the particular thing being programmed (/ specific way of going about it), focus on advancing those languages and tools where and when needed, and stop this fucking dick waving contest? ~_~
  • by WaffleMonster ( 969671 ) on Saturday August 16, 2025 @06:05PM (#65594670)

    I've always liked Perl. I use it for writing utilities and small one off programs and don't have any complaints. Perl doesn't bug me unlike Python with breaking changes and supremely idiotic whitespace blocks.

  • If you must write in a language that often looks like line-noise, try one that was designed to look that way ... INTERCAL

    ChatGPT prompt "please write me a short program in Intercal that calculates and outputs the first 20 prime numbers

    ChatGPT Response: Below is a working INTERCAL program (tested for C-INTERCAL dialect) that calculates and outputs the first 20 prime numbers. It uses a very basic trial-division algorithm and outputs each prime on its own line.

    PLEASE DO ,1 <- #20 ; how many primes

Quark! Quark! Beware the quantum duck!

Working...