The Assayer: Developing Applications with Objective Caml The Assayer - book reviews and discussion for the free-information renaissance
home    help    links    log in    log out    add or review a book    contact
Browse by    subject    author    title    reviewer

Developing Applications with Objective Caml

AuthorsEmmanuel Chailloux, Pascal Manoury, Bruno Pagano Entered2002-10-31 23:24:35 by bcrowell
Editedit data record FreedomCopyrighted, doesn't cost money to read, but otherwise not free (disclaimer)
SubjectQ.A - Mathematics. Computer science (programming languages)
This link was reported to be OK by user Ben Crowell on 2002-10-31 23:58:16
You can't update this URL or report it OK or broken because you aren't logged in.
ReviewYou can't add a review of this book right now because you're not logged in.
dry and technical, doesn't answer the big questions
by Ben Crowell (crowell09 at (change 09 to current year)) on 2002-11-01 00:23:27, review #222
I was interested in this book because I downloaded some open-source software written in Ocaml, and was curious about the technology behind the language, like the bytecode interpreter. I also didn't know much about functional languages, and was interested to learn about one. The book gave me a taste of what I was curious about, but only a taste.

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.

This review has been revised. Earlier versions (viewing not yet implemented): -1
You cannot revise or reply to this post because you are not logged in.

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.