caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Alwyn Goodloe <agoodloe@gradient.cis.upenn.edu>
To: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] (Mostly) Functional Design?
Date: Mon, 18 Jul 2005 12:37:18 -0400 (EDT)	[thread overview]
Message-ID: <Pine.GSO.4.58.0507181141590.3446@gradient.cis.upenn.edu> (raw)
In-Reply-To: <278bf64d3f86f40d00b283172979b768@wetware.com>

I think some of the problem in this discussion is due to a
gulf between what programmers in industry expect and the
more academic FP community. Lets think back to circa 1988.

OO community was really really small. It had a brand of religiously
committed Smalltalk programmers. Most C programmers found Smalltalk about
as easy to get as they do Haskell. Smalltalk programmers found that the
language and environment made them more productive, but to the average C
programmer it was just too strange to fathom. Then C++ came on the scene.
Virtually no C++ programmer I met in industry during the 1990s actually
used the OO features effectively. Why because all they were given was a
new compiler. The few that did get the new paradigm were taught OO
analysis and design BEFORE they were given a new language.

 About 1991 or so a set of books were published. Grady Booch, Martin
Fowler, and others wrote books about OO analysis and design. These books
didn't speak about code they were mostly about how to do OO analysis.
Examples were taken from application domains such as insurance, banking,
etc. The analysis and design techniques that these authors advocated
eventually evolved into UML/Rational methodology.  Meyer's Object Oriented
Software Construction was a great companion to these less technical books.
It is the analysis and design techniques that make OO useful when paired
with a reasonable OO language like Eiffel or Java. My argument is that the
FP community really doesn't seem to understand that the books and seminars
that Booch and company did in the early 90s (however flawed they were) did
more to move OO from the realm of Smalltalk hackers than maybe even C++.
I hope that there is someone out there that can fill that gap and write
about FP analysis and design.  It seems to me that the FP paradigm is a
better fit with old fashioned Structured Analysis/Design from the 1980s
(Yourdon) than it is with OO analysis/design. Remember dataflow
diagrams....  As someone who likes the paradigm and hopes to see it
spread, I hope some expert in the field addresses this need.


Alwyn E. Goodloe

agoodloe@gradient.cis.upenn.edu

Ph.D. Candidate
Department of Computer and Information Science
The University of Pennsylvania


  reply	other threads:[~2005-07-18 16:37 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-14 18:00 Kyle Consalus
2005-07-18  7:59 ` [Caml-list] " Robert Morelli
2005-07-18  9:22   ` Alex Baretta
     [not found]     ` <42DB78D3.7010401@andrej.com>
2005-07-18 10:01       ` Alex Baretta
2005-07-18 18:15     ` Robert Morelli
2005-07-18 18:45       ` Alex Baretta
2005-07-18 18:56       ` padiolea
2005-07-18 19:19         ` Jon Harrop
2005-07-18 19:38       ` Jon Harrop
2005-07-18 21:27       ` skaller
2005-07-18 21:55         ` Alwyn Goodloe
2005-07-18 22:16         ` Paul Snively
2005-07-19  0:45           ` Jonathan Bryant
2005-07-18 21:37       ` skaller
2005-07-18 22:00     ` Kenneth Oksanen
2005-07-18  9:29   ` Mark Meyers
2005-07-18  9:56   ` Large scale and FP (was: Re: [Caml-list] (Mostly) Functional Design?) David MENTRE
2005-07-18 18:11     ` Large scale and FP Robert Morelli
2005-07-18 14:08   ` [Caml-list] (Mostly) Functional Design? james woodyatt
2005-07-18 16:37     ` Alwyn Goodloe [this message]
2005-07-18 14:21   ` alphablock
2005-07-18 15:26     ` Alex Baretta
2005-07-18 15:38       ` alphablock
2005-07-18 17:17       ` Doug Kirk
2005-07-18 18:14         ` Alex Baretta
2005-07-19  7:42         ` james woodyatt
2005-07-19  9:35           ` Robert Morelli
2005-07-19 16:53             ` james woodyatt
2005-07-19 17:13               ` Paul Snively
2005-07-19 23:58                 ` Jon Harrop
2005-07-20  0:29                   ` Paul Snively
2005-07-18 18:23   ` padiolea
2005-07-18 19:45   ` Gerd Stolpmann
2005-07-18 22:16     ` skaller
2005-07-19  0:48   ` Chris Campbell
2005-07-19 20:14   ` Some Clarifications Robert Morelli
2005-07-20  6:18     ` [Caml-list] " Ville-Pertti Keinonen
2005-07-24  0:04       ` Robert Morelli
2005-07-24  2:30         ` Paul Snively
2005-07-24  7:37           ` Alex Baretta
2005-07-24  8:08           ` Robert Morelli
2005-07-24 12:23             ` David Teller
2005-07-24 18:29             ` skaller
2005-07-24 18:51             ` Paul Snively
2005-07-24 12:42         ` Gerd Stolpmann
2005-07-25  7:23         ` Ville-Pertti Keinonen
2005-07-20  7:34     ` David MENTRE
2005-07-27 15:37       ` Robert Morelli
2005-07-27 20:33         ` skaller
2005-07-27 23:48           ` Paul Snively
2005-07-20 16:28     ` Damien Doligez
2005-07-24 14:51       ` Robert Morelli
2005-07-24 16:11         ` David MENTRE
2005-07-25 12:21         ` Damien Doligez
2005-07-25 15:47           ` Richard Jones
2005-07-22  5:18   ` [Caml-list] (Mostly) Functional Design? Marius Nita

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.GSO.4.58.0507181141590.3446@gradient.cis.upenn.edu \
    --to=agoodloe@gradient.cis.upenn.edu \
    --cc=caml-list@yquem.inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).