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

> And what did you gain?

All the functional goodness of easier to reason about code. A much more concise way to express common patterns, and a type system powerful enough to abstract away things that you have to repeat in Java. More dynamism than is possible to use safely in a dynamically-typed language, because I can write code that simply "does the right thing" in a principled, safe way that the reader can confirm by checking the types, whereas in something like Python it would be impossible for a reader to see whether that code was buggy.

> It is just a different syntax, that is nicer than Java on one hand, but also big and not straightforward on the other

Actually the syntax is often more straightforward than Java's. E.g. {} just means a block in a sense that's handled consistently everywhere in Scala, whereas in Java {} are required on a try/catch or a method but optional on an if/else.

> making core 'half-functional' does not bring any benefits in terms of composability, concurrency, reasonability (about the code).

Of course it does, or at least if it doesn't then the whole functional programming effort is a mistake. Any "pure" core is a) relative to some notion of equivalence that might or might not correspond to the things that are important to your particular problem and b) doesn't do anything without an impure interpreter. See e.g. http://conal.net/blog/posts/the-c-language-is-purely-functio...



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

Search: