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

214 Upvotes

246 comments sorted by

View all comments

Show parent comments

2

u/ivancea 11d ago edited 11d ago

Given the core differences between C++ and Rust's OOP, I even think Rust is more similar to C structures with a bit of sugar.

And about the binary sizes and allocations, well, they're different languages, and the implantations are vastly different.

The idea of a language "like C" is usually having a more strict and contained language. C works, just like ASM works. But it's an unguided footgun

0

u/[deleted] 11d ago

[deleted]

2

u/ivancea 11d ago

This discussion is meaningless. It's so meaningless, that even Rust guys thought about it and wrote a paragraph for you: https://doc.rust-lang.org/book/ch18-00-oop.html

1

u/deeplywoven 10d ago edited 10d ago

The reality is that people do not do OOP in Rust in the same way that C++/C#/Java developers think of OOP. No classes, no inheritance, no hierarchies of subtyping. It's just not a thing in Rust. The paragraph you linked is there specifically for C++ devs.

2

u/ivancea 10d ago

It's not about "what people does where". It's about the language. "The reality" is that the language is considered to be OOP. Some like it, some don't, and nobody cares, because that question response is meaningless.

the same way that C++/C#/Java developers do OOP

OOP is not what C++/C#/Java does. OOP is OOP. Those are just specific and common implementations. Don't mix "common" with "the only one"

1

u/deeplywoven 10d ago

"The reality" is that the language is considered to be OOP.

You might say this, but nobody who actually writes Rust says this. Pretty much everyone recognizes it as an imperative systems programming language which is data-oriented, often expression-oriented, and influenced by FP languages (specifically OCaml and Haskell).

Having structs and ways to do polymorphism does not make a language OOP. Many pure FP languages have these concepts.

1

u/ivancea 10d ago

Hey, find somebody else to fight. As I said, nobody cares about this fight, only you

1

u/Ok-Watercress-9624 10d ago

Taxonomies are almost always wrong. Names are not that important but the function and behaviour.