[mercury-users] Bertrand Meyer's opinion

Richard A. O'Keefe ok at atlas.otago.ac.nz
Wed Aug 23 08:17:52 AEST 2000


To be frank, I am not *that* impressed by the views of someone (B.M.)
who thinks that implementation inheritance is a Good Idea.

Quite by coincidence, I received the following E-mail from one of
my students just after receiving the one about Meyer's opinion:

    You'll be pleased to know that you have successfully corrupted my mind
    :-).
    I am writing a C program for Vision, and I keep finding myself writing
    more functionally.  I like it, it makes code read better.

Then of course there's the classic "Haskell vs. Ada vs. C++ vs. Awk vs. ...
An Experiment in Software Prototyping Productivity" by Hudak & Jones,
where they quote
    It is significant that Mr [X], Mr [Y], and Dr [Z] were all surprised
    and suspicious when we told them that [the Haskell version] is a
    complete and executable program.  We provided them with a copy of [it]
    without explaining that it was a program, and based on preconceptions
    from their past experience, they had studied [it] under the
    assumption that it was a mixture of requirements specification and
    top level design.  They were convinced that it was incomplete because
    it did not address issues such as data structure design and
    execution order.

I note that in that paper, the "Relational Lisp" (Lisp + relations, not
that remote from Mercury, really) was by *far* the quickest to develop.

There are a lot of people out there who have invested a lot of time and
self-esteem in mastering whatever imperative toolkit they are used to,
to admit that declarative programming could be dramatically better would
be a massive blow to their self esteem.  Joe Armstrong has an interesting
essay about "Don't be the bearer of good news".  A good example of this
in practice is Erlang.  There were some fairly spectacular Erlang
successes at Ericsson, large real-world marketable applications developed
quickly to good quality.  The response?  A major division promptly BANNED
the use of Erlang.  Not because it had failed.  Because it had SUCCEEDED.

I think it was Wadler who commented that it is obvious to most programmers
that you can't possibly make a language better by removing features.  But
*we* know they're wrong.

Why have the New Zealand teachers, in the most disgustingly craven
example of "cultural cringe" I've ever seen, decided to teach American
spelling instead of English spelling?  Not because it is more systematic:
American spelling is *less* regular than English.  Because it's fashionable.
Ick Thhpt!  It's just the same with programming languages.  Just this
morning, I was reflecting that our switch to Java as teaching language
will render a 40+-year old programming technique (which is the core of
functional programming) quite unthinkable.  This is an improvement?
--------------------------------------------------------------------------
mercury-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the users mailing list