I don't see why Ruby/Scala interop should be more difficult than Ruby/Java interop.
29 karma · joined March 25, 2013
I don't see why Ruby/Scala interop should be more difficult than Ruby/Java interop.
I only worked in a small team so far (3 devs) and had a good experience introducing Scala, but I can imagine that with people who have previous Scala experience and "their own style" can be problematic.
Unfortunately I did not understand the specific reasons he gave, but it had to do something with reification.
But of all the other libraries I tried (jOOQ, ScalikeJDBC, and some others) none of them were as elegant and easy to use as Slick, although some of them are easier to set up.
Right now, Slicks SQL queries are not optimized, so you better use a db that's good at query optimization (i.e. not MySQL 5.6, which will do unnecessary full table scans for some of slicks generated SQL)
The article also highlights that adopting Scala often also means adopting a more functional programming style.
Autowire seems like a first step towards a framework like Google Web Toolkit, where client and server code can be written in the same language. The questions is then, what can we learn from GWT and what can be done better?
Maybe Java was the reason why GWT never became widespread (being less flexible than Javascript with closures and stuff), but this should have changed with Java 8?
I can see why the corner cases of CanBuildFrom are perceived as very troublesome, but I have to say that after working with Scala for many years now, this has never been an issue in practice.
I feel that the Scala community has learned a lot in the past 2 years and I applaud all the ongoing simplification efforts that are being done all over the Scala community. (That's not to say Scala is for everyone)
Right now, there are a lot of frameworks to choose from and to evaluate. And there are a lot of "experiments" going on. I think that this will improve as the community matures and settles on fewer ways to do things.
We've been using Scala now for 18 months in production, and I sometimes feel that library designers need to step back and try to not overuse the power of the language.