Haha, maybe I was a bit harsh in saying that. However, the three points you mentioned just as well applies to Groovy.
So far, compelling arguments I hear for Scala are 1) Performance, reliability (etc. and all the goodness from static typing), 2) More future proof, taking advantage of the inevitable multicore hardware coming... and I wholeheartedly agree. Point 1, I can't argue, but point 2, that's the benefit of declarative languages, not limited to Scala. Tommy. On Sep 11, 4:11 am, Kevin Wright <[email protected]> wrote: > Java compatibility is absolutely *not* "just a carrot", it cuts to the very > core of Scala's philosophy. This includes: > - running on the JVM > - being able to consume APIs declared in Java > - being able to provide APIs that can be used from Java code > > If you want to define an interface in Java, implement it in Scala, then > subclass that in Java again, you can. This is very useful when working with > libraries that use callbacks. > > I'd also defend scala as a glue/scripting > language:http://www.codecommit.com/blog/scala/scala-as-a-scripting-language > Once you have a grasp of functional concepts, it really helps being able to > work at a higher level of abstraction here. > and if you don't like FP, that's also fine. Type inference still makes it > feel very dynamic. > > Finally, is it your business strategy that your software should continue to > take advantage of hardware improvements over the next 8 years? It's not > uncommon now for server-class hardware to have 8 cores, and following > moore's law, you can expect that number to double every 2 years, giving 128 > cores. > > So take another look at your multi-threaded code, the mutexes, the loving > placed uses of "synchronized", the re-entrant loops, the executors, the > mutable objects and think about them long and hard. Are they thread safe, > across 128 cores? Is that something you can be confident of? > > Then you've got to ask yourself just one more question: "do I feel lucky?". > Well, do ya, punk? > > On 10 September 2010 09:03, Tommy <[email protected]> wrote: > > > > > > > I'm actually glad to hear someone saying Groovy is more prevalent than > > Scala. From what I hear, Scala seems to be getting much more > > traction. > > > You mentioned you'd chose Scala over Clojure because it's easier to > > migrate to. What do you mean by that? Migrate from what and to > > what? Are you sure your company needs to adopt Scala for a strategic > > reason? > > > I'd argue Groovy is even easier to migrate to. By migrate, I mean > > from an organisation skills perspective. Groovy/Grails is very easy > > to pick up, especially for Java developers. It's especially good for > > quick/prototype/RAD type apps. It's also great for maintenance/ > > support perspective, parse XML, testing (both Groovy and Java code), > > scripts to automate day to day task, just great duct tape language in > > general. > > > Now I'm not saying Scala is no good (I plan to start learning it soon > > after I finish my Haskell subject) but it really depends on the > > company. From my experience, companies don't decide to building > > realiable, robust, enterprise apps all the time whereas the small, > > quick, "out the door" apps are more common and Groovy/Grails probably > > suits better. > > > IMHO, it's difficult for Scala to gain widespread use until the > > industry realises the benefit of functional/declarative languages. > > From what I hear, the power of Scala comes from its functional > > aspects, compatibility with Java is merely a carrot to get the Java > > community across. From my limited experience with Haskell so far, > > functional programming requires a different mindset from imperative > > languages and frankly, I don't think the industry is ready for it > > yet. Just remember how long it took for the industry to move from > > procedural languages to OO. If all programmers out there come from a > > Computer Science background then transition to Scala may not be too > > difficult but sadly, that's not the case. > > > From a management/strategic perspective, it's probably more risky to > > adopt Scala too. Imagine a super-duper Scala programming builds this > > awesome enterprise app and leaves. Where are you going to hire the > > skills to support, maintain and extend it? Even if you do find the > > skills, he or she will probably be just as expensive as the super- > > duper Scala programmer that built it in the first place. > > > Tommy. > > > On Sep 10, 12:17 pm, Sean Griffin <[email protected]> wrote: > > > My intention is not as sensational as my subject, but it's succinct so > > > I'll go with it. > > > > In the popular JDK 7 conversation someone made this quote: "On the JVM > > > platform there are only two other languages that I'd consider > > > reasonable for adoption: Scala and Clojure." It's an interesting > > > statement to me given the current culture in my company. I actually > > > agree with this quote, but my reason isn't very scientific: those two > > > just "feel" like hardened options to me that move the thought barrier > > > forward more than others. Between the two I've chosen Scala because > > > a) I didn't like Lisp when I looked into it in college and b) Scala > > > wasn't so black and white, making it easier for me to migrate > > > gradually. > > > > Anyway, the point of my post is to discuss why Groovy is not often > > > mentioned in this group and is specifically left out of the quote > > > above. I don't like dynamic languages, so that's my reason for not > > > looking into it much, but people seem to like it. In my company it's > > > taken off like wildfire. I've tried valiantly to jumpstart Scala in > > > my organization, not because of fanboyism but because I honestly think/ > > > thought it would be the next step forward in the industry and I wanted > > > a head start. Despite this, Groovy is more popular hands down. I'm > > > just going off a feeling, but I'd place a bet that for every Scala > > > developer in my org there are 20 Groovy developers. Granted, most of > > > Groovy's usage is in tests, but it's making its way into production > > > code, particularly in the way of Grails. > > > > So I'd like to hear from others out there why this might be. I know > > > Groovy can be just Java and that you can gradually make your code more > > > "groovy", so it's easier to learn I guess? But that doesn't actually > > > make a ton of sense to me when I think about it because if I look at > > > some Groovy code that's really taking advantage of those features, > > > it's going to look so different than base Java that I suspect it > > > wouldn't be so different than a Java developer looking at someone's > > > Scala code. And the Scala code is type safe! And better supports > > > concurrency/parallelism! (I think). Is it the near nightmare that > > > plagued Scala 2.7 in the tooling space? > > > > I'm curious about everyone's thoughts... > > > -- > > You received this message because you are subscribed to the Google Groups > > "The Java Posse" group.> To post to this group, send email > > [email protected]. > > To unsubscribe from this group, send email > > to>[email protected]<javaposse%2bunsubscr...@googlegroups > > .com> > > . > > For more options, visit this group at > >http://groups.google.com/group/javaposse?hl=en. > > -- > Kevin Wright > > mail / gtalk / msn : [email protected] > pulse / skype: kev.lee.wright > twitter: @thecoda -- 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.
