3 ms·
I have mad respect for Haskell as an idea incubator, but it's not what I'd reach for as a systems programmer: https://news.ycombinator.com/item?id=7895890 https
by haberman 12y ago
I have mad respect for Haskell as an idea incubator, but it's not what I'd reach for as a systems programmer: https://news.ycombinator.com/item?id=7895890 https://news.ycombinator.com/item?id=7895890
Rust is awesome because it's bringing powerful ideas like this to a systems language.
- coolsunglasses 12y agoSystems work is the only good reason I've heard not to use Haskell but it's not a good reason for not having learned Haskell. I've heard from people that learned Haskell independently or went through my guide alike that benefited greatly from having learned Haskell despite not using it at work. Types are a more compact and faithful representation of code semantics than what most non-Haskell programmers are working with internally. Haskell also teaches you, beyond thinking in terms of types (heh), how to identify patterns & abstractions that most languages wouldn't allow you to credibly leverage.
- coldtea 12y ago>I've heard from people that learned Haskell independently or went through my guide alike that benefited greatly from having learned Haskell despite not using it at work. Could also be a failure to admit they wasted their time, because of sunk costs et al. Not meaning it as snark -- it can always be a valid hypothesis when we're talking about people.
- coolsunglasses 12y agoNo, I know what you mean and I've run into that. I take people don't use/write Haskell regularly and claim to understand it less seriously for this reason. But people that I think got something out of it seem to be benefiting. One is a startup CTO that was using Clojure before - he's ship-of-theseus'ing his way out.
- dllthomas 12y agoI've been using Haskell "at work" on my side projects (which involve other people and a live website, not just toying around), and I'd say that having learned it has impacted the C that I write in my day job. I wouldn't say I'd wasted the time, with or without an impact on my C code.
- shadytrees 12y agoI worked on a side project once where I forced myself to use Haskell for everything: build scripts, RabbitMQ consumer, web app. Basically as systems-y as you could get. Once I got over the pain of learning new APIs, I didn't regret the decision once. Being able to distinctly isolate side-effects from pure code made the code more readable and modular. Bonus: trivial parallelization.
- omaranto 12y agoWhen you did that, did you use Shake[^1] for the build scripts? If not, check it out! It lets you easily say things like "bundle.tar.gz depends on the file MANIFEST and on every file mentioned in it", for example. [^1]: https://github.com/ndmitchell/shake https://github.com/ndmitchell/shake
- ANTSANTS 12y ago>build scripts, RabbitMQ consumer, web app. Basically as systems-y as you could get. What? Systems programming means things like OS kernels and language runtimes. Places where garbage collection is not acceptable, and assembly language is not unheard of. Places where Haskell would be useless.