Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] mixin modules paper and future?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2002-08-30 (10:07)
From: Michael Vanier <mvanier@c...>
Subject: Re: [Caml-list] objective caml and industry

> Date: Thu, 29 Aug 2002 11:47:55 -0700
> From: james woodyatt <>
> I promise not to be broken record about this, but there are some things 
> holding Objective Caml back from being an optimal language choice for 
> large industrial applications development.  I don't think any of the 
> open problems in the research of mixin modules are on the list.

[good reasons omitted]

> + Stupidity.  Objective Caml's popularity in academia is a curse as 
> well as a blessing.  For every coder like me who wonders if he should 
> rather have gone into academia, industry has a hundred coders who think 
> career academics are a fat lot of pencil-necked geeks who can't get 
> "real" programming jobs.  This is why industry continues to be 
> populated with idiots who think the reason Java programs so often 
> perform badly is the garbage collector.  These are also the same people 
> who will tell you that the syntax of Objective Caml is intolerably 
> bizarre, while simultaneously raving about the elegance of C#.  (I'm 
> not bitter.  I'm not bitter.)

Now you're getting close to the real reason.  You could cast this in a less
negative light by noting that ocaml has a long learning curve, even for
programmers who know lots of other languages.  There are simply a lot of
unfamiliar features in ocaml for the vast majority of programmers.

However, I don't think you're being negative enough ;-)  In my experience,
most programmers react to anything resembling functional programming as if
it were made out of kryptonite.  The reason for this is that it forces them
to think in a different way than they're used to, and the resistance this
generates, even among otherwise very proficient coders, is nothing short of
astounding.  Consider that object-oriented programming has been around
since around 1967 (simula) and yet it took more than twenty years to become
mainstream.  And OO is a *much* less radical departure from ordinary
imperative programming than functional programming is.  FP has been around
since 1960 (lisp) and is *still* considered to be radical!  You can't
overestimate how conservative the community of programmers is.  We teach
scheme as an introductory programming language at Caltech, and we get a
*lot* of resistance even from supposedly open-minded freshmen (most of whom
know C and thus think they know the "right" way to program).  Also, the
average programmer, if he's even heard of functional programming (>99% of
them haven't) is convinced that it's incredibly inefficient and therefore
not worth learning.

Change takes time.  I think chasing after industry acceptance of ocaml is
the wrong strategy.  The right strategy is a grass-roots effort (building
up the language libraries, trying to attract the best hackers and using
ocaml in university courses).  This approach has worked well for python,
and I think it will work well for ocaml as well.

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: