Hi Tommy, You're making a lot of good points.
I also think that in terms of ease of migration path from Java, the order is 1) Groovy, 2) Scala and 3) Clojure (with a big gap behind number 2). Clojure is a great Lisp but the fact that it doesn't support OOP is a deal breaker for a lot of organizations, which means that it will probably only ever be used as a glue scripting language. -- Cédric On Fri, Sep 10, 2010 at 1:03 AM, 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 to [email protected]. > To unsubscribe from this group, send email to > [email protected]<javaposse%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/javaposse?hl=en. > > -- Cédric -- 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.
