Wednesday, 23 February 2011

Scala's premature release

Back in August 2010, Martin Odersky raised eyebrows by stating that "Scala is foremost an industrial language". We commented on this triumph of hope over reality at the time, citing Scala's poor IDE support as a major headache for industrial users that had deterred us from adopting this academically-interesting programming language.

This rookie mistake of marketing a product months before it is ready is all too common. Several of our young client companies made the same mistake. One had even been paying an entire sales division not only salaries but bonuses for over a year before their first product was released!

The problem is not just the wasted marketing effort but that potential customers are deterred by their bad experiences with the immature product. This is reflected in Jonathan Edwards' recent article "Switching to Plan J", where he writes:

"My experiment with Scala is not working out. It’s just not ready for prime time..." - Jonathan Edwards

and others echo the sentiment:

"I’ve found exactly the same thing..." - Nat
"I agree with every point you made in this article... Tools are awful, even though years have been spent developing them." - Mark
"...plagued by continuous problems..." - Roy Batty

Martin Odersky now says that he is "painfully aware of the Eclipse issues" and Scala Solutions are working to produce reliable IDE support for Scala but he also admits that Emacs has been his IDE of choice for Scala development.

Hopefully the potential users who have been disappointed by today's Scala will try the language again once a first attempt has been made to address core issues like the reliability of the IDE support.


Wille said...

It's worth having some perspective regarding the tooling criticism: as I recall it (and I was around to recall it), the Java tooling and IDE's available oh, around 2000 where not all sunshine and rainbows either. It's been a long hard slog to get Java toolsets to the place they are today - I'd argue the first painfree Java IDE I used was Eclipse 3.0 back in 2004. Before then I had massive gripes with pretty much every IDE I came across.
..And Java was about 10 years old at that time.

These things take time unfortunately. It took Java 10 years (or 6 if you're more lenient than me), many other languages, such as Ruby and Python still don't have IDE's that are anywhere near the level of sophistication available in the Java world (let's not even mention the Mac/iOS eco-systems tools..).

Flying Frog Consultancy Ltd. said...

@Wille: I think you'll get a more useful perspective by looking at the state of play today rather than history like Java at the turn of the millenium. F# has had rock solid IDE support for well over a year. Clojure has much better IDE support than Scala despite having much less momentum.

Daniel said...

I use IntelliJ IDEA 10 with Scala support and did not notice any problem - refactoring, autocompletion etc...

Flying Frog Consultancy Ltd. said...

@Daniel: That's very interesting. Several people have now recommended IntelliJ IDEA to us but our experience was limited to Eclipse. If we take another look at Scala in the future I'll make sure we try the IntelliJ offering!