
Hi, On 13 Dec 2006, at 00:17, Joachim Durchholz wrote:
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.
Since the rise of Java, our university has been teaching almost nothing else. A short course in C, the FP course is being phased out. Some teachers had an interest in having Java knowledgeable kids graduating. I guess the industry also asked for Java knowledge in general. I think it's sad for the students. A language is sometimes more than just syntax, the paradigms it uses should be known, and I've seen too many students who have no clue what a pointer is, who cannot apply simply things such as map and filter ... I'm no haskell wizard, but the very basics I do grok.
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.)
Having a(n important) company backing Haskell in a platform- independent way would certainly help, IMHO. But to convince people to use it, they need to be taught before they go out to find a job. -- Andy