Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> extremely difficult to do in programming languages that do not have algebraic data types.

And this is why people like me avoid ML based languages, type astronauts, and shiny new toys. You're misrepresenting inconveniences as fatal flaws when we've been successfully running all of modern society on kernels written in C for fifty years. Most of the kernel subsystem maintainers aren't even considering Rust as anything more than an experiment at this point. No one cares about ADTs and the perfect representation of state transitions in the type system when we have actual problems to solve, and we can and have been solving them in C.



> successfully running all of modern society on kernels written in C for fifty years.

No we haven't. C is successful despite its major flaws (seg faults based on memory errors are not mere "inconveniences"). Microsoft mentioned for example that around 25-33% of all bugs in Windows were based on memory errors. They are currently cutting those down to 0% via Rust.


> And this is why people like me avoid ML based languages, type astronauts, and shiny new toys.

There's nothing new or shiny about the ML family. And the growing interest in ADT's is about their very real advantages in representing state and solving real problems in a less error prone manner than C


Don’t argue with him. He is just and old man doing what all old man do: find excuses to not learn new stuff and convince himself that he didn’t have to do it


Yeah I find it really hard to see how they're being charitable. Just an old fart arguing for the continued relevance of curmudgeon-y technology instead of actually responding to the points being argued.

What people who still care about writing C are doing is starting to use tools to bring some of what Rust offers to C, because they acknowledge that avoiding entire categories of bugs is actually really good, despite which language you use. But... no mention of that here, it seems.


> And this is why people like me avoid ML based languages, type astronauts, and shiny new toys

Instead you get things like this in GO

`var _ litestream.ReplicaClient = (*ReplicaClient)(nil)`

And every single variable is implicitly Type or null because obviously the alternative is more complex




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: