Hacker News new | ask | show | jobs
by astonex 561 days ago
Just give me a modern C++ like language with fast compilation, easy to pull in packages, and build tooling. Basically Go with no GC.
3 comments

Check Odin.
The language seems to be heavily branding itself as "data-oriented", mentioning it front and center on the website and repo, but never mentions in the docs what makes it data-oriented, or what it even means by that. Is it data-oriented in the Clojure sense, in contrast to "place-oriented"? Or is it data-oriented as in programming with tables of rows, or something else?
How is fast compilation possible with C++-like templates? That seems impossible.
C++ modules, in VC++ and clang/CMake/ninja today.

Add to the potion, binary libraries and extern templates for the common types.

So redo the templates.
They did, hence concepts and constexpr. Rust has more powerful versions of both in traits and macros.
Aren't Rust compiles slow as well? I'm suggesting they take a different approach. Are these systems really needed seeing as other languages do without?
Other languages don't do without them, the costs are just worse in Rust (and C++). Go for example consciously tried to avoid shipping generics and was forced to implement them by community pressure. They now pay the same kinds of monomorphization costs as C++ and Rust because the alternatives have greater runtime costs. Go is simply a faster-compiling language overall though and the problem is less noticeable. Macros are similarly ubiquitous in other functional languages, but most of them aren't compiled or meaningfully optimized.

Rust is complex, highly expressive, and does a lot of optimization. None of that's good for compile times. C++ is even worse because of how awful the template abuse gets and the amount of duplicated code that's fed into the compiler from how #includes work.

Swift
Arc is a GC.
So is RAII if you squint hard enough.