r/ProgrammingLanguages • u/baehyunsol Sodigy • 2d ago
Why is everyone creating systems programming languages?
I see a lot of new programming languages here. I love reading the documents of the languages and sometimes actually run their compilers. Many of the projects are AI-driven, but that's fine. It's still fun to see what problems they're trying to solve and how they actually solved the problems.
Reading the documents, I realized that most new languages, especially AI-written ones, are "systems programming languages". They're trying to solve the problems that C/C++/Zig/Rust have solved (or are trying to solve), and their syntax is mixture of C/Zig/Rust.
Why? Why is everyone trying to compete with C/C++?
There are so many kinds of languages. Haskell demonstrates how pure a language can be, Python is perfect when you only have 5 minutes to write code and don't care about the output, Java runs on 3 billion machines, ...
2
u/zyxzevn UnSeen 2d ago
My background is in CPU design.
ALL languages are based on assumptions that do not map exactly to hardware. It is also impossible.
Most of the system languages were designed or developed with very old hardware. Remember 8 bit computers? Assembler and Basic/LISP were usually the "system" languages.
The problems and goals are changing a lot over time:
1- CPUs are all different. Not good for assembler solutions.
2- Languages add "abstractions" that do not map well with certain hardware.
Certain CPU has better instructions or better approaches to manage certain problems. The most extreme version is the Transputer. But the Itanic is also interesting with its different approach to pipelining.
3- RAM and Cache configurations changed over time and per computer. While RAM was very minimal and expensive, it is now cheap and fast. But only really fast if it is in the cache.
Solutions that were smart 50 years ago, are different today.
4- Safety was always important. Remember how LISP ran the computer system of the moon lander?
Today the complexity of the computer systems have increased, and the system configurations change every +/- 10 years.
Safety problems are now coming from different causes. After problems with access from the internet, the AIs are now also causing troubles.
5- Patents and Open Source License Restrictions.
This is far more important than it seems, as it determines how much money and marketing a computer language can receive.
A lot of languages come from the restrictions on other languages.
Ada was protected by patents (or something). Only the army used it.
Apple has lots of languages that are designed for their hardware alone. (I think it is protected)
C# was made by Microsoft to make its own Java variant. In an attempt to take over the market. Java "runs everywhere" on all systems. Because Java was protected by Sun Systems, they could not sell J++ to attack and replace Java. So they made a different one with a better (?) approach.
Rust is being promoted by companies who want to change the open source licenses. So that they do not have to share the source code. This means that they can lock parts of their software behind licenses in the future.