Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which functional programming language should I choose as first functional programming language? [closed]

I would like to learn a functional programming language to see a different programming paradigm.

My background in programming: Java (I have just passed the SCJP exam), some ruby and very limited Rails. I use bash for basic sysadmin tasks. I use Ubuntu 9.04.

As a second goal I would like to use fp to show kids (14-18 years olds) how math and cs interrelated. The guys are very good at programing (they are learning Python and Java at politechnical high school from the first year). However as tests show, they have difficulties with math esp. basic concepts of discrete math. I think we can develop their math skills by using programming (and I possibly that can be the topic of my teacher training thesis). I think a language with very basic vocabulary would serve this project best.

like image 294
txxwq Avatar asked Feb 01 '10 18:02

txxwq


People also ask

What functional language should I learn first?

Elixir is a good choice for beginner developers looking for their first functional language to learn, as it's a high-level language. The syntax is often compared to the ever-popular “Ruby” for its simplicity and ease of comprehension.

Which programming language should I learn first as a beginner in 2021?

Python. Python is always recommended if you're looking for an easy and even fun programming language to learn first. Rather than having to jump into strict syntax rules, Python reads like English and is simple to understand for someone who's new to programming.

What is the easiest functional programming language?

The simplest way to get started is Dr Racket. Racket is a language of its own (another dialect of Lisp) but it supports the Scheme compiler as a subset and provides rich auto-formatting, static code analysis, and debugging features out-of-the-box.

Should I learn functional programming first?

The biggest plus of learning a functional language before learning an OOP lang is that your programming skills get developed first and then you can easily grasp the OOP concepts.


2 Answers

I vote for Haskell, which has the following advantages:

  • In Haskell, the simple case is actually simple
  • The complex case is (usually) still comprehensible by ordinary human minds
  • It has an ordinary syntax that's not too different from other non-functional programming languages (unlike, say, Lisp)
like image 197
JSBձոգչ Avatar answered Sep 19 '22 17:09

JSBձոգչ


I'm a big fan of Scheme, not least because the best book on it is freely available.

like image 24
Jon Avatar answered Sep 21 '22 17:09

Jon