Skip to main content

Programming languages in 2025: what we have now and future predictions

So What Languages Do We Have: Backend

Right off the bat:

Java

Kotlin

Kotlin complicates this a bit - it’s sparked new interest in the JVM world.

It improves on Java with more concise syntax, better null safety, data classes, and more.

That said, it still runs on the JVM…

C, C++

Rust

Golang

Python

Where Does Frontend Fit In?

There are two programming languages available in web browsers:

JavaScript… On The Backend??

JavaScript vs Python

These days it’s a really tough call for which one to focus on.

Python is easy and has a large community. It also has many niche applications where it beats JS (like machine learning libraries).

However, JavaScript is equally capable, while being useful for development across the entire stack. JavaScript is also catching up on the usage of models directly in-browser, with potential for model generation done entirely in-browser too! Check out transformers.js and onnxruntime if interested.

If you are focusing on local-first web development, then using JavaScript is probably your primary concern.

WebAssembly

Summary

What to write (or learn) in 2025 and going forward:

As Promised, Some Prediction

Bonus: Other Languages

  • Elixir: tightly integrated with web development and particularly well-suited to high-concurrency applications like real-time collaboration tools due to it’s BEAM VM usage. Electric-SQL is built with this, and I love it!
  • I didn’t mention unrelated languages, such as Swift for iOS development, Kotlin for Android development, and other JVM-based languages like Scala or Clojure.

Bonus: A Note About Systems Programming

  • In an ideal world, much legacy C/C++ could be migrated to Rust. However, this isn’t a realistic goal, throwing away years of work on open-source projects and entire communities.
  • New projects should ideally be written in Rust, and migration efforts can be attempted.
  • There have been some emerging systems languages that help to improve C or C++ but building on existing tooling and code to help a gradual migration.
    • C --> Zig (simpler build system, better C interop, no hidden control flow).
    • C++ --> Carbon (Google-backed attempt to evolve C++ with modern tooling).
  • This is a slight oversimplification, but mostly covers it.