According to Michael Swain, Editor at Large of Dr. Dobb’s Journal, a paradigm shift is underway and functional programming is “on the verge of becoming a must-have skill.” In the cover story of the January, 2009 issue of Dr. Dobb’s Journal, “It’s Time to Get Good at Functional Programming” Swain argues that functional programming is better suited to parallel computation than procedural and object-oriented programming and will be needed to more fully exploit multi-core and multi-CPU computer systems.
David Pollak and Jorge Ortiz provided a full day hands-on workshop on Lift, an emerging web framework for Scala on Saturday, November 22nd, 2008, in Berkeley. I am interested in Scala (and Lift) because Scala is a multi-paradigm language: it combines functional and object-oriented programming. I spent the last two years programming in Lisp and Prolog doing research on intelligent agents and machine learning at Stanford and I found myself missing Java: especially the APIs and libraries and the well designed object-oriented aspects of the language. On the other hand, I was often impressed by how powerful functional programming is: one can write clean, compact, comprehensible code that radically changes or extends the behavior of a system surprisingly quickly. My hope is that Scala will make it possible to have the best of both paradigms.