RE: convincing management to switch to Ocaml

From: Friedman Roy (roy@cs.technion.ac.il)
Date: Sun Aug 15 1999 - 10:14:50 MET DST


Date: Sun, 15 Aug 1999 11:14:50 +0300 (IDT)
From: Friedman Roy <roy@cs.technion.ac.il>
To: "Frank A. Christoph" <christo@nextsolution.co.jp>
Subject: RE: convincing management to switch to Ocaml
In-Reply-To: <000a01bee4bc$68ccf640$0150ebca@nextsolution.co.jp>

I currently use OCaml as part of an industrial project, although it is
easier when you have your own startup. At the same time, I am also on the
faculty at the department of computer science at the Technion. From my
experience, when I finally convince students to try OCaml, they learn it
VERY quickly, and usually immediately become OCaml advocates.

I guess the main problem is that university graduates get the wrong
message in all those software engineering courses regarding how to design
software and what languages should be used. They are basically led to
beleive that good programming prectice == Object Oriented programming ==
C++ or Java. Of course, these students then go to industry, and soon
become the "management" that is hard to convince to try other
approaches/languages.

Roy

> (You have my condolences. :)
>
> I frequently see people argue that functional languages are too hard to
> understand and use, and that you have to be a guru programmer to use them. I
> am fluent in C++ and I use functional languages because they areeasier to
> use than conventional languages. I don't consider myself an especially good
> programmer, so I need as much help from the programming system as I can get.
>
> Conventional languages shift all the burden onto the user (= the
> programmer): withoutgarbage collection, he has to do the memory management;
> without parametric polymorphism, he has to remember which type to cast a
> pointer back to; without higher-order functions, he has to duplicate code
> and remember to maintain both versions; without type safety, he has to code
> defensively and there is a greater cognitive burden in general. The user has
> to do all this stuff, so compiling the language itself is easy because, if
> it runs, it's pretty much guaranteed to run fast.
>
> With typed functional languages, the burden is on the compiler and the
> implementors. The language is more expressive and declarative, so the
> programmer is freer to concentrate on the problem at hand. Let the
> implementor figure out how to compile it well; as a programmer I want _less_
> things to worry about.
>
> Maybe if I was Linus Torvalds or Xavier Leroy :) or some other world-class
> programmer, I would be using C or C++. It's partly because I'm _not_ that I
> like to use functional languages.
>
> --FC
>
>



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