Browse thread
(Mostly) Functional Design?
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2005-07-18 (09:24) |
From: | Alex Baretta <alex@b...> |
Subject: | Re: [Caml-list] (Mostly) Functional Design? |
Robert Morelli wrote: > I contend: > 1. The FP community tends to emphasize low level issues rather than > the larger scale issues that concern most programmers. It is also > inept at practical documentation and advocacy. > 2. There isn't much of a theory of large scale functional design. > At least, there is no consensus. > 3. Point 2. is not the consequence of point 1.; it's not simply a > matter of communication, but an instrinsic void in the FP paradigm. > The FP paradigm is intrinsically poorly adapted to the kind of large > scale design concepts that concern most programmers. 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. Your points are very simply wrong. Functional design addresses the same large-scale design problems that OO tries to address, and, in fact, given cognitive compatibility with the mind of the developere, it offers a productivity at least an order of magnitude greater on very large scale projects (over 100klocs) where the dominant cost factor is code maintenance. Ocaml's functional paradigm greatly stresses a priori correctness via static type-checking, which we take advantage of to achieve static verification of the Embedded SQL queries in our FreerP suite of business applications. It is only thanks to the rich type system in Ocaml that we are able to maintain coherence between a database schema counting hundreds of relations and hundreds of Xcaml server pages containing at least as many embedded SQL queries. Java simply would not scale. Alex -- ********************************************************************* http://www.barettadeit.com/ Baretta DE&IT A division of Baretta SRL tel. +39 02 370 111 55 fax. +39 02 370 111 54 Our technology: The Application System/Xcaml (AS/Xcaml) <http://www.asxcaml.org/> The FreerP Project <http://www.freerp.org/>