Reputation: 4022
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
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.
Upvotes: 3
Reputation: 9478
If you have time to read a book, please try "Effective Java" . It's a very good book for developers.
Upvotes: 0
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
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
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
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
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
Reputation: 13686
FunctionalJava is the best known library to start functional programming in Java.
Upvotes: 1
Reputation: 8431
Scala was designed with Java and the JVM in mind. Sounds like a nice place to start.
Upvotes: 2