This is yet another blog to demystify a technology. Scala is yet another experiment may/may not survive in the long run. I do see that there is some level of interest in this language. I was trying to find out what is it & what is not. More specifically, why it got the attention it deserves.
Ruby is Out. In comes Scala:
Twitter is using Scala now because it fell flat on the face with Ruby. (do a Google search if you want more explanation).
Ok, fine.
What is Scala?
It's Java!
What?
Yes, it gives you a different syntax but it compiles into Java byte-code (.class file) and runs on top of Java Virtual Machine.
Then, why can't I use Java itself?
I don't know. My head hurts if i start reading the list about Scala over Java. How can it be? Scala just produces Java class file. Sure, there may be some convenience factor in the syntax. There is no technical or business merit.
So, what is Scala? (technical-definition)
Scala = Object Oriented Programming + Functional Programming.
I don''t like it. This is like combining Ice Cream with Hot Coffee. If a technology/product combines 2 different discrete things then it has no merit. It's merely trying to justify it's existence.
Add to the confusion, i read about it's compatibility with C#. Good luck!
What is Scala one more time?
It's like driving to San Francisco from Sunnyvale. You can take Highway 101 or Highway 280. You have a choice but end result is same. It's SF!
Pl don't get me wrong- i may end up using Scala, sorry Java!