|Authors||Emmanuel Chailloux, Pascal Manoury, Bruno Pagano||Entered||2002-10-31 23:24:35 by bcrowell|
|Edit||edit data record||Freedom||Copyrighted, doesn't cost money to read, but otherwise not free (disclaimer)|
|Subject||Q.A - Mathematics. Computer science (programming languages)|
|dry and technical, doesn't answer the big questions|
by Ben Crowell (crowell09 at stopspam.lightandmatter.com (change 09 to current year)) on 2002-11-01 00:23:27, review #222
The first ten pages was a sales pitch, but what I really wanted was an explanation of the engineering tradeoffs that would make Ocaml a good choice for application X while Perl or C or Ruby might be better for application Y. The main pitch seemed to be about Ocaml's type-checking system, but I've never really seen any evidence in practical situations that weak typing results in more bugs. In other ways, Ocaml's design seems very unsafe, especially in its definition of integer arithmetic as modular. It seemed as though the authors were interested in preaching to the choir: people who were already convinced that the way Ocaml was designed was the right way to design a language.
I was also interested in the bytecode interpreter, but although there is a long section of the book discussing the development environment and how software is packaged and distributed, it didn't really tell me any of the interesting things I'd want to know about how Ocaml's Zinc VM compares with other VMs such as Java or Parrot. For instance, is it a stack machine or a register machine? Here, as in many places, I really missed an explicit comparison with other modern languages (which doesn not include FORTRAN and Lisp!).
In general, the style is dry and technical, and often unclear. For instance, there are some examples early on where a function is defined, and the compiler is able to determine automatically the types involved; I couldn't understand how it could tell they were integers and not, say, floating-point numbers.
Information wants to be free, so make some free information.
|The contents of this web page, except the parts contributed by members of The Assayer, are copyright (c) 2000 by Benjamin Crowell, and are copyleft licensed under the Open Publication License 1.0, without options A or B.|