why did the functional programming meme die out?

why did the functional programming meme die out?

Thalidomide Vintage Ad Shirt $22.14

Homeless People Are Sexy Shirt $21.68

Thalidomide Vintage Ad Shirt $22.14

  1. 3 weeks ago
    Anonymous

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

    • 3 weeks 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. 3 weeks ago
    Anonymous

    even russia neetceleb moved on

  3. 3 weeks 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

    • 3 weeks 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

    • 3 weeks ago
      Anonymous

      This https://youtu.be/wyABTfR9UTU

      • 3 weeks ago
        Anonymous

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

    • 3 weeks 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.

      • 3 weeks 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. 3 weeks 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. 3 weeks 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"

    • 3 weeks 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

      • 3 weeks 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.

        • 3 weeks 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.

      • 3 weeks ago
        Anonymous

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

  6. 3 weeks ago
    Anonymous

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

  7. 3 weeks ago
    Anonymous

    i love it and the ideas

  8. 3 weeks ago
    Anonymous

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

  9. 3 weeks 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. 3 weeks ago
    Anonymous

    Haskell!

  11. 3 weeks ago
    Anonymous

    JavaScript is very functional.

  12. 3 weeks ago
    Anonymous

    Purity by default is good

    • 3 weeks ago
      Anonymous

      >t. virgin

  13. 3 weeks 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

    • 3 weeks 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. 3 weeks 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.

    • 3 weeks ago
      Anonymous

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

      • 3 weeks ago
        Anonymous

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

        • 3 weeks 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.

          • 3 weeks 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. 3 weeks ago
    Anonymous

    cose white people invent BASIC

  16. 3 weeks ago
    Anonymous

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

  17. 3 weeks 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. 3 weeks ago
    Anonymous

    afaik nubank still uses scala tho

    • 3 weeks 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. 3 weeks 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. 3 weeks 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?

    • 3 weeks 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. 3 weeks 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.

    • 3 weeks 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?

      • 3 weeks ago
        Anonymous

        where is
        justFrickingGiveMeMyValueBack :: m a -> a

        • 3 weeks 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.

        • 3 weeks 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?

          • 3 weeks 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.

          • 3 weeks ago
            Anonymous

            The State and Continuation monads also contain no values.

      • 3 weeks 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)

      • 3 weeks 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.

        • 3 weeks 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.

      • 3 weeks ago
        Anonymous

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

        • 3 weeks 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 ++ "!"

      • 3 weeks ago
        Anonymous

        Frick your gay syntax

  22. 3 weeks 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.

    • 3 weeks 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.

      • 3 weeks 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. 3 weeks 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. 3 weeks ago
    Anonymous

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

  25. 3 weeks ago
    Anonymous

    too hard for jeets to understand maybe?

  26. 3 weeks ago
    Anonymous

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

  27. 3 weeks ago
    Anonymous

    FP won and became the norm

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