Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Scala is not a functional programming language, it is OO first and foremost. It has better support for functional programming than Java 8, Python or Smalltalk. And that in itself is great.


Java 8 has lambdas and lots of streaming functional comprehensions like map, filter, fold etc.

That sounds like all the functional stuff Scala has, right? What's it missing? Also, since when does 'functional' mean 'algebraic types'? Aren't those completely different things? Are common LISP and Scheme 'not as functional as scala'?


Yes Java 8 does have a lot of new functional goodness. But it's still missing a lot even compared to Scala. For example I cannot even do a basic case analysis without involving statements, you have the ternary operator for working with expressions and that's about it. Static type systems, type inference and algebraic datatypes, which I believe to be hugely beneficial, do not define "functional programming" in most peoples minds.


It's more functional than most languages called "functional".




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: