For now, I want to try something new, so since I love math, I think a functional language could be a good addition to my knowledge. But I can't decide on which language I should choose for a functional language, so many choice:
Common Lisp (A lisp dialect)
Scheme (another lisp dialect)
Haskell
Erlang
OCaml
F#
Scala
D language
What would you recommend to learn functional programming. Don't want answer like "I know Erlang and its good" But more something like "This one is very popular, larger community, more library available, easy to setup environment...)
Also, I want to know: (Answer to these question may influence a little my decision)
- which one is interpreted
- which one can be compiled
- a good tutorial for the one you will suggest me
- which one is the more popular
- the one with more library available
- the one with binding to popular library available in C and C++ (Its good to have lot of library, but I prefer having less library available, but having more library that I can use in other language)
- Which one is faster for the same algorithm
- Which one is better to get a job (I don't say I will try to get a job with it, but im asking which one is better on a CV, we never know if one day I won't use it at work)
- Which one is better for big number (I would like to do something maybe like PI for fun)
- Does a functional language can achieve better result than C + big number library in term of speed and memory for big calculus like PI, e, Fibonacci...
- which one has the easier syntax(I mean, the one we need to use less symbol like |, <, >, `, ~, ^, \, /... that tend to change position depending keyboard layout. In my region, we use USA English keyboard, Canadian English keyboard, Canadian French keyboard... Even myself I still have difficulty to switch between the tree layout.) (There is a very little chance that it influence my choice, after all, I have a razer keyboard, I can remap control)
- Which one of those language is the most representative of functional(I know that sometime, a programming language can differ a little from the other in the same paradigms, having almost the same feature, but having a different programming style) (This won't really influence my choice, but by curiosity)
- Is there a way to use function written in C in any of those language? A way to call function in those language from C? (Like a way to create a library, if its compiled) It could be interesting to do a program in C, which use for its math portion a functional language
- Which one has better support for 64 bit
- Which one is more used in school for teaching purpose (This won't really influence my choice, but by curiosity)
- Is there any functional language with loop? (I know we are not suppose to use loop, but recursion. But we never know when loop can save us from something we have difficulty, then when it work, try to remake it recursive)
- Which language used some curly brace for its logo... { }, if I remember well, there was a language, maybe not functional, that used, if i remember correctly, curly brace for its logo. Im just wondering now which language is was. (Maybe it was not curly brace, but other parentheses, or even some //, don't remember well...) Maybe it don't even exist and it was just in a dream I saw that... If someone could find me a page with the logo of many programming language.
Except functional, imperative and Object oriented, what other major paradigms should I check out one day?
Advertising