I want to tell you about new or relatively new not widely used languages which from my point of view present some breakthroughs. I wonder what else do I miss in this field?
Need to say that I will talk about relatively unpopular languages, so this disqualifies Rust or Julia, but feel free to drop a line about your favorite language and what innovative it does.
Ponylang
Ponylang combines a couple of ideas and a lot of research behind it.
It has an actor model, like in Erlang, but message passing is done with zero-copy (unlike Erlang).
It has "borrow checker", like in Rust, but it has more kinds of references, for example, an identity which you can't read or write, only compare.
Because of "borrow checker" it can have stronger guarantees about the scope of variables and because of actor model, it can have non-stop garbage collector for each actor. This is just, to sum up, what impresses me, it is better to watch talk of the author about his language.
Skip
Skip recently released to opensource by Facebook. This is the result of 3 years of research, they are not interested in actively developing anymore, but it has some interesting ideas.
It is a practical blend of functional and object-oriented styles, it encourages global immutability, but allows local mutations for convenience and has very interesting syntax for it which is a gradient from OOP-ish mutation to functional lenses (depending on where you put !
).
It has a very interesting concept of built-in memoization and reactivity (without the need to worry about cache invalidation problem).
A bit chaotic explanation, I guess the author explains it better. (In the video the author talks about a language called Reflex, but I'm pretty sure this is one of the old names of Skip, and I didn't find better video for this language).
Zig
Zig is like a C on the level of abstraction but built with memory ~safety~ awareness up front.
It is possible to cross-compile one program to 3 platforms. It claims to produce more efficient code and compile-time suppose to be good.
What really draws my attention to this language is passion of the author and novice approach to memory allocation problem. Most of the different languages don't talk about what would happen if we run out memory. Memory-aware language combined with unikernel (which is also written in that language) seems to be a very powerful idea. Don't take it from me - listen to the author.
Photo by Inês Pimentel on Unsplash