As programmers, we're often stuck in our comfort zones, relying on familiar languages that have become stale and glitch-prone. But what if you could start fresh with a new language that wipes away all the old problems? The good news is that dozens of great new programming languages are launching every year, offering solutions to nasty issues that older languages never solved.
From Coq, which asks you to specify problems in a theorem about a hierarchy of types, to Observable, a mechanism for building data-filled displays or dashboards that can stitch together many libraries and code bundles, these 11 cutting-edge programming languages are notable and possibly worthy of your time. Some are just a year or two old, while others are a bit older but still gaining traction. All of them offer a solution to some nasty issue older languages somehow never solved.
One of the most interesting aspects of these new languages is that they promote constructing good, solid, relatively bug-free code. By studying them, you'll learn something that you can use with your current standby language. Many older programming languages are refreshed and reinvigorated by new approaches that are first tested and refined in experimental projects like these.
Take Coq, for example. This language takes the concept of functions, subroutines, and methods to the next level by asking you to specify problems in a theorem about a hierarchy of types. Then, it works on finding and verifying a proof of the statement. While it may seem nerdy, Coq's structure is helpful for working with problems that have complex combinations or multiple levels with lots of restrictions or rules.
Observable, on the other hand, is a mechanism for building data-filled displays or dashboards. It's not an actual language, but rather a framework that allows you to stitch together many libraries and code bundles. The top level is written in markdown, while the charts use JavaScript because they rely on D3, Leaflet, and several other blobs of code that run in the browser. The lowest levels can be anything, but many use SQL, Python, or R.
Plang is another language that's gaining attention. It's the next logical step in language development, where the creators have bolted a large language model directly to the compiler and arranged for it to run code without waiting for you to cut and paste it. You just type some basic, handwavy instructions, and Plang does the rest. While it's dangerous to promise too much about a system that doesn't have a rigid set of semantic rules with an obvious mapping to machine code, Plang's output often seems miraculous.
Mojo and Erg are two languages that start with Python and add extra features like static typing and memory safety to speed up the end product and make it more robust. Mojo is a strict superset, which means that your old Python code should still run, while Erg is said to be largely compatible with Python. The two languages differ in important ways, with Erg's team implementing a more complex and ambitious strategy that wants to push functional programming more.
MoonBit and Wing are two languages that try to deliver better performance for the often tiny tasks at hand in edge computing. MoonBit emphasizes the size of the executable that is ultimately delivered as WebAssembly, while Wing focuses on helping the cloud programmer by offering many abstractions that handle the chores and scut work that cloud computing entails.
Finally, there are languages like Rust, Zig, Jakt, Odin, and Mojo, which are gaining attention with a memory model that gives each value one and only one official owner. This approach, sometimes called memory safety, and sometimes just "ownership and borrowing," is found in other languages like Zig, Jakt, Odin, and Mojo. All present the memory ownership concept wrapped up in their favorite syntax.
The best way to experience a new language is to dive in and use it for something small, say a skunk works project or a small utility. Build it, test it, fiddle with the new features. That's how you'll find out what a new language can really do, and why someone created it in the first place.
In conclusion, these 11 cutting-edge programming languages offer a fresh start for programmers who want to innovate and create something new that wipes away all the old problems. By studying them, you'll learn something that you can use with your current standby language, and who knows, you might just find the perfect fit for your next project.