Win a copy of Mesos in Action this week in the Cloud/Virtualizaton forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Article: Welcome to "The Functional Web"

 
Peer Reynders
Bartender
Posts: 2968
6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Steve Vinoski's Blog: Internet Computing Columns.
IEEE Internet Computing March/April 2009; Vol. 13, No. 2: Welcome to "The Functional Web" (PDF)

Steve Vinoski wrote:... developers who primarily use popular imperative languages like Java and C++ can become so accustomed to the boilerplate, verbosity, and ceremony these languages require that they simply don’t realize just how inefficient their development efforts really are. Given how defensive such languages’ users can often be, perhaps this form of programming language loyalty is a less sinister variant of Stockholm syndrome, where captives counterintuitively develop a sense of devotion and emotional attachment to their captors.

Judging from my own efforts, FP languages generally allow systems to be stated succinctly and with much less syntactic overhead than imperative languages.

The continuing evolution of the Java VM to a multilanguage platform has resulted in the development of new languages — such as Clojure, a modern Lisp, and Scala, a multiparadigm language that supports FP — that run on that platform.

The goal of this brand new column is to investigate the application of FP languages and techniques to the world of production-quality RESTful Web service development.

 
Garrett Rowe
Ranch Hand
Posts: 1296
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I agree wholeheartedly that functional languages allow the programmer to write code that is more succinct than imperative code. I personally love to use them because they allow me write code at a higher abstraction level than imperative languages. And any Java programmer who is "scared" of closures is misguided. Closures add a tremendous amount of power to a language, and combined with Scala's type system, they allow one to express at the library level what in many languages can only be expressed at the language level.

That said the higher abstraction level comes at a price, and library designers have to walk a fine line to not only make libraries that are easy to use, but libraries that a programmer can grok just from the documentation. And I hate reading through Scala source where the author doesn't explicitly declare a return type. That's just not being a good Scala citizen.

Overall I see Scala as a good language that I feel very productive in (although I fear feature-creep with each new version) that seems to be quietly gaining converts. I'll be interested to see where it goes.
 
Stefan Wagner
Ranch Hand
Posts: 1923
Linux Postgres Database Scala
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
While I enjoy diving into the scala world, I like to ask: How much time per day does a developer spend typing?
In 8 hours of work, maybe it is 1 hour of typing, so maybe there are 20 minutes to save per day.
 
Garrett Rowe
Ranch Hand
Posts: 1296
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This just in from the PR department:


"Stefan Wagner says he can reduce development cycles by up to 33% just by switching from Java to Scala!"

 
Gabriel Claramunt
Ranch Hand
Posts: 375
Monad Scala
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Stefan Wagner wrote:While I enjoy diving into the scala world, I like to ask: How much time per day does a developer spend typing?
In 8 hours of work, maybe it is 1 hour of typing, so maybe there are 20 minutes to save per day.

Is not about typing, is about Typing


 
Stefan Wagner
Ranch Hand
Posts: 1923
Linux Postgres Database Scala
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic