Version française
Home     About     Download     Resources     Contact us    
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: -- (:)
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/>