Rahul Sudip Bose wrote:
What are the advantages of scala over java ? Would you advise a "new" java programmer to choose scala as his 2nd language instead of say, c++ , python etc ?
Scala is based on Functional and Object Oriented programming paradigms. Scala makes the code less verbose, its better performance than Java. Also concurrent programming in Scala is easier using Actor model.
I would recommend Scala- But its a bit complicated to start with. You may not feel like progressing when you are learning that language. But its always good to be prepared with different programming techniques. Also Lift is a web framework based on Scala and companies like FourSquare, Novell are using this in their production environment.
If you like to learn Scripting languages- Groovy is a popular one which runs on JVM and is similar to Java. I suppose its a bit easier to learn than Scala. Also there is Grails which is a Ruby on Rails like framework based on Groovy.
The advantage of learning Scala is that you get to learn the Functional Programming concepts and these days with languages like Haskell, Erlang functional programming concepts are gaining some popularity.
I would suggest you to have a look at the Mobile platform as well- Android which is based on Java.
The advantage of Java is the Java EE- which is used widely in most of the enterprise applications- As suggested by Sunny- You have lot of web frameworks, RIA technologies which make use of the java ecosystem.