From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=AWL,HTML_MESSAGE autolearn=disabled version=3.1.3 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id CE7AABC6B for ; Thu, 8 Nov 2007 20:14:45 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Aj0KAAPvMkdCm3xr/2dsb2JhbACCPTYp X-IronPort-AV: E=Sophos;i="4.21,391,1188770400"; d="scan'208,217";a="4213187" Received: from janestcapital.com (HELO smtp.janestcapital.com) ([66.155.124.107]) by mail1-smtp-roc.national.inria.fr with ESMTP; 08 Nov 2007 20:14:44 +0100 Received: from [172.25.129.161] [38.96.172.125] by janestcapital.com with ESMTP (SMTPD-9.10) id A02305A0; Thu, 08 Nov 2007 14:14:43 -0500 Message-ID: <47336023.6010808@janestcapital.com> Date: Thu, 08 Nov 2007 14:14:43 -0500 From: Brian Hurt User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Alexandre Pilkiewicz Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Smoke Vector Graphics: source code licenses for sale References: <200711041201.10255.jon@ffconsultancy.com> <1194188801.472de001905ce@webmail.in-berlin.de> <1194192721.25159.14.camel@rosella.wigram> <200711081928.11501.alexandre.pilkiewicz@polytechnique.org> In-Reply-To: <200711081928.11501.alexandre.pilkiewicz@polytechnique.org> Content-Type: multipart/alternative; boundary="------------050201000803090001070907" X-Spam: no; 0.00; ocaml:01 camlp:01 unspecified:01 ocaml:01 camlp:01 unspecified:01 smoke:98 wrote:01 wrote:01 caml-list:01 minor:01 minor:01 argument:02 argument:02 compiling:02 This is a multi-part message in MIME format. --------------050201000803090001070907 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit 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 --------------050201000803090001070907 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit 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

--------------050201000803090001070907--