... until the collector arrives ...

This "blog" is really just a scratchpad of mine. There is not much of general interest here. Most of the content is scribbled down "live" as I discover things I want to remember. I rarely go back to correct mistakes in older entries. You have been warned :)

2008-03-10

Why Java Makes Me Stupid

My recent work in Mathematica has re-awakened some of my LISP sensibilities -- intuitions that I lost while working in Java.  What is it about Java that makes me forget about symbolic programming?  Well, I suppose it would be nice if Java had:

  • a symbol type
  • a "data" syntax
  • lightweight lists
  • less verbose collection syntax (e.g. for operations like fold/reduce)

The list could grow longer, of course.  Where are higher-order functions or even simple lambdas?

Having said all that, it is not impossible to do symbolic programming in Java.  It is just unpleasant (contrast the LISP and Java LabEngines, for example).  Also, the whole Java culture is "do this, then this, then this...", not "compose this and this and this".  Java makes the function call a significant event.  Not as significant as it was in the Fortran days, to be sure, but still way more significant than in LISP or Smalltalk or Mathematica or Haskell or Scala or ...

Blog Archive