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

I think Gary was way ahead of the industry when he did this talk in 2012. Today it's common to look at Erlang, Haskell and other good but previously unpopular languages and retrofit their ideas to your language of choice (or build something like Elixir/Kotlin/Swift). But back then Ruby/Python/Java/etc devs would usually not look at anything else because functional programming was only something you might have heard in university and OOP was clearly the only way to build practical software.

For me this talk was especially great as he only explains the problems, possible solutions and their trade-offs and leaves the (clear?) conclusion to the audience instead of shoving "you should really use X because it's awesome" down their throat.



> I think Gary was way ahead of the industry when he did this talk in 2012. Today it's common to look at Erlang, Haskell and other good but previously unpopular languages and retrofit their ideas to your language of choice (or build something like Elixir/Kotlin/Swift). But back then Ruby/Python/Java/etc devs would usually not look at anything else because functional programming was only something you might have heard in university and OOP was clearly the only way to build practical software.

Ruby and Python were incorporating things from FP long before 2012; the idea that Ruby and Python were pure-OOP and not following inspiration from languages with other primary paradigms before that is simply historically inaccurate, Ruby and Python were never dominated by OOP-is-the-one-true-way philosophy.


I'm not talking about superficial syntax like map/filter for collections. The notion of keeping the majority of your code side-effect-free with immutability, built-in concurrency and message-passing as idiomatic parts of the language/ecosystem is to this day uncommon and partially impossible in Python/Ruby.

http://blog.jenkster.com/2015/12/what-is-functional-programm...




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

Search: