Haskell as first programming language? #programming #functionalprogramming #haskell #scheme #python

preview_player
Показать описание
Some thoughts on whether you should learn a functional programming language like Haskell as a first language.
Рекомендации по теме
Комментарии
Автор

I found Haskell very smooth to learn as a first, just for hobby purposes. I’d editors bash and JS scripts occasionally over the years, but didn’t really know enough to write anything or edit anything complex. I worked through Julie Moronuki and Chris Allen’s Haskell Programming from First Principles, and loved it. One of the best written educational books ever made.

yerald_a
Автор

The problem with Haskell comes more from people like you who believe is mystifying or not a good first programming language than with people who haven't learned anything about programming.

All the erroneous preconceptions that programmers have about Haskell are the problem. A newbie has none.

I have known more newbies that learned Haskell successfully than programmers with prior experience that haven't complained about Haskell.

laughingvampire
Автор

i think scheme certainly benefits from having a very simple syntax. that must help a beginner :)

one of the things that i find unsatisfying about this sort of conversation is how functional programming is defined. i think for me, things that i like to use while programming are:
first-class functions
immutable data by default
strong types through inference
decomposition and pattern matching
tail recursion
monads like result, options, lists.
list comprehensions in general (map, fold/reduce, ...)
function currying

i think a lot of the languages often regarded as functional have a number of these features, though few have all (generally languages like haskell, ocaml, elm, ...). however i really do like scheme and clojure too :)

EdouardTavinor
Автор

I would rather recommend pure FP language like Haskell instead of a mixed language. Thats because Haskell is extremely coherent with a beautiful syntax, wich makes the learning experience of this paradigm a lot easier in contrast to other languages that includes some FP features in an incoherent way... For an entertaining experience i would recommend "Learn you a Haskell for Great Good"... And take it as a hobby... slow paced puzzle solving entertainment....

abrahamvivas
Автор

Haskell is fine; it's a dual research / production language that's becoming more production-oriented.

The only caveat I'd offer to people learning Haskell is that you'd also want to pick up a more hackerish language at the same time, because Haskell relies on a lot of libraries with unfamiliar abstractions and makes it harder to make stuff.

But: Bricks (works on Windows now!), Monomer, Twain/Servant, PostgreSQL-Simple, that's all you need!

Instr
Автор

Acctually with haskell u can use imperative-like programs too :)

jjoaoll
Автор

Probably a fist time programmer would find the IO and type casting a bit tricky in Haskell, otherwise Haskell is very simple (basics of it), has the cleanest syntax. Why not.

olexp
Автор

As niche as Elixir is, I think it might be good as a first language? It’s dynamically typed too, so it’s easier for beginners.

fenkraken
Автор

The downside with learning Clojure first is that the next languages you learn will annoy you in many ways

rafnicdao
Автор

I've become more interested in OCaml or F# and you just happen to alreay have an F# series 😄

kenneth_mata
Автор

OCaml is the best functional language to learn as a first language since it actually supports multiple paradigms.

maxwen