Sitemap
Oshadhi Goonewardena

Oshadhi Goonewardena

Computer Science Undergraduate | Co Founder @ CeylonRoam | Information Security Intern | Aspiring Software Engineer | AI Enthusiast

Emerging Programming Languages Worth Exploring

5 min read1 day ago

--

Beyond Python, Java and JavaScript: Five programming languages bringing fresh ideas to software development.

When we think about programming languages, names like Python, Java, JavaScript and C++ probably come to mind first. They have been around for years and continue to power much of the software we use every day.

But the programming world doesn’t stand still.

Developers are constantly exploring new ways to build software. Some languages aim to make AI development faster, others rethink memory management, and some introduce completely different approaches to writing and organizing code.

Not all of these languages are brand new, and they aren’t necessarily going to replace the languages we already use. However, they introduce interesting ideas that make them worth exploring.

Here are five emerging programming languages that caught my attention.

1. Mojo - Bringing Python and Systems Programming Together

Press enter or click to view image in full size

Website: https://www.modular.com/mojo

Python is already one of the most popular languages for AI and machine learning. But what happens when developers need more performance and lower-level control than Python typically offers?

That’s one of the problems Mojo is trying to solve.

Mojo combines familiar Python-like syntax with features commonly found in systems programming languages. It is designed to work across CPUs, GPUs and other hardware accelerators.

What makes it interesting is that developers can use Python libraries while introducing performance-critical code written in Mojo.

This makes it particularly interesting for AI development, machine learning infrastructure and high-performance computing.

2. Zig - Rethinking Systems Programming

Press enter or click to view image in full size

Website: https://ziglang.org/

C and C++ have been the backbone of systems programming for decades. However, managing memory manually and dealing with complex language features can make development challenging.

Zig takes a different approach.

It focuses on simplicity, performance and giving developers explicit control over what their programs do.

One of its defining features is manual memory management without a garbage collector. Developers decide how memory is allocated and released rather than relying on automatic memory management.

Zig also offers strong interoperability with C, making it easier to work with existing C libraries and projects.

It is worth exploring for developers interested in operating systems, embedded software, game engines and other performance-critical applications.

3. Gleam - Making Concurrent Programming More Accessible

Press enter or click to view image in full size

Website: https://gleam.run/

Building applications that handle thousands or even millions of simultaneous operations can be challenging.

This is where Gleam becomes interesting.

Gleam is a statically typed functional programming language designed to help developers build reliable applications.

Get Oshadhi Goonewardena’s stories in your inbox

Join Medium for free to get updates from this writer.

It runs on the Erlang virtual machine (BEAM), which is well known for supporting concurrent and fault-tolerant systems. Gleam can also compile to JavaScript, allowing developers to run their applications in different environments.

What makes Gleam stand out is its combination of readable syntax, strong type checking and access to the Erlang ecosystem.

For developers interested in backend systems, distributed applications and concurrent programming, Gleam is definitely worth exploring.

4. Unison - A Different Way to Think About Code

Press enter or click to view image in full size

Website: https://www.unison-lang.org/

Most developers are familiar with organizing code into files, folders, modules and packages.

Unison challenges that familiar approach.

Instead of identifying code definitions primarily through their names and file locations, Unison identifies them using hashes based on their actual content.

In simpler terms, changing a function creates a new version with a different identity rather than simply replacing something identified by the same name.

This approach opens up interesting possibilities for code reuse, dependency management and distributed computing.

Unison also has an unusual codebase management system where code is stored in a structured database rather than relying entirely on traditional source files.

It might take a little time to understand its approach, but that’s exactly what makes it interesting.

5. MoonBit - Programming with WebAssembly in Mind

Press enter or click to view image in full size

Website: https://www.moonbitlang.com/

WebAssembly (Wasm) is changing how developers think about running applications outside traditional browser environments.

MoonBit is a programming language being developed with WebAssembly and cloud computing in mind.

It focuses on fast compilation, performance and developer-friendly tooling.

One interesting thing about MoonBit is that it isn’t limited to WebAssembly. It also supports JavaScript and native compilation targets.

This gives developers more flexibility when building applications for different environments.

Its potential use cases include web applications, cloud services and edge computing.

MoonBit is still evolving, so it will be interesting to see how its ecosystem develops.

The Takeaway

What I find interesting about these languages is that each one approaches programming from a different direction.

Mojo explores the relationship between Python and high-performance computing. Zig focuses on simplicity and low-level control. Gleam makes functional programming more approachable, while Unison questions how we traditionally store and manage code. MoonBit explores new possibilities around WebAssembly and cloud development.

Of course, none of these languages is going to replace Python, Java or JavaScript overnight. Established languages have mature ecosystems, large communities and years of development behind them.

And honestly, not every emerging language will become widely adopted.

But I think keeping an eye on them is worthwhile. Even if you never use them in a real project, understanding the problems they are trying to solve can give you a different perspective on software development.

Which of these languages would you be interested in learning? Have you experimented with any of them already?

--

--

Oshadhi Goonewardena
Oshadhi Goonewardena

Written by Oshadhi Goonewardena

0 followers

Computer Science Undergraduate | Co Founder @ CeylonRoam | Information Security Intern | Aspiring Software Engineer | AI Enthusiast