views:

811

answers:

6

I was wondering whether Scala will get the takeup it deserves without explicit corporate backing (I was thinking by Sun/Oracle but I suppose it could be someone else, such as Google).

With Sun's recent decision not to include closures in JDK7, couldn't they put their weight behind Scala as the Java alternative for those wishing to have a more expressive language? After all, it seems to me that they should care most about the JVM, not Java per se. Does anyone think this is likely?

+3  A: 

I think Scala will be fine. It has a lot of mind share now that Twitter has partially moved to it. I think it's unlikely Sun will concentrate on anything but Java, but they are probably happy that other languages are targeting the JVM.

I think the closure thing is lame, by the way. I love closures.

Nosredna
+2  A: 

I think it will thrive because it doesn't have corporate bozos 'backing' them. I personally like the idea that a language is so independent, and yet very good and well planned and thought out.

I think Google is likely to pick it up, but I don't think it will be an official backing. I'm sure Google will find a cool project to use Scala with.

Kekoa
But what happens if Martin Odersky decides to concentrate on something else? A corporation "putting its money where its mouth is" at least gives you some sense that there's a real commitment there
oxbow_lakes
Google actually seem very conservative with their languages.
Tom Hawtin - tackline
@oxbow_lakes Do you think Ruby would disappear if Matz went off and did something else?
Kekoa
If I search StackOverflow for question count, Ruby is way, *way* more mature than Scala in terms of its user base and RoR is clearly very widely used indeed. That said, if there's a driving force behind improvements who suddenly goes away I can well imagine a gradual drift of other interested parties too. There's a big difference between an "enterprise" customer, who's likely making a commitment of ~5years and some academics who can presumably walk away to the NextBigThing without looking over their shoulder
oxbow_lakes
+3  A: 

Corporate backing is only necessary for a language to succeed if it doesn't have a lot of support from working programmers. Perl, Python, and Ruby all grew up without support from the Man (well, Ruby had the Japanese Man, but it wasn't a lot of help in the US).

I've not used Scala, but Twitter's endorsement of it suggests that it has enough programmer support to thrive even without a corporate big brother.

David Seiler
+3  A: 

Of course it will survive.

There are bundles of languages lying around, being supported by univerities, working groups, hobbiests, and programmers, up and down the world, and out in the wild. In some cases the fact their not supported by the Man, means they have some chance of survival, perhaps more to do with their cachet or maybe they server an important reserarch aspect.

scope_creep
But he also asked "will it get the takeup it deserves?" There are bundles of languages that haven't.
Nosredna
That's correct. A lot of companies won't be using Scala until it achieves a critical mass. Difficult to get to that critical mass without it being forcibly pushed "into the enterprise"
oxbow_lakes
If a company like SAP, Siemens, or Oracle decides to build something using Scala and productize it, Scala will appear in the enterprise relatively quickly. I don't think it needs to be forced because Scala doesn't require any special infrastructure beyond what Java based solutions require.
Erik Engbrecht
Sony is heavily reliant on it, in game pre-prodution and several large MMOG's.
scope_creep
+13  A: 

Apart from the examples of previous languages that have succeeded without initial corporate backing, I think Microsoft's promotion of functional programming on the .NET platform may indirectly help Scala gain adoption. Since the Java and .NET ecosystems are seen as close rivals, people aware of F# and the functional additions to C# may be inclined to look for JVM analogs, and to me Scala seems best equipped to fill that role.

Max Strini
I think that's an excellent point
oxbow_lakes
It's exactly what happened to me, I was interested in F#, but as it doesn't work so well on Unices (yes I know about Mono) I started learning Scala.
Shinka
+13  A: 

You need to be more specific. Thrive in what context?

I think Scala's community is near the critical mass that it needs to be a self-sustainable open source project even if its primary institutional backer, the EPFL, suddenly had a change of heart; and there is currently every sign that it will reach this critical mass. I think Scala will be with us and actively maintained for a long time.

A more pressing issue if the type of uses for which it is suited. The Scala compiler and standard library are far from perfect. When you start pushing the language or a portion of the library there is still a decent chance that you will find bugs. This is improving by leaps and bounds, but it in itself isn't the core of the problem.

The problem is in order to get fixes you pretty much have to upgrade to the next version of Scala as upgrades come out. The problem with that is that most version upgrades contain breaking changes, thus in order to obtain fixes you are likely to have to change your own code. There's also the binary incompatibility problem, which means all your Scala dependencies have to change versions, too.

This could be severe problem if you have a lot of dependencies on other Scala libraries (unlikely - there aren't many yet), if you are subject to severe infrastructure bureaucracy, or worse, you're a product-oriented company that needs to distribute fixes to customer with severe infrastructure bureaucracy.

In order for Scala to be viable in such situations long-term, someone will have to start back porting fixes to earlier versions so that people don't have to perform breaking upgrades just to get some fixes. I'm sure this will happen, because it really wouldn't be that hard, but it will probably require someone seeing a business opportunity, because let's face it, backporting changes and doing regression testing isn't exactly exiting work.

Erik Engbrecht
This is very interesting and exactly the sort of thing that scares me a little about using Scala. I have been wondering what is going to pop out when I upgrade to 2.8 (esp as they have *competely* changed the collections framework
oxbow_lakes