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 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.
>
>


-- 
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.

Reply via email to