Skip to content
0:00 / 0:00

#scala#functionalprogramming#jvm

Functional Programming is Terrible

InfoQ

234K subscribers • 59 videos on Hallway • Conference channel

YouTube
  • Recommended by 3 people: 1 on Lobsters and 2 in engineering communities.
  • A classic. People kept recommending it from 2016 to 2021.
  • Presented by Rúnar Bjarnason
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

267K views12 years ago3 recommendations

Programming languagesSoftware designFunctional programmingScala

Rúnar Bjarnason plays devil's advocate to address the shortcomings and practical limitations of functional programming, particularly in Scala.

Rúnar Bjarnason loves functional programming, but here he plays devil's advocate and addresses some of its shortcomings. (Don't worry, there's a happy ending). ** Scala training from NewCircle: newcircle.com/category/scala nescala.org/

Why it's here

3 people recommend this

What people say. Recommended for its interesting perspective on the limitations of Scala and the JVM, and the benefits of functional programming.

u/britishmuttin r/functionalprogramming • Recommends

On “Looking for resources about popularity of functional programming”

Not sure if they count as credible sources for your needs, but I enjoyed these talks on this subject: "Why Isn't Functional Programming The Norm?" (Richard Feldman, Clojure 2019) "Object Oriented Programming vs Functional Programming" (Dave Farley) "Functional Programming is Terrible" (Rúnar Bjarnason, NEScala 2014)

pushcxon Lobsters • Recommends

Practical Limitations of Scala I rewrote this inaccurate title, he's talking about limits of the JVM on Scala. At 17:25 he shifts into the benefits of FP in a way that'd be interesting even to non-Scala developers.

u/SV-97in r/ProgrammingLanguages • Recommends

On “What's your favorite programming language? Why?”

Just gotta plug this "Why functional programming is terrible \in scala\" talk I've recently seen [video I honestly don't get why so many people seem to like the language - I find it pretty terrible all around.

u/pipocaQuemadain r/haskell • Mentions

On “Haskell vs Scala for the core product”

See e.g. Ed Kmett's comment from a year ago, Runar's talk on why FP in Scala is terrible, etc.

u/marcinzhin r/haskell • Mentions

On “Why tail call optimization is important in functional languages?”

You should totally ask us, on r/scala, for our *rich* experience with dealing with lack of TCO... Background: Scala is the only other popular language, that like Haskell, supports higher kinded types. So you can use monads in Scala. But unlike Haskell, Scala doesn't support full TCO. The consequence, in general, is having to accept overhead in performance and elegance. But it can be worse: you may be forced to abandon your technique, as impossible to implement practically (AFAIK, `ContT` is such case). Examples: - Functional Programming is Terrible (tongue in cheek title) - My own question to r/scala: Why both Scalaz & Cats define StateT differently from Haskell (I still don't unders…

u/ithikain r/haskell • Mentions

On “Functional programming and condescension”

The offensive talk being given on a previous occasion.

u/pipocaQuemadain r/haskell • Mentions

On “What are Haskellers' critiques of Scala?”

'Typeclasses' in Scala are very brittle. Instead of real typeclasses, you instead have an implicit conversion from your type to the implementation of the typeclass. For example, in the scalaz library, there's an implicit conversion from ListA to FunctorOpsList[A]. [/u/edwardkmett did a good video about reasoning about real typeclasses vs implicits], but there's a number of annoyances that are Scala specific: 1. Implicit conversions have to be unique within a baroque set of precedence rules. That's really not a good thing. 2. Implicits only search for the current type. If the value you have is of type SomeA? You won't find a ToFunctorOpsSome[A], anywhere; you'll need to explic…