why did the functional programming meme die out?

why did the functional programming meme die out?

Thalidomide Vintage Ad Shirt $22.14

CRIME Shirt $21.68

Thalidomide Vintage Ad Shirt $22.14

  1. 1 month ago
    Anonymous

    Because it's mental masturbation for midwits and nothing of value has been made using it.

    • 1 month ago
      Anonymous

      >memes

      >for midwits
      When the midwits couldn't hang or handle the bants when they tried to meme, they dropped it because why keep putting your hand in the fire?

  2. 1 month ago
    Anonymous

    even russia neetceleb moved on

  3. 1 month ago
    Anonymous

    because functional aspects have been already absorbed in most imperative languages, we all have lambdas, sum types and whatever
    functional languages are dead

    • 1 month ago
      Anonymous

      this
      only academics care about monads and purity and shit so Haskell and co are still memelangs, but the useful parts of them have been adopted

    • 1 month ago
      Anonymous

      This https://youtu.be/wyABTfR9UTU

      • 1 month ago
        Anonymous

        God fricking damn it. Now I have to go on another 'Dont recommend channel' spree.

    • 1 month ago
      Anonymous

      Because it's no longer necessary for it to be a meme. It won. Even in Python you have basic FP support.

      Only Haskell really lost, which was inevitable because purity and laziness by default are gay and useless.

      Shit lipstick on function pointers. Code-as-data has always been a thing, and FP weenies have no special claim to the idea beyond polluting it with ideological nonsense. You guys don't understand how close C came to not being a horrible language if it had just not been lynched by forward declarations, stupid build systems, and bikeshedding committee morons who like jacking off to undefined behavior.

      • 1 month ago
        Anonymous

        >polluting it with ideological nonsense.
        Fp were one of the last ones to troon out

        Exactly what happened to OOP.
        It's a flawed paradigm that ignores how computers actually work in favour of some theoretical bullshit. The few useful ideas it had were plucked by imperative langs and the rest of the bloated corpse was deservedly thrown out.
        For OOP it was methods and interfaces. For FP its lambdas, sum types, and pattern matching.

        >how computers actually work
        I don't care 2bh sounds like the compilers problem

  4. 1 month ago
    Anonymous

    Because it's no longer necessary for it to be a meme. It won. Even in Python you have basic FP support.

    Only Haskell really lost, which was inevitable because purity and laziness by default are gay and useless.

  5. 1 month ago
    Anonymous

    > A diffeomorphism is an invertible function that maps one differentiable manifold to another such that both the function and its inverse are differentiable
    > The function taking a set of sets of subsets to the set of subsets of A with the property that one of the sets of sets of subsets is the set of all sets of subsets of A that include that particular subset as an element
    > A monad is a triple (T, n, u) where T is an endofunctor T: X -> X and n: I -> T and u: T x T -> T are natural transformations satisfying the identity property of u(n(T)) = T = u(T(n)) and the associative property of u(u(T x T) x T)) = u(T x u(T x T))
    Turns out functional programmers tend to have extremely poor communication skills and struggle with explaining not only what functional programming is good for, but even what it fricking is.

    You shouldn't need a mathematics PhD to tell someone "A monad is a function that encapsulates side effects like I/O"

    • 1 month ago
      Anonymous

      >You shouldn't need a mathematics PhD to tell someone "A monad is a function that encapsulates side effects like I/O"
      That's not what a monad is though. That's just one application of monads.

      https://wiki.haskell.org/All_About_Monads

      • 1 month ago
        Anonymous

        To be fair I read like 70% of a Haskell book and still can't really explain what a Monad is. The closest I can describe it as is currying functions.

        • 1 month ago
          Anonymous

          I have a hard time explaining it too which is why I linked the wiki page. It's really not a complicated concept but it's really general which makes explaining it precisely without mathematical jargon hard.

      • 1 month ago
        Anonymous

        Monads As "Programmable Semicolons"
        http://blog.vmchale.com/article/programmable-semicolon

  6. 1 month ago
    Anonymous

    Because every thread turns into monad circle jerking, people who were genuinely interested just moved on

  7. 1 month ago
    Anonymous

    i love it and the ideas

  8. 1 month ago
    Anonymous

    JavaScript is the most deployed language in the world. I would not call that "dead" just yet.

  9. 1 month ago
    Anonymous

    other languages stole the good parts (immutable by default, unions, pattern matching, lambdas, higher order functions, recursion) and let the academic masturbation part in the trash where it belongs

  10. 1 month ago
    Anonymous

    Haskell!

  11. 1 month ago
    Anonymous

    JavaScript is very functional.

  12. 1 month ago
    Anonymous

    Purity by default is good

    • 1 month ago
      Anonymous

      >t. virgin

  13. 1 month ago
    Anonymous

    With the exception of parsing text problems that can be solved in a pure functional style are toy problems to begin with. Monadic parsers are cool, but they are backtracking and thus inefficient. Even the guy who wrote Shellcheck says he regrets writing it in a toy language (Haskell).

    I’m hoping we get something in the same vein as functional languages, but with more of a focus on practicality and efficiency. I have no idea if that will ever happen though

    • 1 month ago
      Anonymous

      He didn't say that you disingenuous frick, he said that Heskell was probably not a good choice for a widely used tool/large scale project but ideal for a hobby project.

  14. 1 month ago
    Anonymous

    The human mind perceives reality as a set of objects, not as a set of phenomena, actions or operations. So if you use the first paradigm, it is easier to train a bigger workforce.

    • 1 month ago
      Anonymous

      The human mind of humans before modernity perceived phenomena as well, look into Aristotle's 4 "becauses".

      • 1 month ago
        Anonymous

        I mean Ok but what is the hegemonical paradigm today? To fill a form.

        • 1 month ago
          Anonymous

          Autism - aka only 2 of the 4 causes applied to everything.
          Let's break the mold, let's be fully humans not bugmen.

          • 1 month ago
            Anonymous

            Totally agree, but it is necessary to reach a considerable amount of people in order to create a new workforce with a new paradigm. You need to reach a critical mass in the order of magnitude of thousands and that those thousands are not functional primates, but competent thinkers capable of not only implementing business logic but also being able to build their own tools.

  15. 1 month ago
    Anonymous

    cose white people invent BASIC

  16. 1 month ago
    Anonymous

    Because programming was dominated by autists and the entire domain is autistic.
    Non bugman languages, paradigms scare them away.

  17. 1 month ago
    Anonymous

    Because it cannot solve problems with state without hidding it under the rug with "sideeffects" and other tricks.
    And 99% of the problems are state-heavy.
    Which is why procedural and OOP won.
    These two also provide a way of organising logic with modules and classes, vs FP's approach of having a bunch of functions floating around.

    The only useful parts of FP got gayocited into regular OO languages.

  18. 1 month ago
    Anonymous

    afaik nubank still uses scala tho

    • 1 month ago
      Anonymous

      it's clojure, they even bought the language committee or whatever so now clojure is literally owned by a bank
      look it up

  19. 1 month ago
    Anonymous

    >ape the 10th functional programming feature into a new language migrate entire codebases
    Functional programming is dead we'll never need another functional programming feature again.
    >ape the 11th fp feature into a new language, migrate entire codebases...

  20. 1 month ago
    Anonymous

    it sucks.

    I do remember watching a speaker at a local code meetup tell us all about Clojure and functional programming and how great it was, but then explain how it took him so long to code a project in that he gave up and wrote it in Kotlin. I wasn't really sure what to take away from that. Did he have a change of heart halfway through writing his speech?

    • 1 month ago
      Anonymous

      Uncle bob wrote a spacewar game in Clojure and bragged on his blog that he could get frame rates in the "high 20s" and that clojure was not slow.
      Picrel is his game.

      The blog post: https://blog.cleancoder.com/uncle-bob/2019/08/22/WhyClojure.html

  21. 1 month ago
    Anonymous

    nobody could give a definition for monads and functors... if you don't know what they are, how can you even use it.

    at best, functional bros, will tell you to just start doing it and after a few years you will feel what a monad is.

    • 1 month ago
      Anonymous

      There’s no reason to be filtered by monads. It’s literally just
      return :: a -> m a

      >>= :: m a -> (a -> m b) -> m b

      What’s so hard about this?

      • 1 month ago
        Anonymous

        where is
        justFrickingGiveMeMyValueBack :: m a -> a

        • 1 month ago
          Anonymous

          Doesn’t exist.
          A list has more than one value.
          Maybe and Either might not have a value at all.
          The forgetful monad has no value.

        • 1 month ago
          Anonymous

          This. Also sometimes you need a m a -> (a -> b) -> m b. I think there are some other type classes which implement these

          Doesn’t exist.
          A list has more than one value.
          Maybe and Either might not have a value at all.
          The forgetful monad has no value.

          >A list has more than one value.
          The second value of the list is a list so to keep the types correct

          unreturn (a:_) = a

          Which is head. And it doesn't make sense to get back something from the empty list so non exhaustive match
          >Maybe and Either might not have a value at all.
          >The forgetful monad has no value.
          Just error out?

          • 1 month ago
            Anonymous

            >Just error out?
            Not every language with monads allows partial functions.
            If you want an unreturn, simply define a new type and program in the unreturn monad.

          • 1 month ago
            Anonymous

            The State and Continuation monads also contain no values.

      • 1 month ago
        Anonymous

        I know what a monad is, moron, its a pipeable function.. still won't use it though.

        ```if(err) return null ```

        all the way, frick this meme autist bullshit. I rtather write some more lines (having places where to put debug breakpoints as well), then use a chain of functions

        pic related, this is how I visualise FP in my mind (and also the people using FP)

      • 1 month ago
        Anonymous

        Wrong moron. That is the shape of a monad, but now it needs to also comply with the 3 properties of a monad.

        Otherwise it is not a monad.

        • 1 month ago
          Anonymous

          Yeah, sure, sorry. I find the barrier to most people’s understanding is that they think there’s something magical about Monads when they’re really quite simple.

          And if I’m a moron, you’re equally moronic, because you didn’t say anything about Functor.

      • 1 month ago
        Anonymous

        why does >>= take ( a -> m b ) instead of ( a -> b )?

        • 1 month ago
          Anonymous

          Because that's what `fmap` (aka `<$>`) is for.
          Examples:
          (+) 2 <$> Just 2 -- Evaluates to Just 4

          -- A little program to ask your name.
          name_prog = putStrLn "What's your name?" >>= _ -> getLine >>= name -> putStrLn $ "Hello " ++ name ++ "!"

          -- Easier to read version. Exactly the same.
          name_prog = do
          putStrLn "What's your name?"
          name <- getLine
          putStrLn $ "Hello " ++ name ++ "!"

      • 1 month ago
        Anonymous

        Frick your gay syntax

  22. 1 month ago
    Anonymous

    Exactly what happened to OOP.
    It's a flawed paradigm that ignores how computers actually work in favour of some theoretical bullshit. The few useful ideas it had were plucked by imperative langs and the rest of the bloated corpse was deservedly thrown out.
    For OOP it was methods and interfaces. For FP its lambdas, sum types, and pattern matching.

    • 1 month ago
      Anonymous

      >how computer works
      Solving a problem in terms of high level abstractions related to the problem domain instead of how a low level machine works is absolutely essential, moron.
      OOP is still valid since, most of the times, everything is an object.

      • 1 month ago
        Anonymous

        >Solving a problem in terms of high level abstractions related to the problem domain instead of how a low level machine works is absolutely essential
        If you can't do both simultaneously, you have no business calling anyone else a moron.

        If you write Haskell without understanding the STG machine and how it works, or at the very least how a graph reduction execution model works, then I don't really care to hear anything you have to say.

  23. 1 month ago
    Anonymous

    It didn't. The most useful parts of functional programming made it into mainstream.
    Most data scientists write pandas/spark code in a very functional fashion.
    In fact, the whole ORM scam exists to accommodate imperative-brained grugs who couldn't write functional style code if their life depended on it.
    Plus all the very cool features that are now in all modern languages like match, ADTs, folds, monadic error handling, sometimes covariance/contravariance notations, etc.

  24. 1 month ago
    Anonymous

    Have they released a new Haskell standard after 2010? Do I still have to enable extensions manually one by one?

  25. 1 month ago
    Anonymous

    too hard for jeets to understand maybe?

  26. 1 month ago
    Anonymous

    Even php is functional, it even has "Closure Classes" lol

  27. 1 month ago
    Anonymous

    FP won and became the norm

Your email address will not be published. Required fields are marked *