From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id MAA01804; Fri, 30 Aug 2002 12:07:17 +0200 (MET DST) Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id MAA01808 for caml-list@pauillac.inria.fr; Fri, 30 Aug 2002 12:07:16 +0200 (MET DST) Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id AAA24782 for ; Fri, 30 Aug 2002 00:57:56 +0200 (MET DST) Received: from swordfish.cs.caltech.edu (swordfish.cs.caltech.edu [131.215.44.124]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id g7TMvsD19393 for ; Fri, 30 Aug 2002 00:57:55 +0200 (MET DST) Received: from orchestra.cs.caltech.edu (orchestra.cs.caltech.edu [131.215.44.20]) by swordfish.cs.caltech.edu (Postfix) with ESMTP id CEA94DF242; Thu, 29 Aug 2002 15:57:53 -0700 (PDT) Received: (from mvanier@localhost) by orchestra.cs.caltech.edu (8.11.6/8.9.3) id g7TMvrJ10800; Thu, 29 Aug 2002 15:57:53 -0700 Date: Thu, 29 Aug 2002 15:57:53 -0700 Message-Id: <200208292257.g7TMvrJ10800@orchestra.cs.caltech.edu> X-Authentication-Warning: orchestra.cs.caltech.edu: mvanier set sender to mvanier@cs.caltech.edu using -f From: Michael Vanier To: jhw@wetware.com Cc: caml-list@inria.fr In-reply-to: (message from james woodyatt on Thu, 29 Aug 2002 11:47:55 -0700) Subject: Re: [Caml-list] objective caml and industry References: Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > 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. Mike ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners