V
V
Vasily minodvesP2014-08-22 22:38:34
Lisp
Vasily minodvesP, 2014-08-22 22:38:34

A few questions about Scheme and functional programming languages?

Interested in learning functional programming. In particular, the languages ​​Scheme, Clojure, Erlang and Scala are of interest. I also often heard that the most powerful FP language is Haskell, but I suspect that it is quite complicated for a beginner. Therefore, the following questions arose:
1. Which of the functional languages ​​is the easiest to learn? Scheme is suitable?
2. What are the uses of Scheme (besides academic and fu-script for GIMP)? And what dialects of Scheme are the most popular-relevant, besides Racket?
3. Clojure, Erlang, Scala - which one is more popular in development, in particular for the web?
4. How common is the functional paradigm in Python? Or is Python still object-oriented so much that the functional paradigm is usually not used in it?
What functionality would you recommend to a beginner in this field?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
B
bromzh, 2014-09-04
@benoni

Depending on what goal you set for yourself. Usually they select a tool for the task, and not vice versa. Studying for the sake of studying is not the best idea. But knowing the basics of functionality never hurts.
And it is important to understand that in a functional style you can write in almost any language, and not just in purely functional ones.
1) The scheme is very simple, but unusual. Read SICP, a great book on programming in general.
2) Almost none. It just so happened that it is not particularly popular in applied areas. Well, in Racket itself, you can choose different dialects, look there.
3) Erlang, due to the structure of the platform itself, is great for fast asynchronous network applications (and no callback hell). There are good web frameworks for rock: Play 2, Lift, etc. Not much for a kludge, but the last 2 are the JVM, so many Java libs can be used.
4) Python is not oriented anywhere. What prevents to combine different paradigms? Everything in python is just an object. It makes OOP easier, yes. Many data types are mutable there. But the functional approach is also often used there (decorators, for example, are a frequent occurrence). Map's and reduce'y are also present, plus, there is a whole package of functools. And numpy.
In general, read SICP =)

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question