
Curt,
2009/9/29 Curt Sampson
On 2009-09-29 13:18 +0200 (Tue), Alberto G. Corona wrote:
Java is part of the Java platform, that brought OS independence and interoperability at the right time. .Download-execution on the client was also a reason for the initial success of Java in the Internet era.
I was a die-hard Java hacker from 1999 until some undetermined time in the early-to-mid-2000s. (I abandoned it more or less completely sometime around late 2005, if I recall correctly.)
This may be somewhat anecdotal evidence, but I disagree with both of your statements here.
Of course, I´m not talking about real advantages of Java or any PL. I told about the reasons that people used at the time to introduce the language in the mainstream, either is desirable this for haskell or not. I think it is. Nobody consider the runtime download of Java code important nowadays. Not even the cross-platform features. but it was marketeed at his time as such.
Rubi and Python came with libraries targeted to Rapid development of Internet applications.
No, neither originally "came" with that.
Rubi and Pyton came into existencie without their internet libraries, but they would´nt be popular without them. Although I conffess I don´t know the history in detail.
What is the vehicle that haskell can use to enter the mainstream?.
That may be the wrong question. "Avoid success at all costs" still rings true to me. A year or so ago I seemed like one of the few on the haskell-libraries list voting in favour of fixing API problems in libraries, rather than etching in stone those problems in the name of backwards compatibility so that we could "become more popular."
Said above. We have different goals.
Do you really want, in 2020, to look back at the 2010 revision of the Haskell standard and think, "we entrenched things that for a decade everybody agreed was dumb"?
I see no problem in haskell having both. experimental and fixed versions. Haskell 2020 for you and me and haskell 2010 for my commercial code. Both woukd ve maintained and enriched by far more people.
I can tell you, even when you're a Java enthusiast, there's nothing more depressing than looking at java.util.Date and thinking, "That should have been immutable, but it's going to be mutable for the rest of eternity. We will never fix that."
But let's try this again:
What is the vehicle that haskell can use to enter the mainstream?.
Become more stupid.
Is that a better answer? I'm not just a geek; I do marketing too (this is what happens when you start your own company), and if you asked me, using the utmost of my technical knowledge and marketing skills, to make Haskell popular, this is what I'd recommend.
Become more stupid may mean "give exactly what the people want" that
transaltes to be more stable, give libraries, platforms etc. That is not a extra effor. that will come naturally as more people use the language. some people is naturally more abstract. some are more practical.
(I suppose it's a sign of my professionalism that to do this would nearly break my heart, but if you wanted me to tell you the best way to do this, and I couldn't tell you to get lost, that's what I'd say.)
Many people will play with Haskell in the spare time, and many of them will be permitted to develop some non critical applications at work. But that is all.
Hm. So I suppose that this options trading system I'm working on, which is the sole way our business makes money and is entirely written in Haskell, doesn't actually exist.
Congratulations.!!
I think that all the current niches are filled, but new niches are coming.
Haskell already has a good niche. In fact, a brilliant one. We have a whole bunch of academics doing truly wonderful stuff (imagine the world without monads!--thank you Philip Wadler (and Eugenio Moggi)) that the rest of us (relatively) dumb idiots can use to make our lives better. We've got several very good implementations of the language, one of which is a truly shit-hot compiler[1]. And we can use that to do commercial applications quite comfortably[2].
Right. ;)
My personal opinion is, yes, let's let Haskell stick to the niche where it's great, but it changes so fast that it's scary to everybody else. To echo Paul Graham, I'm extremely happy to see my competition use Java.
[1] Like that's so important. Ruby's standard implementation to this day is an interpreter that implements all the popular extensions and has a reasonably decent FFI. In Haskell-land, we call that "Hugs." It's only because we have GHC as well that we can look down on Hugs; in the Ruby (and Python, and PHP) worlds, they're saying that interpreters are just fine for all sorts of "enterprise applications."
[2] (Warning: self-promotion): http://www.starling-software.com/misc/icfp-2009-cjs.pdf
Financial applications are an example of higher level programming where tasks usually performed by humans are now automatized and there is no or few traditions about that. The need to think at a higher level without being worried by side effects and other details are specially needed in such kind of areas. That's where haskell could have its own niche.
Actually, I think that Haskell has a niche there not because of that sort of thing, but merely because it's better than Java at doing what Java does well, but scary enough that only small groups of brave people who are comfortable with risk would ever attempt to use it. The financial sector happens to have a lot more of those than many others.
same concept in more plain words. I guess.
cjs -- Curt Sampson
+81 90 7737 2974 Functional programming in all senses of the word: http://www.starling-software.com