« Return to Thread: [scala] Risks of using Scala in a large application?

Re: [scala] Risks of using Scala in a large application?

by Sean McDirmid :: Rate this Message:

Reply to Author | View in Thread

The new Scala IDE plugin is a large code base written in Scala that
interacts pretty well in a Java-centric Eclipse ecosystem. As far as
interoperability goes, there are some tool issues (inter-language
refactoring), but things are very comfortable at the runtime/code
level.

The biggest risks I see are:

(1) Scala-centric libraries are more difficult to use in Java because
they heavily rely on Scala features (closures, traits, type
parameters). They especially become more functional, which is
inconvenient (though not impossible) to deal with in Java. Java
libraries require some amount of wrapping before they become
convenient to use in Scala (see scala.collection.jcl for an example).

As for (1), I believe that whether or not Scala catches on, Java won't
catch up and there always be something out there that is kind of
functional on the chase to replace it (e.g., I don't think you will
migrate Scala code to Java, but Scala to whatever static Ruby/Python,
UberJava++, and so on). Java is dying.

(2) Once you program in Scala, its hard to go back to less
programmer-friendly languages such as Java or C#. If you have to code
in Java for a living, it can be painful knowing there are better
options available that you can't use in your day job. Psychologically,
I believe this is a real issue, but it depends on how passionate you
are about programming (some people are probably content to program in
anything they are told to).





On Wed, May 7, 2008 at 12:33 PM, Ashley Aitken <mrhatken@...> wrote:

>
>  Howdy All,
>
>  Scala seems to me, from my quick introduction, what Java may be like in 5+
> years.
>
>  So using Scala can give one a competitive advantage.  However, there is
> often risk associated with such a decision.  As a result, I've just popped
> in to ask this question, which is mostly from a business risk angle, but
> this relates to technical issues regarding Java and Scala.
>
>  What are the risks of using Scala in a large Enterprise application?
> Mostly I mean in relationship to compatibility with Java, interaction with
> Java libraries (will Scala limit this) and tools, Java interaction with
> Scala classes etc.
>
>  The low risk situation would be that Java and Scala are completely
> interchangeable, if I write something now in Scala it won't limit me and I
> could replace it with Java in the future if need be (e.g. if/when Java
> catches up and/or Scala doesn't catch on) without any trouble.
>
>  Of course there are other risk: finding developers that are competent
> enough in Scala, IDE tooling for Scala, longevity of Scala, and any
> discussion of these would also be appreciated.
>
>  I hope this sort of question is ok for this mailing list.
>
>  Cheers,
>  Ashley.
>
>  --
>  Ashley Aitken
>  04 1226-8159 (Mb)
>  08 9368-5505 (Ph)
>  Perth, Western Australia
>  Skype/iChat: MrHatken (GMT + 8hrs!)
>
>
>

 « Return to Thread: [scala] Risks of using Scala in a large application?