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=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id E9AE8BC69 for ; Tue, 21 Aug 2007 16:46:32 +0200 (CEST) Received: from looneymail-a4.g.dreamhost.com (lax-green-bigip-5.dreamhost.com [208.113.200.5]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l7LEkVLg023401 for ; Tue, 21 Aug 2007 16:46:32 +0200 Received: from carols-computer-3.local (ip67-90-101-206.z101-90-67.customer.algx.net [67.90.101.206]) by looneymail-a4.g.dreamhost.com (Postfix) with ESMTP id 8E747125F7A; Tue, 21 Aug 2007 07:46:10 -0700 (PDT) Message-ID: <46CAFAC2.3090302@fischerventure.com> Date: Tue, 21 Aug 2007 09:46:26 -0500 From: Robert Fischer User-Agent: Thunderbird 2.0.0.6 (Macintosh/20070728) MIME-Version: 1.0 To: Oliver Bandel Cc: Caml-list List Subject: Business Adoption of Ocaml [was Re: [Caml-list] If OCaml were a car] References: <20070818192157.GA11789@furbychan.cocan.org> <6806cf750708181324l724823c6w304f9088980c3316@mail.gmail.com> <46C76557.5050308@cs.caltech.edu> <56864F61-40F3-4F03-9823-6D510AD5320B@epfl.ch> <1187639685.46c9f1859d769@webmail.in-berlin.de> <1187657274.18344.9.camel@rosella.wigram> <1187689892.46cab5a45112e@webmail.in-berlin.de> In-Reply-To: <1187689892.46cab5a45112e@webmail.in-berlin.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Miltered: at discorde with ID 46CAFAC7.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocaml:01 ocaml:01 on-topic:01 bandel:01 jocaml:01 lifespan:98 contractual:98 haul:98 threat:98 blog:98 imho:01 wrote:01 oliver:01 caml-list:01 sell:96 (This is an on-topic post, but it's going to take a while for me to get there: scroll down.) Oliver Bandel wrote: > IMHO, many (most) things that are used in industry are really bad > things. And people insist on using bad langauges and bad systems, > because they are accustomed to it, and some Lobbyists > sell that stuff. > > This is an academic conceit, which isn't really fair. The problem is that what academics consider "really bad things" and what industry considers "really bad things" are two very different things. The criteria for judging languages are simply different. To business, picking a language or a framework is a matter of prognostication. Few businesses are willing to carry an unsupported library or language, or want to be exposed to the dangers of an uncontrolled library, so they need to pick languages and libraries that have a lifespan. They don't want to perform expensive experiments to see if a new language or paradigm is really going to help. And things being open source makes the situation worse, not better: by actually spending money on things, you gain a legalistic and business protection -- at the level of management, contractual guaranties are nearly as good as reality. And, even more, it's important to pick a popular language, because popular languages have a wide variety of developers to choose from, which makes growth a lot cheaper. Note that none of these qualities have anything to do with the efficiency of the language, both in terms of processing efficiency or development efficiency. They're business concerns, coming from a very different context. If we want more commercial adoption of Ocaml, we need to see more companies (like Jane Street) which are willing to take the risk and adopt Ocaml. Their successes, and the community that they are building, need to be advertised. Business needs to believe that the language (or close derivations thereof) is here for the long haul, and that it either is or presently will be widely adopted. One good way of handling this is to find and grow a niche -- this was the approach that Ruby on Rails has taken. Yet it's notable that Groovy on Grails, by virtue of it being "basically Java" and interoperable with large swaths of existing application code, is posing a significant threat to the corporate adoption of Ruby on Rails. I'm not sure if Ocaml has such a niche to grab onto, and it isn't already a popular language, so as much as I'd love to see its widespread adoption, I'm not holding out a lot of hope. I think the one major niche we could get into is concurrency (like Brian's deferred monad/futures* or jocaml), but the main language isn't there yet. * http://enfranchisedmind.com/blog/archive/2007/08/13/323 ~~ Robert.