Why does everyone hate Haskell, jazz, and pure math?

Premise: Do People Really “Hate” These Things?

  • Several commenters reject the premise: most people don’t even know what Haskell or pure math are, so “hate” is overstated.
  • Jazz “hate” is seen as more of an internet meme; many find it widely acceptable as background or lounge music.
  • Relative to their domains, jazz, Haskell, and pure math are niche, not widely despised.

Haskell: Promise vs Reality

  • Supporters say Haskell delivers strong software-engineering benefits: powerful types, referential transparency, and expression-based design that make refactoring and correctness easier.
  • Critics argue the language was shaped more by theorists than by practical needs: poor record support, historically rough build tooling, and difficulty integrating into typical industry stacks.
  • Some view Haskell as great for learning and thinking differently about code, but “useless” or impractical for everyday work, especially web development.
  • There’s debate over community culture: past smugness vs a more pragmatic, quieter majority today.

Laziness, Performance, and Space Leaks

  • Skeptics report painful experiences: unpredictable performance, space leaks that were hard to track, and projects ultimately rewritten in other languages.
  • Defenders counter that these are known, solvable issues via strictness annotations, better data structures, and profiling; they compare this to dealing with slowness or undefined behavior in other languages.
  • Some simply prefer strict languages, finding Haskell’s evaluation model too opaque.

Functional Programming and Its Influence

  • Many highlight specific wins: referential transparency, immutability, sum types, and expression-based code that composes well.
  • Others complain about overuse of higher-order chains that hurt readability and obscure performance, especially in imperative languages adopting FP features.
  • Several note that many FP ideas long predate Haskell (e.g., Lisp, ML), and that their migration into mainstream languages is broader than Haskell alone.

Jazz and Pure Math

  • Jazz: perceived difficulty and elitist subcultures coexist with genuine enjoyment; complexity can be either engaging or fatiguing depending on the listener.
  • Pure math: often misunderstood; practitioners describe it as research done for its own sake, with occasional long-delayed applications.
  • There’s disagreement on how much pure math will ever be useful, but recognition that some once-“useless” ideas became foundational.