On 31 Jan 2013, at 12:47, Bela Ban <bban(a)redhat.com> wrote:
>
> On 1/31/13 1:37 PM, Manik Surtani wrote:
>>
>> On 31 Jan 2013, at 12:35, Mircea Markus <mmarkus(a)redhat.com
>> <mailto:mmarkus@redhat.com>> wrote:
>>
>>> I don't think that encouraging scala code is good purely for
>>> maintenance reasons. If there's a choice, it should be java. Not
>>> saying that learning a new language is not cool - but in practice
>>> people are a bit put off by maintaining Scala code. Its not only
>>> about what the writer of the code prefers as a language: it's more
>>> important what the maintainers of the code
>>> will has to work with.
>>
>> Would such maintainers also be put off by new language features
>> (lambdas) in Java 8 when we (eventually) baseline to it? :-)
>
> I don't think so. First, this will be a few years off anyway.
Sooner than you think - according to schedule, it is feature-complete (as of today) and
targeted for GA in September.
http://openjdk.java.net/projects/jdk8/
http://www.infoq.com/news/2012/04/jdk-8-milestone-release-dates
Java 6 is EOL from next month and Java 7 will be EOL by July 2014. Oracle's being
pretty aggressive with moving Java forward.
http://www.oracle.com/technetwork/java/eol-135779.html
> Second,
> this will not pose cross-language debugging problems. And third, even
> Java+closures is still Java.
What does that mean? It makes an imperative programming language more functional in
style. So yes, while it still has the Java brand, I'd argue that it is becoming more
than that. Best practices, paradigms and patterns will change and give way to even better
ways of doing things. It is, effectively, learning a new language (as opposed to just a
new API).
I don't think the step from learning Java7 -> Java8 is comparable to
Java6->Scala, but I really don't think that's the thing to be discussed*.
People seem to be reluctant to debug Scala code in ISPN - and that's a productivity
issue more than anything else.
*Also as a java developer you have the general option of not learning Scala, but you
don't really have the option of not keeping up with Java8.
Cheers,
--
Mircea Markus
Infinispan lead (