JMM
JMM

Reputation: 4022

Learning functional programming

I am mostly a Java developer, this is where I've had the most experience. I want to improve my coding skills so I am looking at learning a functional language.

I don't want it to be too big a leap for me, I don't want to get bogged down in too many unfamiliar things, I'd like to get up to speed as soon as possible.

Can you recommed a language/platform for my first serious look at functional programming?

Upvotes: 5

Views: 1114

Answers (9)

chrisichris
chrisichris

Reputation: 220

Give yeti a try. This is an advanced ml dialect on the jvm

It is pure functional, integrates nice with Java, is statically typed and is much simpler than ie scala. Has a simpler type-syste, but with full type-inference.

http://mth.github.com/yeti/

Upvotes: 3

developer
developer

Reputation: 9478

If you have time to read a book, please try "Effective Java" . It's a very good book for developers.

Upvotes: 0

Rob Agar
Rob Agar

Reputation: 12469

To be honest, it's the big leap in perspective that makes learning a functional language such a benefit. I'd say dive in the deep end with the "purest" functional language Haskell.

The books Real World Haskell and The Haskell School of Expression are great introductions.

Upvotes: 8

pkvprakash
pkvprakash

Reputation: 329

As you are very much interested to learn a functional language, I would suggest Ocaml(Objective Caml). I can suggest you a good book to learn functional programming and lambda calculus.

Types and programming Languages by Benjamin C. Pierce.
http://www.cis.upenn.edu/~bcpierce/tapl/

Upvotes: 0

Jameswq
Jameswq

Reputation: 1

As a new programmer of Java,you'd better see the function things of Java area,like Effective Java、*the offical API of Java* and many many others.By the way,i like the Oreilly's Book.

Upvotes: 0

Fred Foo
Fred Foo

Reputation: 363817

Try Scala. It's not purely a functional programming language, but it fits right into your toolbox. See Learning Scala.

Another option may be Clojure. That, too, isn't pure FP, but as a Lisp dialect it offers many of the relevant features.

Upvotes: 7

Amadan
Amadan

Reputation: 198486

Several possibilities. Scala runs on JVM, so you can use Java library for a lot of things. I am not a fan, it is way too complex, with lots of syntax to learn.

Scheme is arguably the best language for learning FP, because you can learn the syntax in 30 minutes.

You can also take a look at hybrid languages, like JavaScript, which also have some aspects of a functional language (most importantly, closures), yet keep the procedural tradition syntax.

Upvotes: 0

Umesh Kacha
Umesh Kacha

Reputation: 13686

FunctionalJava is the best known library to start functional programming in Java.

Upvotes: 1

J.N.
J.N.

Reputation: 8431

Scala was designed with Java and the JVM in mind. Sounds like a nice place to start.

official web site

Upvotes: 2

Related Questions