
On 22/09/2010 09:14 AM, Luc TAESCH wrote:
in real life I am doing architecture (appication and system) and I tend to see things differently with my haskell background. when reading what system XYZ does, I see folds, maps, lazy sort, memoisation , monads, etc...ie my mind apply idioms learned at code design level to architecture level
It's interesting to hear you say that. I've heard more than one person assert that "Haskell will never be popular", because "people don't think functionally". Or, more precisely, "people don't think recursively". It is asserted as fact that "people think imperatively". If you think that sounds silly, ask some random person (not a computer programmer, just some random human) how find the sum of a list of numbers. I can practically guarantee that most humans will reply "do X, then do Y, and then do Z". Almost nobody will reply with "the sum of an empty list is defined as zero, and the sum of a non-empty list is defined as the addition of the first element and the sum of the remaining elements". To a normal human, that almost sounds like a riddle rather than an explanation. Then again, who said that programmers had to be normal humans, or that programming had to be easy? Nobody seriously expects everyone to be able to dance or play pipe organ, so why should it be trivial for everybody to be able to program computers? (Of course, software giants make more money out of the "we make computers EASY!" slogan...)