Remix.run Logo
astonex 7 months 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.

pjmlp 7 months ago | parent | next [-]

Check Odin.

joshlemer 7 months ago | parent [-]

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?

dgellow 7 months ago | parent [-]

https://en.wikipedia.org/wiki/Data-oriented_design

throwaway2037 7 months ago | parent | prev | next [-]

How is fast compilation possible with C++-like templates? That seems impossible.

pjmlp 7 months ago | parent | next [-]

C++ modules, in VC++ and clang/CMake/ninja today.

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

jayd16 7 months ago | parent | prev [-]

So redo the templates.

AlotOfReading 7 months ago | parent [-]

They did, hence concepts and constexpr. Rust has more powerful versions of both in traits and macros.

jayd16 7 months ago | parent [-]

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?

AlotOfReading 7 months ago | parent [-]

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.

cemdervis 7 months ago | parent | prev [-]

Swift

vips7L 7 months ago | parent [-]

Arc is a GC.

tonyedgecombe 7 months ago | parent [-]

So is RAII if you squint hard enough.