This page is no longer maintained — Please continue to the home page at www.scala-lang.org

Barriers to Scala Adoption

15 replies
Russ P.
Joined: 2009-01-31,
User offline. Last seen 1 year 26 weeks ago.

http://www.infoq.com/articles/barriers-to-scala-adoption

David Pollak, famous Scala advocate, wrote a blog post, "Yes,
Virginia, Scala is hard" that has caused a bit of a brouhaha in the
Scala community. The post claims that Scala tries to do too many
things, has poor IDE support, has an intimidating type system, and
more. Ultimately David's assertions question Scala's broad appeal and
if Scala will ever be the next Java. The Scala community seems to be
upset with what they perceive as attacks on Scala. David asserts that
he is doing his best to preserve Scala success by addressing its
issues publicly and level setting where Scala fits in the market.
InfoQ caught up with David Pollak and another Scala advocate, Dick
Wall, to discuss the adoption, success and future of Scala and to
discuss this blog post, as well as related topics like Ceylon.

phlegmaticprogrammer
Joined: 2010-07-23,
User offline. Last seen 2 years 15 weeks ago.
Re: Barriers to Scala Adoption

Interesting interview. Personally, I think that Scala's future is bright because it is just the best language out there currently that compiles to the JVM. Two things will absolutely boost Scala in my opinion (if done right, of course):

a) a Scala to JavaScript compiler (any idea when to expect this? Who is doing this anyway? I would be interested in participating in its development.)
b) a web framework that embraces both client side and server side development

For a current project (that I care deeply about; I will probably post about it here in two or three weeks) for which I am using Scala on the server-side I took a look at Lift for b), but in my opinion Lift tries hard in answering the wrong questions. Or maybe I just don't know enough: How can I use Lift for developing a rich client web app? Right now I am using BackBone.js + JQuery on the client side. Is there any Lift support for this / instead of this?

Cheers,

Steven

On 08.10.2011, at 02:29, Russ P. wrote:

> http://www.infoq.com/articles/barriers-to-scala-adoption
>
> David Pollak, famous Scala advocate, wrote a blog post, "Yes,
> Virginia, Scala is hard" that has caused a bit of a brouhaha in the
> Scala community. The post claims that Scala tries to do too many
> things, has poor IDE support, has an intimidating type system, and
> more. Ultimately David's assertions question Scala's broad appeal and
> if Scala will ever be the next Java. The Scala community seems to be
> upset with what they perceive as attacks on Scala. David asserts that
> he is doing his best to preserve Scala success by addressing its
> issues publicly and level setting where Scala fits in the market.
> InfoQ caught up with David Pollak and another Scala advocate, Dick
> Wall, to discuss the adoption, success and future of Scala and to
> discuss this blog post, as well as related topics like Ceylon.

gkossakowski
Joined: 2010-03-11,
User offline. Last seen 33 weeks 5 days ago.
Re: Barriers to Scala Adoption
On 8 October 2011 10:31, Steven Obua <steven [dot] obua [at] googlemail [dot] com> wrote:
Interesting interview. Personally, I think that Scala's future is bright because it is just the best language out there currently that compiles to the JVM. Two things will absolutely boost Scala in my opinion (if done right, of course):

a) a Scala to JavaScript compiler (any idea when to expect this? Who is doing this anyway? I would be interested in participating in its development.)

See http://scalagwt.github.com/
--
Grzegorz Kossakowski

phlegmaticprogrammer
Joined: 2010-07-23,
User offline. Last seen 2 years 15 weeks ago.
Re: Barriers to Scala Adoption
Thanks for this link! I have seen it before, but I discarded it (probably too quickly) because it went through GWT instead of taking a direct approach.
I used GWT only once (like 5 years ago) and liked it then. But these days it seems to be the wrong approach. For example, I just purchased a theme from themeforest.net. Now, relying on Javascript libraries like BackBone and JQuery, it is pretty simple to adapt this theme to my needs.
Is it equally simple in GWT to restyle the app according to some purchased theme? 
Cheers,
Steven


On 08.10.2011, at 12:57, Grzegorz Kossakowski wrote:
On 8 October 2011 10:31, Steven Obua <steven [dot] obua [at] googlemail [dot] com> wrote:
Interesting interview. Personally, I think that Scala's future is bright because it is just the best language out there currently that compiles to the JVM. Two things will absolutely boost Scala in my opinion (if done right, of course):

a) a Scala to JavaScript compiler (any idea when to expect this? Who is doing this anyway? I would be interested in participating in its development.)

See http://scalagwt.github.com/
--
Grzegorz Kossakowski


Erik Engbrecht
Joined: 2008-12-19,
User offline. Last seen 3 years 18 weeks ago.
Re: Barriers to Scala Adoption
I think David's points are mostly correct but far from Earth-shattering.  Basically he says:
1. Scala IDE support is mediocre at best, and poor relative to what Java developers are accustomed to2. Scala developers are expensive, either in the form of rates for existing ones or training to create new ones3. Switching to Scala is a significant organizational change, and organizational change is expensive and prone to failure4. A awful lot of enterprise projects are just simple CRUD apps, and for simple applications the benefits of Scala are more muted5. High profile failures could really hurt Scala's adoption6. Larger companies trying to adopt Scala without considering the costs involved would likely produce high profile failures

Cay Horstmann
Joined: 2009-09-04,
User offline. Last seen 42 years 45 weeks ago.
Re: Re: Barriers to Scala Adoption
Actually, David says another thing. He says that there is a large group of programmers who is not likely ever to be comfortable with Scala.

At first I thought he was exaggerating. But I just graded an exam in my advanced programming languages class. I had given the same exam at the university where I had my sabbatical visit last year. The results were staggeringly different.

So, when he writes that he visits development shops where most programmers are unable to get much out of Scala, I believe him. I think he has a reasonable analogy with PHP programmers, some of whom would be very uncomfortable in a Java environment.

What does that mean for Scala? People use Ruby, C++, and C#, which are also complex languages. But they don't. They use subsets of those languages. The subsets into which they are guided by whatever frameworks they are using. Rails. MFC. WPF.

So, if you write a Scala framework that you want everyone to use, give your end-users a limited set of abstractions that they can wrap their head around.

Cheers,

Cay


On Sat, Oct 8, 2011 at 8:22 AM, Erik Engbrecht <erik [dot] engbrecht [at] gmail [dot] com> wrote:
I think David's points are mostly correct but far from Earth-shattering.  Basically he says:
1. Scala IDE support is mediocre at best, and poor relative to what Java developers are accustomed to 2. Scala developers are expensive, either in the form of rates for existing ones or training to create new ones3. Switching to Scala is a significant organizational change, and organizational change is expensive and prone to failure 4. A awful lot of enterprise projects are just simple CRUD apps, and for simple applications the benefits of Scala are more muted5. High profile failures could really hurt Scala's adoption6. Larger companies trying to adopt Scala without considering the costs involved would likely produce high profile failures


Jon Steelman
Joined: 2008-12-16,
User offline. Last seen 1 year 29 weeks ago.
Re: Re: Barriers to Scala Adoption
>  give your end-users a limited set of abstractions that they can wrap their head around. 
Lift has some great qualities, but the above is exactly what Lift didn't do and was David's mistake: present your end-users with a limited set of cohesive, cooperative abstractions. I suspect that much of his apparent anger directed at Scala (parading as the truth in the sense that a lawyer represents the truth) is actually a reflection of Lift's shortcomings. Seems like a person on a crusade attempting to shift blame to Scala instead of where it actually belongs.
Jon

On Sat, Oct 8, 2011 at 1:40 PM, Cay Horstmann <cay [dot] horstmann [at] gmail [dot] com> wrote:
Actually, David says another thing. He says that there is a large group of programmers who is not likely ever to be comfortable with Scala.

At first I thought he was exaggerating. But I just graded an exam in my advanced programming languages class. I had given the same exam at the university where I had my sabbatical visit last year. The results were staggeringly different.

So, when he writes that he visits development shops where most programmers are unable to get much out of Scala, I believe him. I think he has a reasonable analogy with PHP programmers, some of whom would be very uncomfortable in a Java environment.

What does that mean for Scala? People use Ruby, C++, and C#, which are also complex languages. But they don't. They use subsets of those languages. The subsets into which they are guided by whatever frameworks they are using. Rails. MFC. WPF.

So, if you write a Scala framework that you want everyone to use, give your end-users a limited set of abstractions that they can wrap their head around.

Cheers,

Cay


On Sat, Oct 8, 2011 at 8:22 AM, Erik Engbrecht <erik [dot] engbrecht [at] gmail [dot] com> wrote:
I think David's points are mostly correct but far from Earth-shattering.  Basically he says:
1. Scala IDE support is mediocre at best, and poor relative to what Java developers are accustomed to 2. Scala developers are expensive, either in the form of rates for existing ones or training to create new ones3. Switching to Scala is a significant organizational change, and organizational change is expensive and prone to failure 4. A awful lot of enterprise projects are just simple CRUD apps, and for simple applications the benefits of Scala are more muted5. High profile failures could really hurt Scala's adoption6. Larger companies trying to adopt Scala without considering the costs involved would likely produce high profile failures



Simon Ochsenreither
Joined: 2011-07-17,
User offline. Last seen 42 years 45 weeks ago.
Re: Re: Barriers to Scala Adoption
This, a thousand times.

I can more or less read the compiler sources and grok what it does. Lift? Not at all.
James Black
Joined: 2010-02-01,
User offline. Last seen 42 years 45 weeks ago.
Re: Barriers to Scala Adoption
You can look at http://exploring.liftweb.net/master/index-10.html to see more about Lift and Javascript and chapter 11 in the book for Ajax/Comet info (http://exploring.liftweb.net/master/index-11.html#cha:AJAX-and-COMET).
On Sat, Oct 8, 2011 at 4:31 AM, Steven Obua <steven [dot] obua [at] googlemail [dot] com> wrote:
Interesting interview. Personally, I think that Scala's future is bright because it is just the best language out there currently that compiles to the JVM. Two things will absolutely boost Scala in my opinion (if done right, of course):

a) a Scala to JavaScript compiler (any idea when to expect this? Who is doing this anyway? I would be interested in participating in its development.)
b) a web framework that embraces both client side and server side development

For a current project (that I care deeply about; I will probably post about it here in two or three weeks) for which I am using Scala on the server-side I took a look at Lift for b), but in my opinion Lift tries hard in answering the wrong questions. Or maybe I just don't know enough: How can I use Lift for developing a rich client web app? Right now I am using BackBone.js + JQuery on the client side. Is there any Lift support for this / instead of this?

Cheers,

Steven


--
"I know that you believe you understand what you think I said, but I'm not sure you realize that what you heard is not what I meant."
- Robert McCloskey
odersky
Joined: 2008-07-29,
User offline. Last seen 45 weeks 6 days ago.
Re: Re: Barriers to Scala Adoption

On Sat, Oct 8, 2011 at 7:40 PM, Cay Horstmann wrote:
> Actually, David says another thing. He says that there is a large group of
> programmers who is not likely ever to be comfortable with Scala.
>
> At first I thought he was exaggerating. But I just graded an exam in my
> advanced programming languages class. I had given the same exam at the
> university where I had my sabbatical visit last year. The results were
> staggeringly different.

Can you elaborate? How were they different?

>
> So, when he writes that he visits development shops where most programmers
> are unable to get much out of Scala, I believe him. I think he has a
> reasonable analogy with PHP programmers, some of whom would be very
> uncomfortable in a Java environment.
>
> What does that mean for Scala? People use Ruby, C++, and C#, which are also
> complex languages. But they don't. They use subsets of those languages. The
> subsets into which they are guided by whatever frameworks they are using.
> Rails. MFC. WPF.
>
> So, if you write a Scala framework that you want everyone to use, give your
> end-users a limited set of abstractions that they can wrap their head
> around.
>

I could not agree more. I found good framework design to be even
harder than good language design. Getting where it feels just natural
to uneducated users is very, very hard, but it's the ultimate
achievement.

Cheers

phlegmaticprogrammer
Joined: 2010-07-23,
User offline. Last seen 2 years 15 weeks ago.
Re: Barriers to Scala Adoption
Thank you for those pointers. I decided to stick with Javascript for my project, as it seems to be the quicker path to what I want.
What I noticed is that all Scala solutions (Scala+GWT, Scala Lift) try to solve the transport problem for me (how to communicate between server and client). I actually don't need that. Just give me a Scala to Javascript compiler; I think Clojure works that way. 
In some earlier interview Martin Odersky referred to a S2J compiler. Was he referring to Scala+GWT? Or something else? 
Cheers,
Steven
On 08.10.2011, at 20:45, James Black wrote:
You can look at http://exploring.liftweb.net/master/index-10.html to see more about Lift and Javascript and chapter 11 in the book for Ajax/Comet info (http://exploring.liftweb.net/master/index-11.html#cha:AJAX-and-COMET).
On Sat, Oct 8, 2011 at 4:31 AM, Steven Obua <steven [dot] obua [at] googlemail [dot] com> wrote:
Interesting interview. Personally, I think that Scala's future is bright because it is just the best language out there currently that compiles to the JVM. Two things will absolutely boost Scala in my opinion (if done right, of course):

a) a Scala to JavaScript compiler (any idea when to expect this? Who is doing this anyway? I would be interested in participating in its development.)
b) a web framework that embraces both client side and server side development

For a current project (that I care deeply about; I will probably post about it here in two or three weeks) for which I am using Scala on the server-side I took a look at Lift for b), but in my opinion Lift tries hard in answering the wrong questions. Or maybe I just don't know enough: How can I use Lift for developing a rich client web app? Right now I am using BackBone.js + JQuery on the client side. Is there any Lift support for this / instead of this?

Cheers,

Steven


--
"I know that you believe you understand what you think I said, but I'm not sure you realize that what you heard is not what I meant."
- Robert McCloskey

channingwalton
Joined: 2008-09-27,
User offline. Last seen 2 weeks 1 day ago.
Re: Re: Barriers to Scala Adoption


On Saturday, 8 October 2011 20:09:20 UTC+1, Jon wrote:

Lift has some great qualities, but the above is exactly what Lift didn't do and was David's mistake: present your end-users with a limited set of cohesive, cooperative abstractions. I suspect that much of his apparent anger directed at Scala (parading as the truth in the sense that a lawyer represents the truth) is actually a reflection of Lift's shortcomings. Seems like a person on a crusade attempting to shift blame to Scala instead of where it actually belongs.

Building a couple of commercial lift apps was the first real thing I did in scala. I didn't know scala, lift or FP. It took me a few weeks to feel comfortable and then I found it to be the most productive and delightful way of building web apps I'd experienced until then. Ok I was coming from things like Struts :/
I've since introduced it to quite a few devs who's prior language was mostly Java, for apps used in large financial orgs. They too, have got on very quickly with it. 
I think we underestimate the ability of the quiet majority as a result of the assertions of a noisy minority that are creating barriers to Scala's adoption that don't really exist.
gkossakowski
Joined: 2010-03-11,
User offline. Last seen 33 weeks 5 days ago.
Re: Barriers to Scala Adoption
On 8 October 2011 14:19, Steven Obua <steven [dot] obua [at] googlemail [dot] com> wrote:
Thanks for this link! I have seen it before, but I discarded it (probably too quickly) because it went through GWT instead of taking a direct approach.
I used GWT only once (like 5 years ago) and liked it then. But these days it seems to be the wrong approach. For example, I just purchased a theme from themeforest.net. Now, relying on Javascript libraries like BackBone and JQuery, it is pretty simple to adapt this theme to my needs.
Is it equally simple in GWT to restyle the app according to some purchased theme? 

I don't think so if you are using GWT widgets as they come with GWT. On the other hand, GWT has it's theming solution so maybe it's easier than everybody thinks.
However, you can completely skip GWT libraries and treat Scala+GWT just as Scala to Javascript compiler with library that allows you to access and manipulate DOM. I encourage people to experiment with this idea. Scala+GWT project is at early stage of development and libraries/apis are not curved in stone yet.
One of interesting things to do is to explore possibility of integrating Scala+GWT with existing Javascript libraries like jQuery. AFAIK, nobody tried this idea so far.
--
Grzegorz Kossakowski

gkossakowski
Joined: 2010-03-11,
User offline. Last seen 33 weeks 5 days ago.
Re: Barriers to Scala Adoption
On 8 October 2011 23:37, Steven Obua <steven [dot] obua [at] googlemail [dot] com> wrote:
Thank you for those pointers. I decided to stick with Javascript for my project, as it seems to be the quicker path to what I want.
What I noticed is that all Scala solutions (Scala+GWT, Scala Lift) try to solve the transport problem for me (how to communicate between server and client). I actually don't need that. Just give me a Scala to Javascript compiler; I think Clojure works that way. 

You don't need to use GWT's transport mechanism. I've heard that people use their own transport layer quite often when developing gwt apps.
--
Grzegorz Kossakowski

Philippe Lhoste
Joined: 2010-09-02,
User offline. Last seen 42 years 45 weeks ago.
Re: Barriers to Scala Adoption

On 09/10/2011 21:09, Grzegorz Kossakowski wrote:
> You don't need to use GWT's transport mechanism. I've heard that people
> use their own transport layer quite often when developing gwt apps.

That's what Vaadin does.
Beside, they work in a way well suited to other languages: the widget
set is quite fixed, and they send details (captions, for example) and
layout from the server. There is no logic on the client (other than
widget-specific logic).
Most of the logic is on the server, thus there is no delicate
YourLanguage-to-JavaScript conversion to do.

kolotyluk
Joined: 2010-06-04,
User offline. Last seen 5 weeks 15 hours ago.
Re: Barriers to Scala Adoption

Without reading all the other responses, I know there are, I will
respond now, and maybe again later...

The biggest barrier I see is the reputation that 'Scala is too complex.'
I won't take a position on if this is true or not, that is another
debate. Nonetheless that reputation is a barrier. Without being arrogant
or narcissistic, I am the best coder on my team, and the only one with
Scala experience. I really do struggle with how well anyone else on my
team could cope with Scala and agonize over how much I should promote it
given I am the team's Software Architect.

It is true that in the past Scala has had poor IDE support, but I see
this as less of a barrier than it used to be - I can see the
improvements - but there is still a long way to go to bring the IDE
support to the same level as Java.

Scala really is that 'kitchen sink' language James Gosling talked about.
It is not unfair to claim that maybe it does too much. My personal
opinion is that Scala is still struggling though adolescence and trying
to find itself. I am confident that Scala will stabilize and mature into
what it should be or needs to be. I am seriously unhappy with old
granddaddy Java, and I personally hope that Scala is the language to
replace Java.

Another barrier I personally feel is - how do I - as a Software
Architect - sell Scala to my management? Sure - I can build Scala
solutions - but I am not convinced the rest of our developers can. I
recently demonstrated to my team some utility code I built in Scala for
our product - and everyone freaked. I tried to minimize the distress by
showing that all the important code in my utilities is procedural and
only the core code is functional, and that it is complete and needs no
further maintenance - but they are still scared to death of Scala,
especially the functional parts.

My personal attitude is that Scala's biggest strength is that it is the
most flexible language I know of. You can write code that is purely
procedural that any Java coder can related to - or you can write code
that I will never understand in my lifetime. We need to learn to
exploit that flexibility. We need to learn to be kind to the people who
cannot tell the difference between gonads and monads :-)

Please all you Scala gurus - learn to be more sensitive to the newbies
and old farts. Before you geek-out on all the theory and other abstract
crap, try to figure out who your audience is.

Finally - all you people totally hung up on symbols - you are no better
than acronym junkies - try to image there are actually words for things
and how you might use them. My personal biggest barrier to Scala is
people who write examples of stuff and are unable to use more than one
letter of the alphabet at a time - thank god you people have not
figured out how to use Greek letters in Scala code yet.

Cheers, Eric

On 2011-10-07 6:29 PM, Russ P. wrote:
> http://www.infoq.com/artucles/barriers-to-scala-adoption
>
> David Pollak, famous Scala advocate, wrote a blog post, "Yes,
> Virginia, Scala is hard" that has caused a bit of a brouhaha in the
> Scala community. The post claims that Scala tries to do too many
> things, has poor IDE support, has an intimidating type system, and
> more. Ultimately David's assertions question Scala's broad appeal and
> if Scala will ever be the next Java. The Scala community seems to be
> upset with what they perceive as attacks on Scala. David asserts that
> he is doing his best to preserve Scala success by addressing its
> issues publicly and level setting where Scala fits in the market.
> InfoQ caught up with David Pollak and another Scala advocate, Dick
> Wall, to discuss the adoption, success and future of Scala and to
> discuss this blog post, as well as related topics like Ceylon.

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland