Software Engineering discussion

8 views
Making Sense of NoSQL > Ch 10: NoSQL and Functional Programming

Comments Showing 1-1 of 1 (1 new)    post a comment »
dateUp arrow    newest »

message 1: by [deleted user] (new)

I share the enthusiasm for functional programming. As single processors run out of clock speed steam, and multiple cores keep sprouting, this paradigm becomes more compelling. It is yet another example of a technology pendulum swing. LISP brought us functional programming in 1958, it went out of style, and is now coming back in many forms. My favorite pure functional language is Haskell.

Functional languages and Hadoop are a perfect match, yet an OO language (Java) dominates. Scala (a functional language that runs on the JVM) is gaining some traction. It will be interesting to see if the new Java lambda expressions alter programming styles in Hadoop.

This chapter provides a nice overview of the functional paradigm, and does an especially good job of explaining WHY functional languages are a great match for the requirements of parallel, distributed, systems.

One quibble: I wouldn't classify functional languages as a subtype of declarative languages. When implementing the function, the code often specifies specific steps (often using recursion). My guess is that the authors are considering cases like list iteration, where instead of explicitly calculating and counting list elements, functional approaches just take the list and figure out how to iterate through the elements, which has declarative characteristics. I would place functional at an equal level to imperative and declarative. The only truly declarative language I know about is SQL. Logic languages, like Prolog, are yet another major family.


back to top