My man just disguised an introduction to which functional programming languages there are as a ranking video, just because it gets the clicks... touché.
@@pierrefley5000 He said "Lisps". Common Lisp may not be particularly function (though it is moreso than Perl), Scheme is pretty much functional and Clojure is very much function--moreso than some of the languages in this video.
I actually like Idris 2 more than Haskell, so I would add it to S tier as well. Also, I'm not quite comfortable with putting a language that has been abandoned for 5 years (Elm) to S tier
Gotta love Idris2! Dependent types, quantitative types, fancy interactive compiler, eager rather than lazy... and single colon for type annotations. \*chef kiss\*
Thank you for the comprehensive and thorough analysis of the available functional programming languages, i could wish i had a time to effectively learn them all 😭
Roc is great! It’s the performant pragmatic language with great tooling that I’ve been wanting. The combo of structural records, structural tag unions, and type inference is delightful. And I think some very interesting things will come from the platform design. Definitely worth checking out!
@@simpleprogrammingcodes logic variables (like the ones Oz uses) for concurrency is a great concept, and feel very functional IMO. Languages that target the BEAM (erlang, elixir, etc) also have concurrent interaction baked into the languages themselves.
@@mohsen744 I think it’s a wrong question. We must consider what language and its ecosystem(s) allow and don’t allow us to do, which are also rooted in values/priorities. Take, for example, expressiveness and maintainability. Extracting abstractions, re-using functionality, and changing data structures, among other things, are noticeably different experiences in Rust on the one hand and Scala (Haskell, PureScript, whatever) on the other hand. For instance, compare handling optionality, errors, lists, and async/await in Scala and Rust. If you want to see more details and examples, I have a video on the FP values (and where Rust differs): czcams.com/video/co-Vg7M4yKw/video.html Bringing back to functional features; ask yourself: Why is there no function composition in Rust? Why are there 3 function traits in Rust? I reviewed some feature differences in a blog post about Haskell and Rust: serokell.io/blog/rust-vs-haskell At the end of the day, there is no 1 FP. Ask 10 people what functional programming is and get 7 different answers 😅
Based, and absolutely unbiased :)
My man just disguised an introduction to which functional programming languages there are as a ranking video, just because it gets the clicks... touché.
Where are the lisps? 🙂
If Lisp counts as a functional language, then so does Perl.
@@pierrefley5000 He said "Lisps". Common Lisp may not be particularly function (though it is moreso than Perl), Scheme is pretty much functional and Clojure is very much function--moreso than some of the languages in this video.
You're right, the square hole
I would chose F# due to the strength of the standard library, which is in my view as important as the language.
It's also got the most consistent editor tooling in my experience, although I haven't tried every language on the list
Its also the least “functional” functional programming language of the bunch, especially when you use that extended standard library.
@@roelhemerik5715 Isnt that due to the fact it can use most of .NET which is mainly based in C# to begin with?
Kind of disappointed by F#. A lack of idiomatic libraries is very evident. I found myself backpaddling a lot to imperative "C# like" style.
Least biased programming tier list video :D
until you realize, the real tier list is hidden in the order of choosing them.
I actually like Idris 2 more than Haskell, so I would add it to S tier as well. Also, I'm not quite comfortable with putting a language that has been abandoned for 5 years (Elm) to S tier
Gotta love Idris2! Dependent types, quantitative types, fancy interactive compiler, eager rather than lazy... and single colon for type annotations. \*chef kiss\*
Elm is not abandoned, it is done. Also, latest commit to it was 8 months ago, so far from 5 years. Not all languages need new features every week
Cool. Absolutely loved the video ❤
Probably I need to spend some time this weekend checking out Unison and Gleam 🤔
No elixir??
I think he prefers statically typed languages, he mentioned it at the beginning.
elixir is above S tier but it's dynamic typed, but i love it.
I feel like I’m starting to notice a pattern 🤔
Thank you for the comprehensive and thorough analysis of the available functional programming languages, i could wish i had a time to effectively learn them all 😭
Roc is great! It’s the performant pragmatic language with great tooling that I’ve been wanting. The combo of structural records, structural tag unions, and type inference is delightful. And I think some very interesting things will come from the platform design. Definitely worth checking out!
ROC MENTIONED
Heck yeah! Gleam!
Well played!
However, as an F# developer, I wish the base library had been built with FP concepts in mind rather than for C#.
No variant of Lisp in the list? (pun intended)
Where's clojure?
It's not statically typed. If you take a close look in his list are only statically typed functional languages
s teir video
I had to use Oz for studies. What is your opinion on Oz? Is it a functional language? If so, how good is it?
I've never seen it tbh
Everyone who loves the BEAM languages should at least try Oz for contrast. It's functional-reactivity applied to distributed systems.
@@capability-snob BEAM? What do you mean? What makes these languages special?
@@simpleprogrammingcodes logic variables (like the ones Oz uses) for concurrency is a great concept, and feel very functional IMO. Languages that target the BEAM (erlang, elixir, etc) also have concurrent interaction baked into the languages themselves.
if anyone reading this wants to learn more about Oz, check out the book "Concepts, Techniques, and Models of Computer Programming" (2004)
For me this video is S tier.
What about LISP? And Scheme?
Not sure, but I guess S tier :)
I assume he is biased by ML lanugages (like me)
There is now MoonBit, which targets WASM and JS
not a single lisp
No elixir or clojure. why?
Not statically typed
Elixir is in S+ :)
Clojure???
Where is Elixir?
Have you been spying on me recently while I was researching some new languages and just made a video about it?
Damn near everything is S tier here lol
Why does no one ever talk about Idris? (I've never written a line of Idris code)
I encourage you to add Rust to the list (functional languages).
Rust doesn't really meet my criteria for a functional language
@@impurepics Sorry, can you tell me what functional feature Scala has that Rust does not?
@@mohsen744 I think it’s a wrong question. We must consider what language and its ecosystem(s) allow and don’t allow us to do, which are also rooted in values/priorities.
Take, for example, expressiveness and maintainability. Extracting abstractions, re-using functionality, and changing data structures, among other things, are noticeably different experiences in Rust on the one hand and Scala (Haskell, PureScript, whatever) on the other hand.
For instance, compare handling optionality, errors, lists, and async/await in Scala and Rust.
If you want to see more details and examples, I have a video on the FP values (and where Rust differs): czcams.com/video/co-Vg7M4yKw/video.html
Bringing back to functional features; ask yourself: Why is there no function composition in Rust? Why are there 3 function traits in Rust? I reviewed some feature differences in a blog post about Haskell and Rust: serokell.io/blog/rust-vs-haskell
At the end of the day, there is no 1 FP. Ask 10 people what functional programming is and get 7 different answers 😅
Loved it :)
F sharp is F tier
lack of lisps, but based. didn't notice any bias here