[Ocaml-biz] strengths and weaknesses

Brandon J. Van Every vanevery at indiegamedesign.com
Thu Sep 9 03:27:58 PDT 2004


I think we should look at markets that need:

- C/C++ levels of performance.  OCaml is capable here, unlike Java or
C#.  Performance is the main thing that interested me about OCaml as a
game developer.  Other markets could be scientific computation,
simluation, mathematics.  You can probably think of others where
performance matters.

- robust modular scaleup.  *HUGE* software systems, where the advantages
of strong type safety would be most noticeable.  Things that must be
reliable or else the business is in jeopardy, or maybe even people die.
I'm not terribly familiar with such markets, hopefully some of you are.

I'm not sure if OCaml is going to show advantages of type safety unless
the software system is very large.  Small programs seem to get away with
a lot.  There is also the school of thought that stringent unit testing
is what matters, not compiler checks.

I'm concerned, per current discussion on caml-list, that OCaml shows too
many characteristics similar to a segmented memory architecture.  This
is true on 32-bit systems at least.  Things like the 4MB array element
limit are bad.  You're getting faster GC, but you're paying for it by
limiting the chunk size of problems you can deal with.  Someone
expressed hope for the adoption of 64-bit systems.  64-bit would mask
OCaml's weakness in this area, and might be a good market since little
has been done there yet.  On the other hand, few are using it yet.

It would be nice to have case studies / success stories about such
issues.  There's some at http://caml.inria.fr/users_programs-eng.html
but these aren't writeups or whitepapers, they're links to projects.
Python has the right idea with http://www.pythonology.com/success .  I
don't think these are marketed as well as they could be, but it's an
awfully good repository of business solutions that have worked, and why
they worked.  If you read all of them, you can definitely come to
conclusions about what Python is and isn't good at.  The weaknesses are
denoted chiefly by what's absent.


Cheers,                     www.indiegamedesign.com
Brandon Van Every           Seattle, WA

OCaml offers superior high level language features,
superior type safety, and performance.
http://caml.inria.fr




More information about the Ocaml-biz mailing list