Skip to content
0:00 / 0:00

#scala#functionalprogramming#jvm

Functional Programming is Terrible

InfoQ

234K subscribers • 65 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.

Moments people linked to

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/MasGuiin r/scala • Mentions

On “Functional Programming in Scala for Mortals”

Omg the quotes + links are hilarious: * "Functional Programming is Terrible." — Rúnar Bjarnason * "Very elegant, very FP, very monadic, very slow." — Li Haoyi * "Please. Stop. Saying. This. Please." — Kelley Robinson * "Please, don't do this in Scala!" — Martin Odersky * "The language seems too complex to make tooling for!" — Mariano Gappa (not a sponsor of ENSIME)

u/woztzyin r/scala • Mentions

On “Material to learn Scala”

I think it's a great book to learn Scala from. It's an introduction to typed functional programming written by authors who believe that it's the only sane way to do programming; this perspective is useful to understand for somebody new to the language, and the book doesn't require any prior knowledge of Scala to work through it. Programming in Scala is excellent in terms of explaining why the language is designed the way it is, and giving a tour through the features of the language and its standard library. FPiS offers stronger opinions on how to design composable, type-safe programs.
4View on Reddit

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…