Curt,


2009/9/29 Curt Sampson <cjs@starling-software.com>

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       <cjs@starling-software.com>        +81 90 7737 2974
          Functional programming in all senses of the word:
                  http://www.starling-software.com