3 ms·
Both are valuable under the right circumstances. A language that supports both is stronger than a language that only supports one or the other. In that respect
by SomeCallMeTim 9y ago
Both are valuable under the right circumstances. A language that supports both is stronger than a language that only supports one or the other.
In that respect, I think the koan is perfect. :)
- runeks 9y agoWhat does "stronger" mean in this context? According to this definition, assembly is stronger than Haskell, because it contains stateful objects (registers), whereas a state-containing object cannot be present in Haskell code, although one may appear when you run the code in question.
- SomeCallMeTim 9y agoStronger means higher leverage for the typical programmer. Assembly language isn't very high leverage (I say that having written several games professionally in entirely assembly language). Assembly language also doesn't natively support either closures or objects, except in the sense that of course you can build them from first principles, Turing Completeness and all that. Until someone proves to me that Haskell can be used in a reasonable way by a "typical" programmer, I simply won't think about pure-functional when I make general statements about languages. I fully admit this may be a hole in my brain, but I don't understand how to break down the problems I face on a daily basis into Haskell (or any pure-functional language), so I just talk about the universe of languages that are not pure-functional. I've looked at Haskell tutorials and gotten at least hip deep into the language, by the way. I just usually end up dealing with problems that require levels of complexity where FP tools fall down. Your mileage may vary.
- tome 9y ago> whereas a state-containing object cannot be present in Haskell code This is somewhere between "not even wrong" and "false".