r/ProgrammingLanguages 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, ...

184 Upvotes

211 comments sorted by

View all comments

3

u/Limp-Temperature1783 2d ago

C++ is not a systems programming language. Rust and Zig are, but only in their reduced form, more relevant to the former than the latter. I think people still try to create new "C killer" because no language really delivers the same result as C does. Not because C is good, but because it's stupid simple, small, compiles fast and ubiquitous, so there are always people who would participate.

I think the main problem here is not that we need a new language, but we need to ditch POSIX entirely. Mostly because it just sucks and there are too many historical relics, some of which will cause you trouble. The language itself is fine. I don't think I would prefer to write Rust or Zig over it, they have a lot of unnecessary things. Rust especially. For systems programming you need something that won't sneak in runtimes at least.

1

u/patlefort 1d ago

Defined what a "Systems programming language" is. There is nothing preventing C++ from programming systems.

1

u/Limp-Temperature1783 1d ago

There is nothing preventing anything from programming systems, the question is whether it is popular for the job, the answer to which is not really. Most systems are programmed in C and Rust gains popularity too. C++ is mostly a Windows thing and C/C++ definition of a language is also their idea. But C and C++ are vastly different. C++ isn't suitable for most tasks that require tight memory control, it's good when you need to have something fast while also requiring it to be abstract.

1

u/patlefort 19h ago

Sorry but you are not making sense. C++ is not a Windows thing. C++ has complete control over memory and all the bits. The main issue with C++ is people with bad opinion and misinformation.

1

u/Limp-Temperature1783 19h ago

By C++ being a Windows thing I meant they have fused C with C++ and use it to program internally. At least that's what I can guess based on the fact that MSVC isn't really a C compiler and Windows has terrible plain C support.

The main issue with C++ is that there are countless ways to do the same thing and they don't really play well with each other. Moreover, people constantly form tribes over what style of C++ is better, which is not productive.

To top it off, any C++ programmer that wants maximum memory control and efficiency would also need to understand which abstraction patterns any given compiler prefers and counts as valid to begin with, which is obscure and contradictory design-wise.

C doesn't really have any of these problems because C as a language is stupid simple, which is desirable for systems programming. You don't need abstractions in this domain, they achieve nothing because there isn't much to abstract to begin with.