English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
(Mostly) Functional Design?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2005-07-18 (14:08)
From: james woodyatt <jhw@w...>
Subject: Re: [Caml-list] (Mostly) Functional Design?
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 

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 <jhw@wetware.com>
that's my village calling... no doubt, they want their idiot back.