[ocaml-biz] adjectives about OCaml

Brian Hurt bhurt
Wed Aug 25 10:30:00 PDT 2004


On Wed, 25 Aug 2004, Brandon J. Van Every wrote:

> Tony Edgin wrote:
> >
> > Possibly, the warrior could be a
> > veiled female with aluring eyes.
> 
> I think we need to work more on what marketing messages we're trying to
> send.  I propose that we brainstorm adjectives or properties of OCaml,
> rather than images.  Here are some:
> 

If I had to pick three words to describe Ocaml, I'd choose (in order of 
priority) Pragmatic, Efficient, and Advanced.

By Pragmatic, I explicitly mean to reference Andrew Hunt's and Dave 
Thomas's seminal work "The Pragmatic Programmer: from Journeyman to 
Master":
http://www.amazon.com/exec/obidos/tg/detail/-/020161622X/qid=1093443100/sr=1-1/ref=sr_1_1/104-5508032-6603950?v=glance&s=books

In just about every way a computer language can be pragmatic, Ocaml is.  
I'll name just two- first, no final decisions.  Don't foreclose options 
before you absolutely have to.  Well, with most other languages, in 
choosing the language you choose how it's going to be executed.  If you 
choose Perl, you're going to be interpreting the code.  Java, and you're 
stuck with a virtual machine.  C++, and you're stuck compiling the code to 
native.  Ocaml lets you pick which way you're going execute the code, and 
then to change your mind.  Another example of Ocaml not choosing for you- 
with support for three different programming paradigms, Ocaml allows you 
to use the paradigm most applicable for the problem.  Different parts of 
the code can be in different paradigms- whatever works.

Another example of Ocaml as a pragmatic language- Andy and Dave are big 
fans of having the computer do as much of the work as possible.  A point 
they make over and over again is to automate as much as possible.  So why 
not automate one of the most tedious aspects of programming- debugging?  
Have the computer, at compile time, find the vast majority of bugs.  Oh, 
does this require a lot of tedious typing of variables and functions?  
Automate that as well.

There are two things I could mean by Efficient.  The first is that Ocaml 
is efficient with the programmers time- it takes less time to develop code 
in Ocaml (on average) than with other languages.  The other thing is that 
Ocaml is efficient with the computers time- it runs fast.  Both fast to 
compile, and fast to execute, so really there are three different possible 
meanings for Efficient.  So which is it?  All of them!

Next up is advanced.  Industrial programming languages seem to have gotten 
stuck back in about 1968.  Computer science has advanced quite a bit since 
then.  Of the three, I'd lose "Advanced" first.

Just my $0.02.

-- 
"Usenet is like a herd of performing elephants with diarrhea -- massive,
difficult to redirect, awe-inspiring, entertaining, and a source of
mind-boggling amounts of excrement when you least expect it."
                                - Gene Spafford 
Brian




More information about the Ocaml-biz mailing list