Rendered at 06:44:23 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
pie_flavor 3 hours ago [-]
Rust has been a practical experiment in macros for ten years now. I think it is safe to say the results are in: macros are great, and you just needed to have a better style of macros. Making and using something like `tokio::select!` in C-style macros is miserable, but `tokio::select!` is easy to use and understand in Rust.
tombert 3 hours ago [-]
At the risk of being a bit of a douchebag, it seems like nearly every tech opinion piece I read now boils down to "things used to be hard but they aren't anymore because LLMs can understand things faster than we can, so can ignore/change fundamentals!"
I didn't really find the argument convincing the first time and I don't really find it convincing now.
That said, with regards to macros, I actually do agree that the fear against them is broadly overblown. I have seen scary terrible horrifying macro soup in Clojure, but that has generally been outlier cases. Something like core.async abuses the hell out of macros, and despite that I think it very often increases readability and understanding of the language.
rgoulter 53 minutes ago [-]
> it seems like nearly every tech opinion piece I read now boils down to "things used to be hard but they aren't anymore because LLMs can understand things faster than we can, so can ignore/change fundamentals!"
Sure, LLM coding agents being capable doesn't mean we can ignore fundamentals.
But LLM coding agents surely adjust the cost/benefit considerations for all kinds of programming efforts.
Arranging your code in such a way that it's so complicated you need an LLM to understand it is surely silly.
Using an LLM to write a macro because you weren't going to learn how to write macros and deal with all the subtle cases? I think that's arguable.
nvme0n1p1 3 hours ago [-]
And even if LLMs do our thinking for us, it's still not a reason to fork the programming language you're using, unless you expect me to believe an LLM can understand `foo |> bar` but it can't understand `bar(foo(x))`. If you're not looking at the code, it doesn't matter how pretty the code is anymore.
smitty1e 3 hours ago [-]
As long as GPS stays bullet proof, Navies are in good shape.
It's going to be a hard come-to-Beevis moment if the magic signal goes away and people have to remember celestial navigation.
Not sure you can even find a sextant on most vessels.
So too these AI services.
fragmede 2 hours ago [-]
GPS service is obviously going to go down whenever World War III goes hot, so the Navy is definitely training sailors on the alternatives.
QuesnayJr 3 hours ago [-]
The Navy was phasing out celestial navigation, but after some public outrage from retired naval officers they brought it back.
manyatoms 3 hours ago [-]
Does this mean using the star-tracking devices like what satellites have, or like a human paper/pen thing?
obviouslynotme 2 hours ago [-]
It should mean both. They need to learn how to do it by hand and then learn how to lean on a navigation system. If only GPS fails, then the celestial navigation program fallback runs without a hitch. If shit hits the fan, then they can break out the manual and remember how to do it by hand.
smitty1e 21 minutes ago [-]
I mean, it is taught. In school. And, maybe, there is some residual skill out there in the fleet.
Doing a fix, like playing music well at all, takes copious practice.
Alien1Being 1 hours ago [-]
Basic argument:
I want it because LLMs make it easy to do without having to think.
pjmlp 33 minutes ago [-]
Someone just asked for Common Lisp and Smalltalk.
brinepot 2 hours ago [-]
Moving from Java to Kotlin was a breath of fresh air; sometimes a language change genuinely unlocks productivity.
tinlid 3 hours ago [-]
My last project needed Rust for one module, but the rest was Go. Felt silly rewriting core logic just to stay unified.
sublinear 56 minutes ago [-]
Not a single mention of Chesterton's Fence. Was this really written for HN, then?
I didn't really find the argument convincing the first time and I don't really find it convincing now.
That said, with regards to macros, I actually do agree that the fear against them is broadly overblown. I have seen scary terrible horrifying macro soup in Clojure, but that has generally been outlier cases. Something like core.async abuses the hell out of macros, and despite that I think it very often increases readability and understanding of the language.
Sure, LLM coding agents being capable doesn't mean we can ignore fundamentals.
But LLM coding agents surely adjust the cost/benefit considerations for all kinds of programming efforts.
Arranging your code in such a way that it's so complicated you need an LLM to understand it is surely silly.
Using an LLM to write a macro because you weren't going to learn how to write macros and deal with all the subtle cases? I think that's arguable.
It's going to be a hard come-to-Beevis moment if the magic signal goes away and people have to remember celestial navigation.
Not sure you can even find a sextant on most vessels.
So too these AI services.
Doing a fix, like playing music well at all, takes copious practice.
I want it because LLMs make it easy to do without having to think.