4 ms·
So he wants Haskell. Haskell already exists and has all the features he wants. He should have written his blog in Haskell, but he didn't, and I know why: becaus
by mseepgood 12y ago
So he wants Haskell. Haskell already exists and has all the features he wants. He should have written his blog in Haskell, but he didn't, and I know why: because a language, which throws all these features together is no longer a practical language. He only sees the benefits of features, not the cost they introduce.
- wyager 12y ago>He should have written his blog in Haskell, but he didn't, and I know why: because a language, which throws all these features together is no longer a practical language. Actually, it's because I like Go's standard library HTTP server implementation! I'm not claiming that Haskell or Rust are magic bullets, or that Go is useless. Far from it!
- thinkpad20 12y agoHindley-Milner inferrence, operators-as-functions, and certain other features, I guess I can see arguments against (although I think they're overstated). However, I don't see any reason why generics, no null pointers, pattern matching, and certain other features would be problematic, let alone not be useful, in a language like Go. I'd be curious as to hear your justification of the claim that "a language, which throws all these features together is no longer a practical language."
- Paradigma11 12y agoI do think that Meijer and Griesemer agree somewhere in this intervew that generics are hard to get right (co and contravariance) and that forgoing generics is a valid design choice: http://channel9.msdn.com/Blogs/Charles/Erik-Meijer-and-Robert-Griesemer-Go http://channel9.msdn.com/Blogs/Charles/Erik-Meijer-and-Rober... It's been a while and might have been another interview tough.
- Shorel 12y agoI think D got generics right.
- rtpg 12y agoCould you elaborate on the costs of the features mentioned about Haskell? As just one example, ADTs in Haskell are implemented in an extremely efficient fashion. Type classes are implemented in the same way that Go's interfaces are implemented (basically the same way as vtables are in C++). The immutability features (const) are compile-time checks, and can even help the compiler be more efficient. "if as an expression" has no real cost.
- Peaker 12y agoHaskell powers quite a few blogs and websites. The claim that it is "no longer a practical language" is as silly as the "Real World" fallacy.