47 points ksec 1 hour ago 26 comments
gigatexal 40 minutes ago | parent
As for me, I’d like to keep contributing to the ecosystem, and I will, whenever I come across a project worth building.”
Idk I don’t write either well enough to have a hand in this but losing out all of this for more Imperative stuff seems like a step back.
“ No functional paradigm
Rust is technically an imperative language, but it draws heavily on functional concepts: zero-cost iterators, lazy evaluation, ADTs, pattern matching, monadic types, traits, closures, and so on. Having also spent time with Haskell and Erlang, I’ve become fairly inclined toward the functional style, and it shows in this library. It leans heavily on FP idioms:
Monadic error control via combinators like Queryable and related types Monadic-style data types like Data<T> with map, flat_map, reduce, and friends Pure, immutable transformations Combinators over iterators instead of loops Closures for local abstraction Declarative macros as a small embedded DSL Sum types and product types”
api 35 minutes ago | parent
I get why, and it makes it a better fit for its obvious “C++ reimagined, cleaner, and better” niche.
pjmlp 29 minutes ago | parent
touisteur 15 minutes ago | parent
I'm glad NVIDIA found a way to make GPUs programmable and got us out of the shaders tarpit, but did it have to be C++...
cosmic_cheese 20 minutes ago | parent
pyrolistical 11 minutes ago | parent
Even hardware (GPUs) that functional language could trivially exploit, it’s still higher performance to write low level code and manages all the memory imperatively
bbg2401 25 minutes ago | parent
metaltyphoon 24 minutes ago | parent
abound 18 minutes ago | parent
metaltyphoon 11 minutes ago | parent
sampullman 14 minutes ago | parent
In this case it feels AI generated with human polish, or vice versa. A couple tells are "One caveat worth stating up front..." and of course, "...the shape of the language itself...".
applfanboysbgon 10 minutes ago | parent
Is that what they said? If that's not what they said, why are you putting words in their mouth in an attempt to weaken their statement into some completely ridiculous stupid strawman that is obviously not actually what they said?
greenhat76 9 minutes ago | parent
Svip 5 minutes ago | parent
> Disclaimer: styling and error handling throughout this article were cleaned up with the help of AI.
The implication seems to be "light editing", but the LLM styling really comes through, so I guess that tracks.
spider-mario 23 minutes ago | parent
I would have completely expected that.
tialaramex 15 minutes ago | parent
All of the Handmade "C successor" languages seem to have this obsession, including not only Zig but Odin, C3 and Jai.
For some toy problems you can do clever allocator tricks and get a huge perf win. For example Jai and Odin both seem to really want you to write code which can throw away a "per-frame" arena periodically so they're not paying to track allocations in the arena because they're all thrown away at the same time.
But a lot of real world software just isn't that simple. This doesn't make such features worthless, it just means they're one of a thousand tools the experienced developer could want in their toolkit, not really deserving headline status.
karmakurtisaani 9 minutes ago | parent
Now it all feels so pointless though. Like memorizing rules to do mental arithmetic. Sure, there is still use for language expertise, but not enough to get excited over new concepts and ideas.
ratorx 5 minutes ago | parent
Let’s say I’m writing some concurrent code with an LLM. I’d probably feel much safer having it write Rust, rather than C. So even in a post-LLM world, languages will continue to evolve as long as abstractions can be improved.
ozgrakkurt 8 minutes ago | parent
fn run_query(alloc) {
arena = init_arena(alloc);
defer arena.deinit();
}