git » homepage.git » master » tree

[master] / archive / forums / hacker-news / raw / items / 1069003.json

{"by":"sreque","id":1069003,"kids":[1069099,1069027,1069060],"parent":1068877,"text":"I think you give Scala a disservice by saying there is no innovation in it. I have programmed in Perl, PHP, Python, Ruby, C/C++, Java, C#, and even a tiny bit of Scheme and Clojure, but Scala is the first language I have seen to so successfully merge the ideas of OOP and functional programming. For instance, someone at EFPL did their PHD thesis on how to combine the features of functional pattern matching with the OOP concepts of encapsulation and information hiding, which you can read at <a href=\"http://biblion.epfl.ch/EPFL/theses/2007/3899/EPFL_TH3899.pdf\" rel=\"nofollow\">http://biblion.epfl.ch/EPFL/theses/2007/3899/EPFL_TH3899.pdf</a>.<p>Another example is their rich collections library, which contains mutable and persistent immutable versions of the standard data structures, and exposes them all through very clean OO abstractions. None of the above languages except maybe clojure even has such a rich collections library built into its standard library, and clojure's dynamic typing allows it to ignore some of the issues that come with designing a clean collections interface.<p>Of all the languages I have used extensively, Scala has the most functional features by far, and it is in this sense that Scala can claim to be a leader in helping functional features become more mainstream and make up new terms like \"post-functional\" :).","time":1264129453,"type":"comment"}