Re: convincing management to switch to Ocaml

From: John Skaller (skaller@maxtal.com.au)
Date: Fri Aug 13 1999 - 12:32:05 MET DST


Message-Id: <3.0.6.32.19990813203205.00990520@mail.triode.net.au>
Date: Fri, 13 Aug 1999 20:32:05 +1000
To: Markus Mottl <mottl@miss.wu-wien.ac.at>
From: John Skaller <skaller@maxtal.com.au>
Subject: Re: convincing management to switch to Ocaml
In-Reply-To: <199907300800.KAA25943@miss.wu-wien.ac.at>

At 10:00 30/07/99 +0100, Markus Mottl wrote:
>The reason, why my proposal was declined, was that "industry needs C++
>so we teach C++" - what a miserable attitude for an academic institution!

        I beg to differ. At my alma mater, a point was made
_not_ to teach anything that smacked of being 'commercial'.
They even invented a 'machine' to teach machine principles,
instead of using an existing micro-processor.
[They also completely messed up the design]

        As a result, competing universities have much better
graduate employment records, and the particular department
is suffering serious financial problems. (Many graduates
couldn't write a program, industry prefered engineers,
physicists, and mathematicians to computer scientists]

        Now they teach a new OO language to first years (sigh),
and C/C++ to second years. [and ocaml to third years I believe]

        Computer programming is primarily a _commerical_
processes: people write programs for industry, and they
are themselves _employed_ to do so, that is, they make
their living out of it. And a lot of that work is involved
in interfacing to existing code.

        Of course you can write wrappers. Perhaps it is easy.
So where are they? How much work is involved in wrapping
ALL the POSIX and Microsoft windows API?? How much
work implementing the functionality of Swing,
delivered standard with Java?

>> * Ocaml is an academic langage
>
>As you can see above, even academia is not prepared to change its mind
>easily.

        Of course not. Fundamentally, academia is part of industry,
which is naturally and wisely conservative.

>The true reason, why your boss comes up with arguments against OCaml
>(about which he obviously doesn't know anything at all) is, well, not
>laziness to change mind: I'd say he is *risk averse*.

        Which, surely, is reasonable.

>It's the same as with Linux: although provably technically superior to
>most competitors on the market (especially *the* competitor), management
>in industry was very reluctant to make use of it - if some project fails,
>a manager cannot be blamed for having used "new toy technologies" (even
>though these technologies would have made a failure much more unlikely).

        Ah, but that is now changing as (Redhat) Linux proves itself and is being
accepted as the most serious competitor to both Sun and Microsoft.

>The same is true for OCaml: one has to admit that industry got "burned"
>from time to time when they decided to make use of a "new" language.

        Yes. And much better supported ones too. Such as Eiffel.
Indeed, many are now getting 'burned' by Java.

        C++ on the other hand has much to recommend it:
widely used, ISO Standardised, C compatible, and designed
not to compromise efficiency. And a huge number of books
published on it.

        OTOH, ocaml has a number of problems compared with C++:
it doesn't support separate compilation properly (mutually
recursive calls don't work), it has bugs, there is no
readable reference (in English) -- the language reference is good,
but it is for experts, the tutorial is good, but it is for
beginners .. and currenly, I'm in the middle.

        In fact, I'm kind of happy that ocaml ISN'T widely used!
It gives the developers a much freer hand in changing it,
without burning too many projects.

-------------------------------------------------------
John Skaller email: skaller@maxtal.com.au
                http://www.maxtal.com.au/~skaller
                phone: 61-2-96600850
                snail: 10/1 Toxteth Rd, Glebe NSW 2037, Australia



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:24 MET