
On 8/4/06, Donn Cave
On Fri, 4 Aug 2006, Hans van Thiel wrote: ...
Are there other reasons why there seem to be just a few thousand (hundred?) Haskell programmers in the world, compared to the 3 million Java programmers and x million C/C++ programmers?
I can think of several other possible reasons - 6. Instability - available for 15 years, you say, but does the Haskell of 15 years ago support today's programs? Does standard Haskell even support today's programs? 7. Some difficult concepts, at a level that goes way beyond the commonly used languages. 8. Problems with evaluation model and space that other languages don't have to deal with. 9. Missing libraries
10. I think most commercial applications are developed for windows users. For the last 15 years this has primarily meant the application ran in windows (this is starting to change but that's another story). I'm currently using ghc to do windows development for a company I work at. I'm often running into "corner" cases where ghc has bugs on windows or poor support for some MS technology that is assumed when using other languages like .NET. Both COM and dlls have problems right now (but this is getting better monotonically). 11. If you read the History of Haskell paper (http://haskell.org/haskellwiki/History_of_Haskell) you will see that haskell was meant as a vehicle for research. This BTW, would be a highly relevant read for someone that wants more insight into why Haskell is not a Java killer. 12. Chicken and the egg. Having lots of users will attract more users. 13. Some industry programmers don't choose their tools based on technical worth so much as who is backing them. I'd like to think this explains the popularity of C++ and now Java/C#. I have 2nd hand information that Bjarne never meant for C++ to escape AT&T or really even go outside of the domain he was working in (which I recall was something embedded) but when people found out AT&T had a new OO capable language they jumped on. I'm not sure if it's really true, but watching Java/C# gain popularity it wouldn't surprise me. 14. I've heard arguments that a lot of the people who become industry devs are really turned off from functional languages during typical CS theory courses. I have no idea how anyone could verify this claim, plus I had the exact opposite reaction. I was transformed into a fan of FP by my theory courses. 15. OO is now tried and true in industry. I would say it's far from optimal but people do know they can build large applications (say ~100k lines of C++). So naturally shifting to a new paradigm will meet resistance. There also seems to be a lack of programs in the open source world which are written in Haskell. We have two big open source projects that people outside of the haskell community may hear of, pugs and darcs. I would say this reflects #6 but I'm relatively new to haskell so I could be wrong. Even with all this there are some people that are using haskell commercially (or lobbying for it). Joel Reymount Tim Sweeny* Galois Connections Myself * I think Tim is just wanting more of haskell's great features in the languages he already uses (http://www.st.cs.uni-sb.de/edu/seminare/2005/advanced-fp/docs/sweeny.pdf) Also, check the Haskell Communities and Activities Report: http://www.haskell.org/communities/ I'm sure I missed someone.
and more, I suppose. I'm not saying any of these are necessarily compelling reasons not to use Haskell, but altogether, maybe another way to look at it is that it's really a strong statement when people decide to bet their livelihood on Haskell software development - it isn't the safe choice, and it means someone finds the reasons for it very compelling.
Yes, trying to meet deadlines with untrusted tools is scary business. Not everyone likes to gamble with their jobs :) I hope that helps, Jason