[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