
Kirsten Chevalier schrieb:
I think that it would serve this community well if somebody was able to achieve a better understanding of the social reasons why some programming languages are adopted and some aren't. I think all of us already know that the reason isn't "because some are better than others," but it might be time for someone to go beyond that.
Actually, it's quite simple: following the ideology de jour and teaching-relevant support. Teachers will teach what's mainstream ideology (I'm using "ideology" in a strictly neutral sense here). Pascal was popular because teachers felt that structured programming should be taught to the masses, and you couldn't abuse goto in Pascal to make a program unstructured. Later, universities shifted more towards "economic usefulness". Which made C (and, later, Java) much more interesting ideologically. Teaching-relevant support means: readily available tools. I.e. compilers, debuggers, editor support, and all of this with campus licenses or open sourced. I don't think that Haskell can compete on the ideological front right now. That domain is firmly in the area of C/C++/Java. Erlang isn't really winning here either, but it does have the advantage of being connected to success stories from Ericsson. To really compete, Haskell needs what people like to call "industrial-strength": industrial-strength compilers, industrial-strength libraries, industrial-strength IDEs. In other words, seamless Eclipse and Visual Studio integration, heaps and heaps of libraries, and bullet-proof compilers, all of this working right out of the box. (I see that this all is being worked on.) Teaching-relevant support is already in place, I think - there are several open-source interpreters and compilers available, and Haskell doesn't place an special requirements on editors, nor does it require a specialized environment (the bane of Smalltalk and Lisp). Regards, Jo