There's a fundamental difference between writing a library and consuming a library. My point was two-fold: 1. People say Scala is complex, but the actual examples that attempt to prove this complexity are rare. Features that support *writing* DSLs are often used as those examples. I've done a fair amount of Scala development. I have yet to write a DSL. 2. Capabilities that currently exist in Java are simpler in their Scala equivalent
I never said you can't *use* a library that uses DSLs. Actors are a DSL, and they come with the core scala-library. Certainly use them! I won't be able to use Java 7 for probably 4 more years. I can't even use Java 6 yet because I have to remain compatible with a Java 5 JRE. Lombok could give me easier data classes but wouldn't allow me to use them in pattern matches. Google's collection library is great, and Lombok sounds pretty good, too. But I think that was slightly tangential to my argument. I was discussing the content of the blog post and not really saying that everyone should switch over to Scala, only that it's worth a serious look. Finally, the whole "drastic as switching to an entirely new language" argument doesn't hold much water with me. Learning the language is a one time thing. Learning each new library's API or framework, regardless of the language, is a continual thing and we never question that! I write software in Java, SQL, a proprietary scripting language, Batch scripting, JavaScript, Visual Basic, C++, XSLT while also interfacing with RTF and XSL-FO. Nevermind the frameworks and other libraries I have to use and the real-world challenges I have to solve using these technologies. Adding Scala to the mix is nothin'. On Sep 15, 10:42 pm, Reinier Zwitserloot <[email protected]> wrote: > This argumentation of "If you don't like the DSL stuff don't use it" > isn't convincing, at least not for me. > > You can't just throw out half of a language. I have to look at code > written by others. I want to use libraries that say "for Scala" (or > even: "For JVM"). I don't want to wait for a library that says "For > Scala, and, oh, we don't use those particular features you didn't > like". That doesn't scale in a world where code is shared between more > than 1 developer. > > Also, if you want accurate equals, hashCode, getters, and setters, > then, use Project Lombok. Strings in Switch will be coming in the now > accelerated JDK7 (It's one of the features already completed). Use > guava for a nice collections library. The few places where scala does > significantly more type inference than java are either rarely > applicable, actively disliked (in my experience) by those who would > like to "throw out the DSL stuff", or it's inference of generics in > variable assignments, which is also coming in JDK7 (diamond operator > is also finished and won't have to wait for 8). That's most of the > features on that list covered already, without having to do anything > as drastic as switching to an entirely new language. > > If you're going to go with scala, go whole hog. I don't see the point > of using scala as a java with slightly more cleaned up syntax. It's > not worth the trouble of switching if that's all you're going to do. > > On Sep 16, 5:12 am, Sean Griffin <[email protected]> wrote: > > > > > Ok, it wasn't my intention to change the subject...not sure how that > > happened. Also, I think I was incorrect about setters on case > > classes...not sure you can actually do that. It's been a few months > > since I've actually programmed in it. I just review everyone else's > > code these days... -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
