5

Possible Duplicate:
Why is Scala more scalable than other languages?

The Wikipedia page on Scala says:

The name Scala is a portmanteau of "scalable" and "language", signifying that it is designed to grow with the demands of its users.

I've also read that:

And that's Scala's dirty little secret. Scala is only scalable in the sense that it runs on the reliable, high-performing JVM platform.

and also that "languages don't scale, platforms scale."

How does Scala grow with demands of its users? Isn't it true to say that Scala "actually is scalable"? And as per line just above, isn't every language scalable?

8
  • 5
    "Languages don't scale" - a lie. Meta-languages, such as Lisp, do scale, without any limits. There are no metaprogramming capabilities in Scala at all, so yes, it won't scale.
    – SK-logic
    Jan 14, 2012 at 19:40
  • 1
    I suppose languages can scale in the sense that their syntax makes it easy to code solutions to simple problems, while at the same time they have more powerful language constructs to tackle more difficult problems. Jan 14, 2012 at 19:51
  • The top-voted answer talks about flexibility and expressiveness. Isn't Python expressive? Or any other languange? Aren't other languages like C++/Python flexible? Atleast Java is flexible enough that Scala was made on top of the JVM! The correct (selected) answer talks about scripting stuff, writing apps and writing monster enterprise apps. But as far as I think, before Scala came, we did have monster enterprise apps. :)
    – c0da
    Jan 15, 2012 at 9:51
  • @c0da Yes, we did have monster enterprise apps and we did have "scripting stuff", but we usually didn't have them in the same language. The point of the answer is that Scala is both suitable to do "scripting stuff" and to do "enterprise stuff", while Java is only suitable for the latter.
    – sepp2k
    Jan 15, 2012 at 10:05
  • 1
    And, which is even more important, is Java javable.?
    – shabunc
    Jan 24, 2012 at 19:34

1 Answer 1

3

Scala is very concise. The language allows you to write small scripts and simple programs with very few lines of code. Scala is excellent for small programs and removes much of the boilerplate you'd have to add in Java. For example Scala scripts don't even have to declare a Main class as entry point.

For medium sized projects Scala has very comfortable syntax that makes declarations short and precise. First class functions, closures and the likes help you to concentrate on the logic itself, not how to map it to language concepts

Scala excels at large projects. The beautiful mix of object-oriented and functional programming helps you to follow almost any programming pattern. Implicit conversions, traits, actors, ....

Not the answer you're looking for? Browse other questions tagged or ask your own question.