4 Replies - 2330 Views - Last Post: 16 October 2010 - 03:31 PM

#1 Guest_foul*


functional programming

Posted 10 June 2010 - 09:08 AM

How usefull are functional programming languages? Do we still use them today? Are there any job roles that require the knowledge of a functional programming language?
Is This A Good Question/Topic? 0

Replies To: functional programming

#2 JackOfAllTrades   User is offline

  • Saucy!
  • member icon

Reputation: 6246
  • View blog
  • Posts: 24,014
  • Joined: 23-August 08

Re: functional programming

Posted 10 June 2010 - 01:38 PM

Moved to Functional Programming
Was This Post Helpful? 0
  • +
  • -

#3 Raynes   User is offline

  • D.I.C Lover
  • member icon

Reputation: 614
  • View blog
  • Posts: 2,815
  • Joined: 05-January 09

Re: functional programming

Posted 12 June 2010 - 06:01 AM

Most functional programming languages including Haskell and Clojure especially are turing complete, and very useful languages. In the case of Clojure, you have access to all Java libraries. How's that for useful?

Yes, we still use them today. In fact, though functional programming itself isn't new, it only very recently began to get attention. People are beginning to notice the benefits of FP, especially in the face of our multicore future.

There are a small, but growing number of jobs that require or desire knowledge of functional programming. I'll be honest with you though. If a job is that you're looking for, a functional language is probably not. In the not-so-distant future, hopefully FP jobs will be more accessible, but for now, you're probably better off with another job, and trying to introduce FP at your current workplace. If you work with Java, getting Clojure in, maybe for personal projects related to work, shouldn't be too much of a stretch.

Are they worth learning? Absolutely. If you have time, go for it. You'll learn things that will make you a better programmer in the languages you already know, and in turn might actually help you get/keep a job.
Was This Post Helpful? 2
  • +
  • -

#4 pchapin   User is offline

  • New D.I.C Head

Reputation: 34
  • View blog
  • Posts: 43
  • Joined: 23-July 10

Re: functional programming

Posted 30 July 2010 - 06:28 AM

It will be interesting to see what effect, if any, Microsoft's introduction of F# will have on the general state of functional programming in the "real world." This might be the first time that a large, mainstream compiler vendor is shipping a functional language as a standard part of their flagship toolkit (I'm thinking of F# in VS2010).

I agree that interest in functional programming is on the rise. Even languages that are not normally considered functional languages are growing functional-like features. As a case in point, consider the new lambda expressions in the upcoming C++ 2011.
Was This Post Helpful? 0
  • +
  • -

#5 s243a   User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 137
  • Joined: 17-March 10

Re: functional programming

Posted 16 October 2010 - 03:31 PM

I agree with what's said above. The growth of multi-core, distributed competing and the desire for type safe persistence (AKA databases) are all contributing to a growing interest in function computing. Additionally better compilers and a growth in computing power are also contributing to this trend.

As for which functional languages to learn, ask yourself if your motivation is conceptual or practical. If it is practical then you should lean a functional language which is part of the same [ur=http://en.wikipedia.org/wiki/Common_Language_Infrastructure]Common Language Infrastructure (CLI)[/url] as a language you already know. That way you can easily integrate code which you write in one language with code you integrate in another. So if you know java then learn Clojure or Scala or possibly even scheme (see[url] [url=http://sisc-scheme.org/manual/html/]SISC)

For a complete list of JVM languages see:

and if you know C# then the obvious choice is F#.

If your motivation is conceptual then Haskell is very interesting from the perspective of the type system. Lisp family languages provide a concise elegant syntax for higher order functions. If you are interested in user defined control structures use Scala. If concurrency is your driving focus erlang is highly recommended. If you want object oriented concepts in a functional lange then perhaps Ocamal.

These are only suggestions. Most languages have some ways of inter-operating with each other but how easy this is to do an how tightly they fit together is dependent on the choice of languages. Interoperability is especially important when the languages isn't widely used.
Was This Post Helpful? 1
  • +
  • -

Page 1 of 1