Saturday, January 8, 2011
Is there a technical term for fear of excessive parentheses? If so, I am so afflicted. These decease has kept me from embracing Lisp and Lisp-derived languages, including the latest hot commodity, Clojure. I really admire a lot of what Clojure is all about, especially its use of Software Transactional Memory, tight integration with Java / runs on the JVM, etc. I'm a big fan of functional programming, having fallen in with a Scala crowd for a good chunk of 2010. I've always been a fanatical immutability nut with my Java code, driving people nuts with my incessant use of final (and am happy to report my current client's technical leadership is similarly mad in this regard). The stock of functional programming and immutability will only rise as highly, even massively concurrent programs become norm in our multi-core world as Moore's Law gives way to Amdahl's Law. All of which should lead me to Clojure's door. These parens, after all, are just syntax, only surface. In a way the minimalist nature is beautiful. So maybe now is the time to get over my irrational fear and take the plunge. I don't think Clojure could take the place of Scala as my favorite functional language, though (even if Scala is in fact less pure in that department). I'm also, in the end, an object snob and like the dual nature that Scala provides there: objects in the large and functional in the details. But perhaps even that wall could come crashing down.