From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 53B5FBCAE for ; Mon, 18 Jul 2005 16:08:46 +0200 (CEST) Received: from wetware.wetware.com (wetware.wetware.com [209.218.58.1]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j6IE8dMa022516 for ; Mon, 18 Jul 2005 16:08:43 +0200 Received: from [69.12.155.90] (helo=[10.0.1.5]) by wetware.wetware.com with esmtp (Exim 4.43) id 1DuWIE-0000si-Ea for caml-list@yquem.inria.fr; Mon, 18 Jul 2005 07:08:26 -0700 Mime-Version: 1.0 (Apple Message framework v622) In-Reply-To: <42DB6161.4030507@cs.utah.edu> References: <9cc3782b05071411004b27b6a4@mail.gmail.com> <42DB6161.4030507@cs.utah.edu> Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <278bf64d3f86f40d00b283172979b768@wetware.com> Content-Transfer-Encoding: 7bit From: james woodyatt Subject: Re: [Caml-list] (Mostly) Functional Design? Date: Mon, 18 Jul 2005 07:08:24 -0700 To: caml-list@yquem.inria.fr X-Mailer: Apple Mail (2.622) X-Miltered: at concorde with ID 42DBB7E7.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; woodyatt:01 jhw:01 wetware:01 caml-list:01 morelli:01 niches:01 woodyatt:01 jhw:01 wetware:01 2005,:98 conspiracy:98 giants:98 giants:98 ...:98 wrote:01 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.2 X-Spam-Level: On 18 Jul 2005, at 00:59, Robert Morelli wrote: > > The FP paradigm is intrinsically poorly adapted to the kind of large > scale design concepts that concern most programmers. The other points may or may not be salient, but this one seems most likely to stir controversy. I don't think it's necessarily true. > Object oriented programming is a much better match, not because of a > conspiracy of commercial giants in the software tool business, but > because of intrinsic technical reasons. Functional programming is a > niche technology ideally suited to simple domains like language tools > and formal methods. It does not have much to say about complicated > systems. It's true that the object-oriented programming community has a great deal to say about programming complicated large-scale systems. There's a lot of people in that community, and many of them are drawn by non-technical concerns to the development of complicated large-scale systems. It should come as no surprise to anyone that so much has been said by them on the subject. It remains to be seen, however, whether very much of what the object-orient programming community has said about programming complicated large-scale systems has been correct and useful. The giants in the software tool business got that way not because they all chose the object-oriented architecture. They got to be giants because they had the best tools to serve a very large community of programmers that arose around non-functional programming languages rather than functional ones-- for historical reasons that have little bearing on the present state of the art in functional programming. Extending non-functional languages with object-oriented features was the only sensible and rational way to restore some semblance of sanity to the development of complicated large-scale systems. However, the functional programming community, while it is smaller and therefore has much less to say about this subject, much of it what it *does* have to say has turned out from my perspective to be more useful in the long run. It's true that functional programming languages are today still only used in certain niches, whereas object-oriented programming languages have spread to nearly every last specialization of software practice. It's not clear, however, that this is because of a lack of some intrinsic technological benefit that functional programming should bring to the practitioner. -- j h woodyatt that's my village calling... no doubt, they want their idiot back.