views:

104

answers:

3

http://stackoverflow.com/questions/1738870/how-difficult-is-it-to-learn-functional-programming-languages

http://stackoverflow.com/questions/24279/functional-programming-and-non-functional-programming

http://stackoverflow.com/questions/102911/whats-a-good-functional-language-to-learn-first

I was exposed to the beautiful world of IDE for programming very early in programming life.From Microsoft Visual Studio to Eclipse, I've used it to do my projects. Now without them I struggle and my development time reduces by a big margin. Hence I want to learn functional programming for me to be good in all terms of programming. What should I do to learn functional programming.Can python be used to do functional programming.

+2  A: 

An IDE is simply a tool used to increase the productivity of a programmer in a particular language. Learning to be less dependent on an IDE is a step you can take before touching a functional language, simply by learning to use a decent text editor (e.g. emacs, vim) and a build system that is appropriate for the language that you are using.

If you still want to learn about functional programming, I would suggest starting with Scheme. Since the syntax is so minimalistic, Scheme forces one to focus on learning functional paradigms as opposed to syntactic sugar and language-specific libraries. If you are looking for a less abrupt of a transition, you could dabble with Python's support for lambdas and it's limited functional library, including functions such as map and filter.

Mike Koval
+3  A: 

Indeed a good decision to learn Functional Programming. Checkout few advantageous of Functional Programming http://c2.com/cgi/wiki?AdvantagesOfFunctionalProgramming

Yes, Python can be used to Function Programming, have a look at these articles

I would like to recommend F#...

Why F#? You can learn functional programming, meantime take advantages of .NET Framework.

Here are few posts which describes "How to start learning new programming language"

Sandy
+1  A: 

what's the relation between functional programming and IDE?

Anyway, python has features for functional programming, however it's still an imperative OOP language and you will more likely not see the full power of functional programming if you try to learn functional programming in Python.

It will be better to find a pure (or near pure) functional language (e.g. Haskell or Lisp) for learning.

Note that OO and functional paradigm are not mutually exclusive; imperative and functional are (in languages that support both imperative, OO, and functional paradigm, you usually will have to choose either imperative of functional paradigm for each operation, but you can generally mix functional and OO in a single operation). Many pure functional language also have object (though in functional sense).

Lie Ryan