
On Thu, 2007-07-12 at 16:01 +0200, peterv wrote:
Thanks for the advice. I did not really deeply investigate the monad type classes yet...
It looks like its gonna take a long time for me to learn Haskell. I'm not sure if my long history of imperative and object-oriented programming has something to do with it. Reading Haskell books like SOE is one thing, but writing software in Haskell is really difficult for me. Not only do I miss the "spoiled OO programmer" IDEs with all their candy and code completion and assistants, but I also get the feeling that although similar programs in Haskell or typically N times shorter than their imp/OO counterparts, it would take *me* at least N^2 longer to write them ;) (now I must admit I had the same feeling when switching from 680x0 assembler to C++, but let's say N*2 longer instread of N^2...) Is this true for Haskell in general? I mean how long do experienced Haskell developers spent writing code "to get it right" (excluding minor bugs and performance issues)? Or do they write down Haskell fluently?
Skilled Haskell programmers write Haskell fluently, but I'd say that that still tends to require more thought per line on average than a typical imperative language. A single line of Haskell tends to do a heck of a lot more than a single line of mainstream imperative languages. Usually, though, once you get a nice base encoding your domain concepts, things move faster. The more code you write the -less- thinking you should need to do relative to imperative languages. Haskell code complexity grows (much) slower with size as compared to most imperative languages.