The Top Programming Languages 2023 (spectrum.ieee.org)
from lysdexic@programming.dev to programming@programming.dev on 04 Sep 2023 20:23
https://programming.dev/post/2568463

#programming

threaded - newest

maeries@feddit.de on 04 Sep 2023 21:40 next collapse

I’m not a programmer, but why is Java so high up? Are that many devices still running it?

cyclohexane@lemmy.ml on 04 Sep 2023 21:44 next collapse

Java is #1 in enterprise. Pretty solid.

Solemarc@lemmy.world on 04 Sep 2023 22:00 next collapse

I think it’s a mix of three things.

  1. Java is the only programming language to get popular as a result of marketing. Java was marketed so hard that the company who built it (Sun) went under, but Java did get some really wide adoption.

  2. Java is the backbone of Android. If you want to build apps for Android you’re using Java or one of the languages built on top of it (Kotlin, Scala, etc).

  3. It’s pretty hard to justify rewriting your codebase to another language. So Java is still around. If you need more proof of this, Most people are still using Java 8 (including android) we are currently at ~java 20.

huginn@feddit.it on 05 Sep 2023 02:14 next collapse

Clarification:

Very few android jobs are Java anymore. Native android is almost exclusively Kotlin, barring legacy code.

This is because Kotlin has nearly full interop with Java code and integrates into Gradle well. You can just swap over to Kotlin dev with a small investment of a few weeks learning curve, then program faster and cleaner than Java.

Android is currently on Java 17 for what it’s worth, though very few codebases have gone through the process of upgrading to 17/Kotlin 1.9/Gradle 8.1

Solemarc@lemmy.world on 05 Sep 2023 02:45 next collapse

Huh, I thought the android stack was basically hard stuck at Java 8 and that’s why Kotlin still supports Java 8.

huginn@feddit.it on 05 Sep 2023 22:11 collapse

Nah we were stuck for years but then they migrated to 11 and now 17.

…I just ran the migrations so I’d know.

taldennz@lemmy.nz on 11 Sep 2023 19:32 collapse

Most people are still using Java 8 (including android)…

Surveys don’t seem to back this up any more… Yes there’s a lot of Java 8 code. But more and more of it is maintenance rather than new development. Respondents of surveys that are able to list the versions they use in production (vs ‘pick one’) have indicated that for many teams with exposure to Java 8, they also have newer versions in production - showing that Java 8 is increasingly about maintenance than ongoing development (with the blocks to moving forward being a mix economic and technical factors).

The most dominant frameworks in the industry are ending their support for Java 8 - so not too far down the track, staying on Java 8 will mean that while you can pay for platform support, framework support is going to disappear anyway.

…we are currently at ~java 20.

Yes Java 20 is the current release, with Oracle’s LTS being Java 17 (the previous ones being 17, 11 and 8 - with 8 having the largest paid support window).

Java 21 is out in a couple of weeks and will become the new Oracle LTS (other vendors and frameworks tend to align on this LTS designation so it continues to be important).

huginn@feddit.it on 11 Sep 2023 22:19 collapse

I think you replied to the wrong comment but: all correct.

taldennz@lemmy.nz on 12 Sep 2023 03:40 collapse

Oops. Just imagine the karma I would have lost, were I still on Reddit…

lysdexic@programming.dev on 07 Sep 2023 07:41 collapse

Java is the only programming language to get popular as a result of marketing.

I don’t think this is true. Java is an outstanding tech stack and was revolutionary in a lot of ways, to the point that it motivated others to shamelessly clone it and in the process create other outstanding tech stacks. See C#.

For starters, Java solved the deployment problem way before containerization was a thing. Developers could simply put together a fat JAR, drop it in a web server like Tomcat, and it would simply reload without a hiccup.

Java is also very tooling-friendly, and has a solid versioning policy.

Solemarc@lemmy.world on 07 Sep 2023 10:17 collapse

I kind of agree and kind of don’t.

I don’t think that C# exists solely because Microsoft thought Java was a good idea. If that was the case C# wouldn’t have been chained to windows for as long as it was. I think Microsoft didn’t want to see a general purpose programming language which could also run on Mac and Linux. They’ve clearly changed their mind now but Java is still massive compared to C#.

I suppose Java did kind of solve the multiple deployment issue and it is pretty funny that the more WASM standards evolve the more they look like the JVM. Ultimately this was a bit before my time so I can’t really comment but there’s a reason “write once, debug everywhere” is a meme.

I’m not the biggest fan of Java’s tooling, I hate that its package managers are separate from it, python and C# can both do it why can’t java! I’m not sure what you mean by versioning policy but if you mean the ordeal surrounding Java versions I really disagree. In this case, I think Java is very lucky it already has wide adoption, I don’t think Java would get any real traction if it was released today because of the licensing issues.

lobut@lemmy.ca on 04 Sep 2023 23:32 next collapse

It’s fairly ingrained in the programming world now. A lot of common problems are known and solved. A lot of devs can code in Java with little uptake. Java runs everywhere. The tools are pretty good.

Desktop apps and servers run it. So like, processing things and all that run well with it.

As mentioned before, Android uses it too. So there’s a lot going on.

balder1993@programming.dev on 05 Sep 2023 00:18 next collapse

Just as an example, I worked as a contractor with the biggest bank in Latin America before and basically all their server code is Java (with new code in Kotlin nowadays).

0x0@programming.dev on 05 Sep 2023 09:52 next collapse

Do they still have the “billions of devices running java” banner when installing the jre? They could be including Android, as it mostly uses Java.

unquietwiki@programming.dev on 06 Sep 2023 02:14 collapse

A lot of commercial apps are built with it. And if you’re not using Kotlin, you’re probably using Java for Android dev.

lysdexic@programming.dev on 07 Sep 2023 07:31 collapse

And if you’re not using Kotlin, you’re probably using Java for Android dev.

Java is the dominant platform for web services, and some companies including FANGs even standardized their whole infrastructure around it.

Also, Java is basically the default programming language in some degrees.

Spzi@lemm.ee on 04 Sep 2023 23:41 next collapse

Above 0.33:

Spectrum

  1. Python
  2. Java
  3. C++
  4. C
  5. JavaScript
  6. C#
  7. SQL

Jobs

  1. SQL
  2. Python
  3. Java
  4. JavaScript
  5. C++

Trending

  1. Python
  2. Java
  3. JavaScript
  4. C++
  5. SQL
  6. C#
  7. C

Python king. Deserved?

morrowind@lemmy.ml on 05 Sep 2023 00:25 next collapse

Not really deserved. Mostly luck

passepartout@feddit.de on 05 Sep 2023 12:01 next collapse

Depends on the use case.

I wrote a webserver in python the last three years and am now changing to java for a new position, and it feels like programming with training wheels.

But then again i did some data science with python and could not have imagined doing it with java.

kicksystem@lemmy.world on 05 Sep 2023 16:42 next collapse

I am rooting for Mojo.

wviana@lemmy.eco.br on 06 Sep 2023 13:54 collapse

Java, JavaScript, Python and SQL and you’ll be pretty safe for some of the years to come.

wth@sh.itjust.works on 05 Sep 2023 00:16 next collapse

Keep in mind that this is for « typical IEEE members », which I am pretty sure is not a great representative sample of programmers in general.

How many of you programmers out there are IEEE members?

lysdexic@programming.dev on 05 Sep 2023 09:54 next collapse

Keep in mind that this is for « typical IEEE members », which I am pretty sure is not a great representative sample of programmers in general.

It’s still way better than counting references in YouTube and twitter, and weirdly enough TIOBE’s results are in line with this poll.

www.tiobe.com/tiobe-index/

wth@sh.itjust.works on 06 Sep 2023 00:51 collapse

The lists are quite similar with a slight reordering in the top 7 or 8. I guess both lists are a representative sample of developers… But there is one interesting difference:

IEEE: Python, Java, C++, C, JS, SQL, Go TIOBE: Python, C, C++, Java, C#, JS, VB (!), SQL

In IEEE, VB is way way down the list. Do IEEE members use VB less?

I’m always amazed that C still scores so high, but I’ve been told there is a lot of embedded work still going on.

lysdexic@programming.dev on 06 Sep 2023 08:44 next collapse

In IEEE, VB is way way down the list. Do IEEE members use VB less?

TIOBE measures social media chatter. Odds are there are far more people posting noise about VB just due to the low barrier of entry.

Also if I recall correctly VB is heavily used to customize Excel spreadsheets, which contributes to a larger potential userbase than any programming language.

JackbyDev@programming.dev on 10 Sep 2023 19:51 collapse

I’m still not totally convinced TIOBE can accurately determine if something is C or C++.

ImpossibleRubiksCube@programming.dev on 06 Sep 2023 04:10 collapse

Not unheard of. I used to be one.

wth@sh.itjust.works on 06 Sep 2023 20:16 collapse

I am one… but I’m the only one I know at my company and socially.

tatterdemalion@programming.dev on 06 Sep 2023 01:50 next collapse

Who’s going to tell them that SQL is not a programming language.

ImpossibleRubiksCube@programming.dev on 06 Sep 2023 04:23 collapse

You can embed scripts in many mainstream distributions of it, and it’s arguable that writing an SQL instruction is in itself writing a concise program for reviewing a database, so it seems logical to me.

tatterdemalion@programming.dev on 06 Sep 2023 07:51 collapse

Yea I’m mostly poking fun. You don’t even need script embedding for Turing Completeness. But I don’t consider DSLs as general purpose languages, as by definition they are not intended to be used that way.

onlinepersona@programming.dev on 06 Sep 2023 22:01 collapse

I find it amazing that rust is still so far down. Is there something about the language or the community holding it back from gaining spots? Or is it just that other languages are so established, that writing the things that already exist in them just keeps its usercount high?