Scala Projected As The Next Java – Likely or Far-Fetched?
An Ecole Polytechnique Fédérale de Lausanne (EPFL) release says that a quiet revolution is taking place and Scala, a programming language used by Twitter and FourSquare, may be the next Java. Scala was developed at EPFL and is being used by social networks such as Twitter, LinkedIn and FourSquare. The release says that an estimated 100,000 programmers are already using the language and it continues to attract attention from industry for its elegance and muscle.
“I created Scala to boost development productivity, application scalability and system reliability,” explains EPFL professor Martin Odersky (see biography below). The name Scala comes from the idea of a scalable language able to follow increasing user and hardware demands, making it effectively “future-proof,” according to Odersky.
The latest version of the language introduces several new features and improvements, most importantly the re-written Scala collections library that substantially improves reliability and ease of use. A new extension called Named and Default Arguments also makes programmers’ lives easier.
Scala is an elegant union of object-based programming and functional programming, “a fusion,” as Odersky likes to say.
When talking about their move to Scala, Alex Payne, lead API developer at Twitter, said, “We want the code we write to be correct and maintainable. We want to keep our costs down—all the things most businesses want. We wanted to be using a language that we’re really passionate about.”
Scala’s projection as the next Java raises some fundamental questions –
- Is a programming language as important today as it was when Java burst on the scene?
- Does Scala have any revolutionary features that would convince even large corporates to switch ?
- Does Scala have what it takes to be adopted amass & generate a Java kind of wave? Adoption by early adopters & geeks can only take it so far.
- Is the presumption that Java is going away and is open to being replaced far-fetched?
Yes, the platform of choice will still be Java (in the JVM sense), and there is no point to expect from anybody to say about “Scala over JVM” platform.
The degree to which Scala will take on is one of the most interresting questions here. I stronly hope, there is going to be definitely more than “some” use of it, despite lack of company backing, Java long enjoyed.
The key to adoption IMO is how many people are going to recognize the benefits of having a strong, high quality core component of their solutions at the low level – the language. Even Netbeans could generate a lot of less code if it would generate Scala with a decent web framework. Do you have your Java CRUD app generated by Netbeans in 100%? So what? Try to modify it – you end up digging your way through the masses of boilerplate code.
The plumbing is something most of us think will never do. And it's true for some. Others do it from one reason or another. And then it's much better when things are clean inside.
I flagged you for being an idiot
Scala has very clean and powerful concepts. You can do much more with the language directly than with Java, where you have to use annotations, bytecode manipulation, XML config and reflection to achieve something similar. The developers of Jersey (a REST framework) said that the hardest part was to work around Java restrictions. So I think Scala has a great future, even it will never reach the popularity of Java (at the best time). Scala will be one of the most important languages in the multilingual future.
I have used the term dynamic in a loose English sense here. 'scripting' & 'dynamic' languages are terms used so often that they seem to mean “new age” languages more than anything else
Intro to Scala – http://www.scala-lang.org/node/25
In a sense of static – dynamic typing, Scala isn’t a dynamic language.
Hardly… I like Scala but the language you use to write your applications is getting more and more irrelevant since tools take care of lots of plumbing code. Netbeans produces almost close to all code needed for your typical CRUD-application.
Now if we talk about universities or java shops implementing their own products based on the JVM, well, then Scala will definitely find some use (as does Groovy), but if you want managers (decision makers) talk about “their platform of choice” then you will definitely never hear “we use the Java Virtual Machine with Scala as a programming language”… they will say “We use Oracle” or “We use Microsoft”.
In what sense is Scala a 'dynamic' language?
Irrespective of whether it can or will replace Java, it's refreshing to see a dynamic JVM language with the spunk to challenge Java & say that it will replace the Java language. Wonder if the leads read my article 🙂
* Kill The Java Language – A Message For Scripting Language Leads – https://indicthreads.com/1520/kill-the-java-…