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. I've rarely known anybody to use Java cross-platform in a non-trival way, barring a few major GUI-centric projects such as Eclipse. (I've far more cross-platform use of Haskell than Java myself.) And I know of nobody who did anything serious with download-execution of Java. As an example, Amazon and Google are two fairly large companies that use Java extensively in their operations, and neither of them make any significant use of the cross-platform or download-execution abilities of it. They'd do just as well with a language that had a single compiler producing only Unix binaries. > Rubi and Python came with libraries targeted to Rapid development of > Internet applications. No, neither originally "came" with that. Python has never been a big language for web applications (though it's had a few outstanding successes). It has been the source of some very good ideas in the web application framework area (Django introduced some great ideas that were, at best, exceedingly rare when it came out), but those haven't really caught on. (RoR is still missing a lot of wonderful stuff from Django. Heck, even my sad Ruby web framework QWeb has more in certain respects.) Ruby on Rails arrived more than a decade after Ruby was developed, and while it's increased the popularity of the language, that's little to do with Ruby itself. RoR was well described by someone as "the bastard spawn of a PHP programmer and a Web designer." I posit that "it's slightly better than PHP, yet still very accessible to PHP programmers" is the main reason for its popularity. > 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." 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 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. (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. > 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]. 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. cjs -- Curt Sampson <c...@starling-software.com> +81 90 7737 2974 Functional programming in all senses of the word: http://www.starling-software.com _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe