However, Ocaml (or Caml) is supposedly able to generate native code whose speed is comparable with compiled C! That piqued my interest and I tried minimal Ocaml raytracer, whose speed was really suprising. Also note the whole raytracer is only 222 lines long. Another feature of functional languages seems to be the density of code - the ability to "say more" in less number of lines. But that also means you have to think more in order to code less.
If you have spare time and want to give Ocaml a try, read this online book. It's a good thing to refresh your brain by learning new programming philosophy that forces you to forget the design patterns you knew from procedural languages. It's really like when I started learning the first BASIC commands 25 years ago...
Ouch, author just reinvented functional programming... only 40 years after Lisp and 20 years after ML :-)
ReplyDeleteC# anyone? :-)
ReplyDeleteYes, Lisp is 40 years old. Now, just try to write an easily readable, modular and efficiently compilable program in Lisp. On in ML. See the point?
ReplyDeleteBtw. Yahoo Stores are writen in Lisp...
ReplyDeleteBrowse the related links at the bottom of my ray tracer page and you'll find much shorter versions written in several languages, detailed side-by-side comparisons of different languages and a benchmark comparing performance and verbosity.
ReplyDelete