Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Stats Programming Python

C Drops, Java (and Rust) Climb in Popularity - as Coders Seek Easy, Secure Languages (techrepublic.com) 27

Last month C dropped from 3rd to 4th in TIOBE's ranking of programming language popularity (which tries to calculate each language's share of search engine results). Java moved up into the #3 position in September, reports TechRepublic, which notes that by comparison October "saw relatively little change" — though percentages of search results increased slightly. "At number one, Python jumped from 20.17% in September to 21.9% in October. In second place, C++ rose from 10.75% in September to 11.6%. In third, Java ascended from 9.45% to 10.51%..."

Is there a larger trend? TIOBE CEO Paul Jansen writes that the need to harvest more data increases demand for fast data manipulation languages. But they also need to be easy to learn ("because the resource pool of skilled software engineers is drying up") and secure ("because of continuous cyber threats.") King of all, Python, is easy to learn and secure, but not fast. Hence, engineers are frantically looking for fast alternatives for Python. C++ is an obvious candidate, but it is considered "not secure" because of its explicit memory management. Rust is another candidate, although not easy to learn. Rust is, thanks to its emphasis on security and speed, making its way to the TIOBE index top 10 now. [It's #13 — up from #20 a year ago]

The cry for fast, data crunching languages is also visible elsewhere in the TIOBE index. The language Mojo [a faster superset of Python designed for accelerated hardware like GPUs]... enters the top 50 for the first time. The fact that this language is only 1 year old and already showing up, makes it a very promising language.

In the last 12 months three languages also fell from the top ten:
  • PHP (dropping from #8 to #15)
  • SQL (dropping from #9 to #11)
  • Assembly language (dropping from #10 to #16)

C Drops, Java (and Rust) Climb in Popularity - as Coders Seek Easy, Secure Languages

Comments Filter:
  • by vadim_t ( 324782 ) on Sunday October 13, 2024 @11:04AM (#64860741) Homepage

    Why is TIOBE still talked about? Their data is complete nonsense. Don't believe me? Look at how it's made:

    https://www.tiobe.com/tiobe-in... [tiobe.com]

    It's basically searching for "$LANGUAGE programming" on various search engines, then taking the "5 million results found" counts. After that they use some fudge factor they seem to have come up by themselves. Why is google.com worth 7.69%? Why is Wikipedia the second in the list, do mentions on Wikipedia go up and down by language popularity? Why is google.co.uk in the list, when it also returns English results?

    Does Google even promise that the result count they display is remotely accurate?

    Let alone that this barely means anything if it worked because it's trivial for anyone to inflate counts by encouraging the use of the term, or it can also go down if some prominent site happens to go down.

    It's an absolutely terrible metric and I don't understand why anyone cares about it. At least try to be remotely accurate. Look at Stack Overflow activity. Look at commits on Github. Look at subreddits. Something that indicates actual usage at a given point in time.

    • by Entrope ( 68843 )

      The "why" is right there in the name: The Importance Of (click-)Baiting Engagement.

      I also find it interesting that the focus is in easy and safe languages. Nobody cares about developer productivity or flexibility these days? Usually, you compromise on two -- and at least one -- I irder to get the other two.

  • Java? Rust? Get serious, world. Does Mommy massage your wrists while you type, so her pwecious angew doesn't get carpal tunnel? If you're not managing your own memory, are you even really programming? Ideally, I'd like a language that lets me adjust my own voltage and Hertz.
    • by narcc ( 412956 )

      Cartoonish machismo aside, the belief that you don't need to think about memory when using a managed language is a real problem.

    • by Kisai ( 213879 )

      The only languages that matter are C (which you are required to know if you want to use any existing software library.)

      You can learn any scripting language (eg Javascript, PHP, Perl, Python) and you will generally understand how it works before the idiots inflating the version numbers start core-rotting the language with features that belong in C++ not a scripting language.

      Like good god , "WebASM" was the worst possible thing to exist, now you get people porting their rubbish code from "language and engine

    • Makes no sense to compare rust to java in this regard. You very much manually manage memory with rust, however most of it is done implicitly through better semantics.

      C++ developers complain about it because they don't understand the concept of implicit destructive move semantics -- one here referred to the idea as "cretinous" because he's used to C++ moves, which are fucking bonkers, just like everything else in that language. As Linus Torvalds and Drew Devault have said: It's a language only enjoyed by bad

  • ...of CHEAP software engineers is drying up
    Companies prefer tools that allow cheap and low skilled coders to quickly churn out mediocre code

  • by Somervillain ( 4719341 ) on Sunday October 13, 2024 @11:19AM (#64860757)
    I care about what employers choose. I like to get paid. New programming languages honestly rub me the wrong way as every person I've ever met who pursues new languages does so as a substitute for mastering an older one. Most people who have written in 10 languages have never mastered a single one. If you know what you're doing?...the old languages are perfectly fine.

    For me, libraries make a much bigger difference than languages. Java is my main language and there are dozens of things it can do better....but I rarely write PURE Java. Most of what I've ever needed to do has been written and is in a library somewhere. I spend more time assembling library code than writing pure Java. But even when I do...it's fine...some languages do things maybe 5-10% better, but it really never adds up.

    I will wager that if Rust is a night and day difference for you, then you didn't learn your old language correctly. Certainly, that was the case for everyone I've ever met who jumped ship to node.js and Python.

    Great...you improved your productivity slightly by moving to Python/node.js/Rust...now you can write novice code even faster?
  • by Uecker ( 1842596 ) on Sunday October 13, 2024 @11:39AM (#64860773)

    IMHO C is still one of the most useful languages and perfectly fine even for large projects (why should this have changed suddenly after many decades?).

    Safety is an issue but there are also many great tools to help with this and which get better continuously (e.g. GCC's analyzer), and the alternatives have their fair share of problems too.

    • Because projects get larger and larger every decade.
      The biggest (mostly) C project is perhaps the Linux kernel - and similar kernels.

      You only use C if you really must, or are a masochist.

      It is useful, if assembly would be a pain, and you have a well working toolchain for what ever 8 bit or 16 bit microcontroller or DSP you are coding. And that is it.

      • by Uecker ( 1842596 )

        This is a lot of nonsense. I enjoy writing C and so do many others. You certainly need to know how to structure large projects in C, but this is no secret. The benefit is also clear: Fast compilation times.

        • by rlwinm ( 6158720 )
          As do I. I think most people who complain about C don't know C.
      • by rlwinm ( 6158720 )

        You only use C if you really must, or are a masochist.

        Maybe in business apps. But that's far from the main genre of software. Embedded is still C. I've worked on some massive C programs. While the Linux kernel is large by line count, it's mostly individual drivers that all fir an API. So it's not even as daunting as you may think. For the last 30 years I've done mainly C and assembly doing everything from chemical process monitoring to linear accelerator beam control. C is a capable language for huge sys

      • by gweihir ( 88907 ) on Sunday October 13, 2024 @12:43PM (#64860893)

        The Linux kernel is, by basically any metric, the largest software project on the planet. It works well. It is under active development. It is not ossified in any way.

        That alone proves without any room for doubt that C is suitable for large and very large projects and does not make things harder than needed. In fact, there is reason to believe that C is, at this time, the only language suitable for competent kernel development and one of the very few languages that has proven itself in very large projects. Obviously, a lot of "coders" are not suitable to work on large and very large projects, or kernels, though.

    • by gweihir ( 88907 )

      Indeed. The problem with C is mostly people that try to code in it while not being sufficiently competent. It is absolutely no problem to code defensively in C and to not screw up. But it requires real insight to do so. The good thing about C is that the really incompetent will not even get their code to compile. But that turns out to be a too low bar.

  • All languages as the final step of their compilation are rendered into assembly language. All the low-level bits of an OS that deal directly with the hardware are also written, at least partially in assembly language. Ditto low-level library bits like memcpy. Assembly language is the giant upon whose shoulders all else rests.
    • Everything you write in assembly, you can write in C, or Pascal, or Oberon or Ada ... and so on.

    • All languages as the final step of their compilation are rendered into assembly language. All the low-level bits of an OS that deal directly with the hardware are also written, at least partially in assembly language. Ditto low-level library bits like memcpy. Assembly language is the giant upon whose shoulders all else rests.

      Why are you obscuring how the computer really works with a bunch of human constructs like symbols, mnemonics and labels?

      Computers work exclusively with binary numbers. You need to look directly at the bits to fully understand your code.

      Preferably, you should exclusively use rows of toggle switches and neon indicators to interact with your system.

  • WTF is with (all of the parens)? [Why not take it to the next level with some brackets too?]

    Maybe (it's all) [bullshit] anyway.

  • by quonset ( 4839537 ) on Sunday October 13, 2024 @12:29PM (#64860845)

    For all you coders, a list [imgur.com] of programming languages and how they work.

    • Still missing the panels showing the horse built in C both looks good and is fast (but should not be ridden by a fat jockey).

      Not to mention it'll translate between all the other horses, as well as ponies and donkeys.

  • Good coders will code in whatever suits the task best. Bad coders do follow-the-hype and often cannot even really go to another language on short notice.

    That said, Rust is still niche and will remain niche. It is too complex and requires too much experience with different coding concepts to be accessible to bad and mediocre coders, and these are the vast majority. That is not to say it is a bad design. I had a look at it a while back and it gets some things right, like prevalent immutability, functional con

  • TIOBE has always shown strange results. Just comparing to a more reliable source as StackOverflow's yearly survey shows how unreliable counting hits can be. For all you know, more hits could be due to people having problems with it or the buzz made by some government about good languages for security. News can be amplified by random outlets, which makes the principle fundamentally flawed. I'm surprised some people are still basing their articles on that index.

Always think of something new; this helps you forget your last rotten idea. -- Seth Frankel

Working...