Alexandre Pilkiewicz wrote:
Le Sunday 04 November 2007 17:12:01 skaller, vous avez écrit :
  
Lack of commercial support -- the kind Jon is offering --
is one of the impediments to industry taking Ocaml seriously.
    


Don't you think the worst problem for the industry is the lack of 
retro-compatibility ? 

Between 3.09 and 3.10 (a *minor* version number change), a lot of program 
using camlp4 stopped compiling. If a company has a 100 000 lines code (or 
more) to revise just for that, it could be kind of a problem.

And so many things are just unspecified. I know it's a bad idea, whatever 
language you use, to rely on the order of evaluation of the argument of a 
function, but to say "this order may change one day" is to tell 
industrialists : "if you have some "not so good" programmers, even if you 
make all the test you want on your program to check it works, one day it may 
just stop working because we changed the order or evaluation, or worst, a lot 
of silent bugs can appear". 
  
Which explains why industry is so wary of languages like Java and C++, and refuses to adopt them.

Oh, wait.

Seriously, you can protect against a "not so good" programmer.  Java tried, they really tried.  But you can't have decent performance and absolute reproducability- as Java discovered with floating point numbers and memory behavior in a multi-threaded program, among other problems.  Witness all the rants about Java's "Write once, debug everywhere" problems.

One thing I really like about Ocaml is that if order of evaluation is important, it gives me a way to enforce a specific ordering.  And it's not even an obscure part of the language (let/in definitions).

Brian