Ranking Functional Programming Languages (Why I'm Biased and Excited)

Sdílet
Vložit
  • čas přidán 27. 08. 2024

Komentáře • 59

  • @amr3162
    @amr3162 Před 2 měsíci +67

    Based, and absolutely unbiased :)

  • @NiDeCo
    @NiDeCo Před 2 měsíci +80

    My man just disguised an introduction to which functional programming languages there are as a ranking video, just because it gets the clicks... touché.

  • @HonzaPokorny
    @HonzaPokorny Před 2 měsíci +45

    Where are the lisps? 🙂

    • @pierrefley5000
      @pierrefley5000 Před 2 měsíci

      If Lisp counts as a functional language, then so does Perl.

    • @ninjaaron
      @ninjaaron Před 2 měsíci +9

      @@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.

  • @eeronat
    @eeronat Před měsícem +6

    You're right, the square hole

  • @ZombieJig
    @ZombieJig Před 2 měsíci +17

    I would chose F# due to the strength of the standard library, which is in my view as important as the language.

    • @lilbigdooter
      @lilbigdooter Před 2 měsíci +2

      It's also got the most consistent editor tooling in my experience, although I haven't tried every language on the list

    • @roelhemerik5715
      @roelhemerik5715 Před 2 měsíci

      Its also the least “functional” functional programming language of the bunch, especially when you use that extended standard library.

    • @the_mastermage
      @the_mastermage Před 2 měsíci

      @@roelhemerik5715 Isnt that due to the fact it can use most of .NET which is mainly based in C# to begin with?

    • @OverG88
      @OverG88 Před měsícem +1

      Kind of disappointed by F#. A lack of idiomatic libraries is very evident. I found myself backpaddling a lot to imperative "C# like" style.

  • @protosevn
    @protosevn Před 2 měsíci +5

    Least biased programming tier list video :D

  • @arnvgh
    @arnvgh Před měsícem +1

    until you realize, the real tier list is hidden in the order of choosing them.

  • @user-vz9cq8ci9b
    @user-vz9cq8ci9b Před 2 měsíci +8

    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

    • @sigmundwong2489
      @sigmundwong2489 Před 2 měsíci +1

      Gotta love Idris2! Dependent types, quantitative types, fancy interactive compiler, eager rather than lazy... and single colon for type annotations. \*chef kiss\*

    • @kilianvounckx9904
      @kilianvounckx9904 Před 2 měsíci +2

      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

  • @ukrustacean
    @ukrustacean Před 2 měsíci +3

    Cool. Absolutely loved the video ❤
    Probably I need to spend some time this weekend checking out Unison and Gleam 🤔

  • @megaman13able
    @megaman13able Před 2 měsíci +15

    No elixir??

    • @avinashsridhar7124
      @avinashsridhar7124 Před 2 měsíci +9

      I think he prefers statically typed languages, he mentioned it at the beginning.

    • @jatlineur
      @jatlineur Před měsícem +1

      elixir is above S tier but it's dynamic typed, but i love it.

  • @mctechcraft7
    @mctechcraft7 Před 2 měsíci +4

    I feel like I’m starting to notice a pattern 🤔

  • @Mglunafh
    @Mglunafh Před 2 měsíci +1

    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 😭

  • @isaacvandoren4733
    @isaacvandoren4733 Před 2 měsíci +1

    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!

  • @lpil
    @lpil Před měsícem +2

    Heck yeah! Gleam!

  • @UrsEnzler
    @UrsEnzler Před 2 měsíci

    Well played!
    However, as an F# developer, I wish the base library had been built with FP concepts in mind rather than for C#.

  • @Jankoekepannekoek
    @Jankoekepannekoek Před 2 měsíci +2

    No variant of Lisp in the list? (pun intended)

  • @user-gd3ch9ix1x
    @user-gd3ch9ix1x Před měsícem +1

    Where's clojure?

    • @MarkusBurrer
      @MarkusBurrer Před měsícem

      It's not statically typed. If you take a close look in his list are only statically typed functional languages

  • @sayanmallick2644
    @sayanmallick2644 Před 2 měsíci +8

    s teir video

  • @simpleprogrammingcodes
    @simpleprogrammingcodes Před 2 měsíci +1

    I had to use Oz for studies. What is your opinion on Oz? Is it a functional language? If so, how good is it?

    • @impurepics
      @impurepics  Před 2 měsíci +1

      I've never seen it tbh

    • @capability-snob
      @capability-snob Před 2 měsíci

      Everyone who loves the BEAM languages should at least try Oz for contrast. It's functional-reactivity applied to distributed systems.

    • @simpleprogrammingcodes
      @simpleprogrammingcodes Před 2 měsíci

      @@capability-snob BEAM? What do you mean? What makes these languages special?

    • @capability-snob
      @capability-snob Před 2 měsíci

      ​@@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.

    • @stercorarius
      @stercorarius Před 2 měsíci

      if anyone reading this wants to learn more about Oz, check out the book "Concepts, Techniques, and Models of Computer Programming" (2004)

  • @dusilva3796
    @dusilva3796 Před měsícem

    For me this video is S tier.

  • @victorpinasarnault9135
    @victorpinasarnault9135 Před 2 měsíci +6

    What about LISP? And Scheme?

    • @smallcat2820
      @smallcat2820 Před 2 měsíci +2

      Not sure, but I guess S tier :)

    • @MarkusBurrer
      @MarkusBurrer Před měsícem

      I assume he is biased by ML lanugages (like me)

  • @musicalintuition
    @musicalintuition Před měsícem

    There is now MoonBit, which targets WASM and JS

  • @timedebtor
    @timedebtor Před 2 měsíci +2

    not a single lisp

  • @jhonyhndoea
    @jhonyhndoea Před 2 měsíci +3

    No elixir or clojure. why?

  • @jsonkody
    @jsonkody Před měsícem

    Elixir is in S+ :)

  • @balogunakanbi6329
    @balogunakanbi6329 Před 2 měsíci +1

    Clojure???

  • @iraqinationalist7778
    @iraqinationalist7778 Před 2 měsíci +2

    Where is Elixir?

  • @Danielo515
    @Danielo515 Před 2 měsíci

    Have you been spying on me recently while I was researching some new languages and just made a video about it?

  • @nanonkay5669
    @nanonkay5669 Před měsícem

    Damn near everything is S tier here lol

  • @oserodal2702
    @oserodal2702 Před 2 měsíci

    Why does no one ever talk about Idris? (I've never written a line of Idris code)

  • @mohsen744
    @mohsen744 Před 19 dny

    I encourage you to add Rust to the list (functional languages).

    • @impurepics
      @impurepics  Před 19 dny

      Rust doesn't really meet my criteria for a functional language

    • @mohsen744
      @mohsen744 Před 9 dny

      @@impurepics Sorry, can you tell me what functional feature Scala has that Rust does not?

    • @impurepics
      @impurepics  Před 9 dny

      ​@@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 😅

  • @tusharadhatrao4749
    @tusharadhatrao4749 Před 2 měsíci

    Loved it :)

  • @hyperrealhank
    @hyperrealhank Před 2 měsíci +2

    F sharp is F tier

  • @Son0fBeelzebub
    @Son0fBeelzebub Před 2 měsíci

    lack of lisps, but based. didn't notice any bias here