[ocaml-biz] what slow OCaml is worth (was: (GC issues) Alternative Bytecodes for OCaml)

Brandon J. Van Every vanevery
Sun Aug 29 15:04:36 PDT 2004


This came from an argument on caml-list about what OCaml would be worth,
if it were 3 to 10 times slower than it is now.

John Goerzen wrote:
> Brandon Van Every wrote:
> >
> > You can argue all you like about what OCaml does that
> > Python doesn't do;
> > strategically, it is irrelevant.  Look at the languages the world
> > actually uses en masse, if you want to understand what I mean.  The
> > point is that performance does matter.
>
> *cough* Java?  VB?  I think that goes a long way to showing that
> performance is not as critical to some as you may think.

Java is not "3 to 10 times slower than OCaml currently is" across the
board for all jobs.  Much of the time, Java is within a factor of 1 or 2
of C++ performance.  Here's a benchmark comparing Java, C#, and C++.
http://www.tommti-systems.de/go.html?http://www.tommti-systems.de/main-D
ateien/reviews/languages/benchmarks.html

Visual Basic is easier to use than OCaml, has extensive WYSIWYG GUI
building support that OCaml doesn't have, and is backed by Mocrosoft.
(The typo is amusing enough to keep. :-)

Yes, there are other ways OCaml could distinguish itself in the
marketplace besides performance.  But, OCaml has other weaknesses, which
is why I say Python would easily beat it if performance was equally bad.
OCaml:

- is baroque and difficult to learn compared to Python
- does not have quite as good a license for creating language dialects,
as Python
- is industrially proven in fewer problem domains than Python
- doesn't have the library support of Python
- is not as well packaged for ready consumption as Python
- does not have as many books available as Python
- is in the "What's that?" stage.  Tons of people know about Python.

The good news is that only problems 1 and 2 are insoluable.

> I've never said that performance matters to nobody.  I'm just saying
> that there are lots of people, myself included, that don't
> care about it very much.

The problem is that "lots of people" have other things to choose.  The
marketplace doesn't need another slow language to compete with the likes
of Java, C#, VB, Python, Perl, Ruby, Lua, and TCL.  The field is
crowded.

> I've had this argument with you before on freeciv-dev, and
> want to just
> reiterate this here: in my book, a language doesn't succeed or fail
> based on how well it does in "the marketplace".

Then what's your metric of success?  Personal anecdote?

> If we went by that,
> we'd conclude that Linux is a failure, Ada is a failure, Prolog, Lisp,
> OCaml, Python, Perl, and perhaps C are all failures too.

Perl and C are clearly successful.

Ada is a US government legacy lock-in.  It is otherwise a failure.

Prolog is a commercial failure.

The Lisp market is badly stunted and has no growth potential.

OCaml does not even have the marketshare of Lisp.

Python is going places.  To compare OCaml's 'success' to Python's
success is quite a bit of patting oneself on the back prematurely.  And
it should be remembered that Python's 'success' is a 2% marketshare.
Since it's actually trying to compete head to head with Java, C#, and
Perl, that's not exactly good.  They've not really succeeded in their
own terms yet.  They might get there in the next few years, they might
not.  The Python community is still just a bunch of techies, and is
certainly capable of failing at "the will to market."

You seem to be equating 'success' with having a 0.1% marketshare niche.
I do not accept that definition of 'success'.  That is failure.  A
general purpose language should have general utility and compelling
value to people, much more than 0.1% of the people.  It has been argued
by some language pundits that bad languages do in fact die, and that
this is how it should be.

> Yet a strong case could be made for each of those that they're a
> success.

No, frankly, it couldn't.  You paint with far too wide of a brush.  At
the extreme end, the idea that Prolog is 'successful' is completely
laughable.  The success of Lisp is highly debateable.  In fact, the
stereotype is a crumudgeony old Lisp fart sitting around grousing about
how everyone's an idiot because they don't use Lisp.  They think Lisp
'should by rights' have taken over the world, and it didn't.  Which
means, pretty clearly, they missed something about how the world works.
Insightful Lisp guys have remarked that Lisp could still be popularized,
if they were willing to call it something other than Lisp.  As it
stands, the Lisp brand identity is dead.


Cheers,                     www.indiegamedesign.com
Brandon Van Every           Seattle, WA

"Troll" - (n.) Anything you don't like.
Usage: "He's just a troll."




More information about the Ocaml-biz mailing list