On Oct 9, 2009, at 10:37 PM, Curt Sampson wrote:
So this makes me wonder, if cross-platform support is so necessary,
why have these PHP, Ruby and Python folks not switched to Java, rather
than remain suffering doing their development on Linux boxes?
PHP runs on all platforms (it's common for developers to test locally
on Windows/Mac, and deploy to a Linux server), and has such an
extensive library that most other libraries a developer might need are
likely to be pure PHP, built on top the base. So while not "cross
platform" in the sense that Java is, the approach taken by PHP
achieves much of the benefit.[1]
Moreover, PHP is a perfect example of the principle that libraries are
essential to language success. PHP's standard library is so immense,
it includes just about everything the average web developer needs. And
many functions it provides are very high-level -- for example,
file_get_contents() works seamlessly across local files, http files,
https files, etc.
PHP never would have achieved the success it has if it weren't for the
immense library available for it (of course, it's not the sole factor
in its success).
And if libraries are the issue, why would not just creating a SWIG for
GHC make all of these people move to Haskell?
Making it possible and making it easy are two different things. It's
already _possible_ to do Haskell interop with any other language, it's
just difficult and cumbersome.
Moreover, Haskell will never attract the following of a mainstream
language like PHP. But there are numerous applications where Haskell
is clearly a superior choice assuming library equality.
I agree it's a nich market, too. So I guess our point of
disagreement is
that you believe that it's lack of libraries keeping it a nich market,
Haskell will never be "popular", because it's too hard for the masses.
But I could see big companies like Yahoo, Facebook, Google, etc.,
using Haskell extensively to develop web infrastructure -- _if_ there
were no longer a significant penalty to doing so. Right now the
barrier of entry is too high, because too much infrastructure would
have to be developed from scratch, and then maintained at cost.
That just seems pointless to me, because those looking for real
improvements can't use that sort of stuff. When I need RDBMS access,
libraries like Hibernate and Active Record are useless to me, because
they force me to work in a stupid manner. For web sites, Rails is
useless because again, it deals with stuff in a stupid, unproductive
way.
Well, I don't know much about Rails, but I do know some Rails
developers can build a fully-functional, database-backed Web 2.0 site
in a matter of hours.[2] That level of productivity is not available
in Haskell yet.
Put another way, it would cost me far more to hire you to develop a
Haskell site than a good Rails developer,[3] and what a Rails
developer produces can be deployed at numerous Rails hosting sites at
no upfront cost to me. So why should I hire you?
[1] The Haskell Platform could eventually take Haskell in a similar
direction, it it provides a broad enough base that developers can
built nearly any other library directly on top of it.
[2]
http://www.readwriteweb.com/archives/rails_rumble_92_web_apps_created_in_48_hours.php
[3] The difference in cost is strictly due to libraries. If you had
some killer Haskell libraries at your disposal, I have no doubt you
could do it for less than a Rails developer.
Regards,
John A. De Goes
N-Brain, Inc.
The Evolution of Collaboration
http://www.n-brain.net | 877-376-2724 x 101
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe