[scala] Scala Marketing Challenge

View: New views
20 Messages — Rating Filter:   Alert me  
< Prev | 1 - 2 - 3 - 4 | Next >

[scala] Scala Marketing Challenge

by Josh Suereth :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I really hate spamming email boxes, but I do think this is important to the future of Scala.  I was hoping to get feedback from the community about the following:

1) If you're using Scala at work, what methods did you use to convince coworkers/managers to switch?
2) What do you think Scala needs to do to "market" itself to the Java Community


Although I set up a place for comments on my blog (shameless plug: http://suereth.blogspot.com/2008/07/scala-marketing-challenge.html)
I'd like to see what the users on this list have to think about the issue.

- Josh

As an Aside: I'm attempting to make a case to prove the viability of Scala for future work at my company currently and am hoping to gain hear about others experiences.




Re: [scala] Scala Marketing Challenge

by Jim McBeath-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Josh,

I find it quite interesting that you are not asking the question
"is Scala an appropriate choice for a production language at our
company?", but appear to be assuming that it is a good choice
for you, and all that is left is to convince your management and
co-workers that you are right.  If I were undecided, I would be
immediately put on the defensive by that approach.  It would seem
more appropriate for you to be supplying your co-workers with
information about the pros and cons of using Scala and asking for
their opinion about whether it is right for your company.

My current opinion about the pros and cons of Scala as compared to Java:

Pro: Scala is a more powerful and complex language than Java,
and thus will allow your developers to be more productive, so you
will not need as many developers.

Con: Scala is a more powerful and complex language than Java,
and thus will require that your developers are more intelligent,
making it harder to find more developers.

I believe "The Scala Experiment" is to find out if the additional power
and complexity of Scala can successfully be brought to the masses of Java
programmers.  I am not yet sure if I would recommend to my own company
that we be a part of that experiment.

As with you, I am interested in hearing about other people's experience
switching from Java to Scala in a production environment.

--
Jim

On Wed, Jul 16, 2008 at 09:45:09PM -0400, Josh Suereth wrote:

>    I really hate spamming email boxes, but I do think this is important to
>    the future of Scala.  I was hoping to get feedback from the community
>    about the following:
>    1) If you're using Scala at work, what methods did you use to convince
>    coworkers/managers to switch?
>    2) What do you think Scala needs to do to "market" itself to the Java
>    Community
>    Although I set up a place for comments on my blog (shameless plug:
>    http://suereth.blogspot.com/2008/07/scala-marketing-challenge.html)
>    I'd like to see what the users on this list have to think about the
>    issue.
>    - Josh
>    As an Aside: I'm attempting to make a case to prove the viability of
>    Scala for future work at my company currently and am hoping to gain
>    hear about others experiences.

Re: [scala] Scala Marketing Challenge

by David Hall-11 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, Jul 16, 2008 at 6:45 PM, Josh Suereth <joshua.suereth@...> wrote:
> I really hate spamming email boxes, but I do think this is important to the
> future of Scala.  I was hoping to get feedback from the community about the
> following:
>
> 1) If you're using Scala at work, what methods did you use to convince
> coworkers/managers to switch?

I'm probably in a slightly different situation from you, but... in my
research lab at my university, two of us began using Scala because we
were sick of Java, which we could do only because we were not really
collaborating with anyone else. My professor caught on, asked for a
demo, and now our lab is discussing (tomorrow!) the future of Scala in
our lab. Said professor seems very pro-Scala, but several other
students aren't keen on learning a new and fancy language.

> 2) What do you think Scala needs to do to "market" itself to the Java
> Community

Not in a good position to comment here.

Regardless, seconding Jim McBeath, I agree that you really need to
assess the strength/interest in learning of your coworkers. If people
who might be using your code really need to/want to stick with Java,
then you're going to have to go out of your way to make sure your code
is reasonably legible to someone who isn't interested in learning
Scala, in addition to being callable from Java code. That might
deprive you of a lot of the fun stuff of Scala.

If you really want to sell Scala, show them the interpreter, and how
you can call up (Java) code while it's being developed and try things
out without having to recompile. That's how I really got drawn to
Scala, and how most of the people in my lab that I've hooked have
gotten interested too.

-- David

>
>
> Although I set up a place for comments on my blog (shameless plug:
> http://suereth.blogspot.com/2008/07/scala-marketing-challenge.html)
> I'd like to see what the users on this list have to think about the issue.
>
> - Josh
>
> As an Aside: I'm attempting to make a case to prove the viability of Scala
> for future work at my company currently and am hoping to gain hear about
> others experiences.
>
>
>
>

Re: [scala] Scala Marketing Challenge

by Eric Torreborre :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

Here is my current practice of Scala at work:

1. I used it to do some one-off migration scripts to change irrelevant data

2. I used it to build a small "console" to our java system, mostly using the loan pattern and providing utility functions to navigate the system

3. I used it to implement maven plugins to enhance our build/delivery process. I originally started doing this with Groovy and that really felt too painful and error prone.

4. I regularly show my coworkers how some java code could be transformed to better Scala code. For example, yesterday we had this kind of construct:

if (Log.isDebugEnabled())
    log.debug("Category", "a message" + with + " a lot " + of + " parameters")

This was, in our framework, essentially justified as a way to get better performances and avoid to build the second argument to the debug function. So I showed my colleagues how lazy evaluation would help there.

So far, I haven't attempted to promote the use of Scala for more that this because the all the production code we deliver to our very conservative customers has to be Java.

One word though about the cons of Scala:

>Con: Scala is a more powerful and complex language than Java,
>and thus will require that your developers are more intelligent,
>making it harder to find more developers.

I have the impression that this may not be so true. You can adopt a very gentle learning curve from Java to Scala where you don't have to change your programming style a lot. So good Java developers don't have to be specifically smarter and should feel at home (if not better!) using Scala.

Eric.

Re: [scala] Scala Marketing Challenge

by Ben Hutchison-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Josh Suereth wrote:
> 2) What do you think Scala needs to do to "market" itself to the Java
> Community
-Via university courses yielding a generation of Scala native speakers.
Scala's theoretical superiority, functional style, and academic origins
make it a good fit for university teaching
- Published books that teach the language
- Published books & articles that teach/use Scala to build typical Java
apps eg interop with JEE Webapps, Hibernate, Spring, Swing, JSP
- Continue to improve the Scala IDE plugin offerings
- Example apps/sites/success stories built in Scala

Personally, I think Scala would have been more easily adopted by the
Java "mass-market" if it were closer to Java's feel (cf Groovy). The
differences, while seemingly superficial, make for a steep learning
curve for Java refugees (like myself). Programming language punctuation
is strongly emotional for many people. Coming from Java, even if you
don't explore the extended capabilities of Scala, you must unlearn/learn
remappings like
    "<type> <name>" => "<name>: <type>"
     "void" =>"Unit"
     "a[i]" => "a(i)"
     "<T>" => "[T]"
Im frankly dubious about the willingness of many of my workmates to ever
make that discomforting transition, unless their job required it.

So I expect the user-base will expand through (a) a younger generation
who learn Scala early, (b) atypically smart &/ frustrated Javans.

-Ben



Re: [scala] Scala Marketing Challenge

by Landei :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Josh Suereth wrote:
I really hate spamming email boxes, but I do think this is important to the
future of Scala.  I was hoping to get feedback from the community about the
following:

1) If you're using Scala at work, what methods did you use to convince
coworkers/managers to switch?
2) What do you think Scala needs to do to "market" itself to the Java
Community


Although I set up a place for comments on my blog (shameless plug:
http://suereth.blogspot.com/2008/07/scala-marketing-challenge.html)
I'd like to see what the users on this list have to think about the issue.

- Josh

As an Aside: I'm attempting to make a case to prove the viability of Scala
for future work at my company currently and am hoping to gain hear about
others experiences.
We don't use Scala yet at work, but I often tell my coworkers about my experiences with my private projects, and point out where it is clearly superior to Java. I plan to introduce Scala using the back door when the next small "personal" project comes up -> viral marketing.
Of course one of the most important arguments is the interoperability with Java, and you can't stress this often enough. Just repeat 10 times "But you get just normal Java classes!", that seems to be very convincing :-)

Landei

Re: [scala] Scala Marketing Challenge

by csar :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



On Thu, Jul 17, 2008 at 4:09 AM, Jim McBeath <scala@...> wrote:
Josh,

I believe "The Scala Experiment" is to find out if the additional power
and complexity of Scala can successfully be brought to the masses of Java
programmers.  I am not yet sure if I would recommend to my own company
that we be a part of that experiment.


I am not too optimistic anymore. All in all I received positive feedback from 3 people in our company - two of them don't program anymore themselves and the other one left a while ago.

The sad truth is that the majority* of the Java coder force already struggles with the Java syntax. Add a drop of abstraction to the pool and they'll drowning. I still see at some after more than 2 years Java exclusively that they carry habits from VB, PowerBuilder and C-programming with them - a pardigm shift towards more functional programming doesn't seem to be realistic. All you end up with is a bunch of java code in a more compact syntax.

Thus for the masses - I'd rather say no. For dream-teams of medium to large size, definitely yes.


Carsten

* I could be wrong there - but I don't think so

Re: [scala] Scala Marketing Challenge

by Meredith Gregory :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Guys,

Mktg 101 -- don't push: pull. Nobody wants anything you try to push on them. Instead, you tell them they can't have it. You select a small team of young go-getters. Only they are "allowed" to use this "new" technology. You let this team leak anecdotes about their improved productivity. You lionize them and their "killer" app -- which they produced in 1/2 the time they originally estimated to get the job done in Java in 1/10th the lines of code. Rinse. Repeat. Two cycles and your workforce will be clamoring to be "allowed" to use the technology. Cf gmail... or any other viral mktg play. Heck, Dr Seuss' Sneetches is a good primer.

As for "complexity", you can code in pidgin Scala like you can code in pidgin Java. Nobody's forcing you to use higher-order functions or monads or dependent types. Good engineering discipline and ethic combined with common sense and hard won experience are the only reliable means to keep complexity where it needs to be, as near as i can tell.

Best wishes,

--greg

On Thu, Jul 17, 2008 at 12:09 AM, Carsten Saager <csaager@...> wrote:


On Thu, Jul 17, 2008 at 4:09 AM, Jim McBeath <scala@...> wrote:
Josh,


I believe "The Scala Experiment" is to find out if the additional power
and complexity of Scala can successfully be brought to the masses of Java
programmers.  I am not yet sure if I would recommend to my own company
that we be a part of that experiment.


I am not too optimistic anymore. All in all I received positive feedback from 3 people in our company - two of them don't program anymore themselves and the other one left a while ago.

The sad truth is that the majority* of the Java coder force already struggles with the Java syntax. Add a drop of abstraction to the pool and they'll drowning. I still see at some after more than 2 years Java exclusively that they carry habits from VB, PowerBuilder and C-programming with them - a pardigm shift towards more functional programming doesn't seem to be realistic. All you end up with is a bunch of java code in a more compact syntax.

Thus for the masses - I'd rather say no. For dream-teams of medium to large size, definitely yes.


Carsten

* I could be wrong there - but I don't think so



--
L.G. Meredith
Managing Partner
Biosimilarity LLC
806 55th St NE
Seattle, WA 98105

+1 206.650.3740

http://biosimilarity.blogspot.com

Re: [scala] Scala Marketing Challenge

by Josh Suereth :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

This is all great feedback thanks!

So.. to recap:  I started using Scala on minor utilities at work mainly because it was much faster to do things in Scala than it was to do them in Java, and I could use all the Java lbraries I had knowledge of.  I also had no fundamental understanding of FP.  This is why I think Scala, even in a limited form is still highly useful.  I also like the ability to keep all our java code and "add" scala in for areas that make sense.

Does anyone have an example of using Scala with a large distributed JEE application or an SOA (XML) application?  I was specifically wondering about using Scala Actors to speed up a Message-Passing (JMS) area of code.  I've been doing some extra research myself into what kind of performance improvements could potentially be made with an actor-based.  So besides the white papers on Scalabity, performance improvement, can anyone give me an example of converting a JEE / JMS solution into an Actor-based solution (or hybrid) and what kind of performance gain (if any) was created?  I do understand that how you architect the systems is as important as the technology behind it.  Just curious if anyone else in the community can give me some feedback in this area.

Thanks!
-Josh

On Thu, Jul 17, 2008 at 4:05 AM, Meredith Gregory <lgreg.meredith@...> wrote:
Guys,

Mktg 101 -- don't push: pull. Nobody wants anything you try to push on them. Instead, you tell them they can't have it. You select a small team of young go-getters. Only they are "allowed" to use this "new" technology. You let this team leak anecdotes about their improved productivity. You lionize them and their "killer" app -- which they produced in 1/2 the time they originally estimated to get the job done in Java in 1/10th the lines of code. Rinse. Repeat. Two cycles and your workforce will be clamoring to be "allowed" to use the technology. Cf gmail... or any other viral mktg play. Heck, Dr Seuss' Sneetches is a good primer.

As for "complexity", you can code in pidgin Scala like you can code in pidgin Java. Nobody's forcing you to use higher-order functions or monads or dependent types. Good engineering discipline and ethic combined with common sense and hard won experience are the only reliable means to keep complexity where it needs to be, as near as i can tell.

Best wishes,

--greg


On Thu, Jul 17, 2008 at 12:09 AM, Carsten Saager <csaager@...> wrote:


On Thu, Jul 17, 2008 at 4:09 AM, Jim McBeath <scala@...> wrote:
Josh,


I believe "The Scala Experiment" is to find out if the additional power
and complexity of Scala can successfully be brought to the masses of Java
programmers.  I am not yet sure if I would recommend to my own company
that we be a part of that experiment.


I am not too optimistic anymore. All in all I received positive feedback from 3 people in our company - two of them don't program anymore themselves and the other one left a while ago.

The sad truth is that the majority* of the Java coder force already struggles with the Java syntax. Add a drop of abstraction to the pool and they'll drowning. I still see at some after more than 2 years Java exclusively that they carry habits from VB, PowerBuilder and C-programming with them - a pardigm shift towards more functional programming doesn't seem to be realistic. All you end up with is a bunch of java code in a more compact syntax.

Thus for the masses - I'd rather say no. For dream-teams of medium to large size, definitely yes.


Carsten

* I could be wrong there - but I don't think so



--
L.G. Meredith
Managing Partner
Biosimilarity LLC
806 55th St NE
Seattle, WA 98105

+1 206.650.3740

http://biosimilarity.blogspot.com


Re: [scala] Scala Marketing Challenge

by David Pollak :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



Eric Torreborre wrote:

One word though about the cons of Scala:

  
Con: Scala is a more powerful and complex language than Java,
and thus will require that your developers are more intelligent,
making it harder to find more developers.
    

I have the impression that this may not be so true. You can adopt a very
gentle learning curve from Java to Scala where you don't have to change your
programming style a lot. So good Java developers don't have to be
specifically smarter and should feel at home (if not better!) using Scala.


  
I agree with Eric here.  Scala for the library consumer has the flavor of Ruby/Python and has a gentler learning curve than does Java.  Sure, if you want to write libraries and make use of Scala's type system and implicits, etc., there's a lot to know, but those tasks, IMHO, should be the job of the architects anyway.

With that being said, Scala compiler error messages are confusing to the not overly experienced or skilled programmer.  The Scala team is making strides in the direction of improving them and I look forward to continued improvement.


[scala] Re: Scala Marketing Challenge

by Sam Stainsby-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, 16 Jul 2008 21:45:09 -0400, Josh Suereth wrote:

> 1) If you're using Scala at work, what methods did you use to convince
> coworkers/managers to switch?

I run the company :-)

> 2) What do you think Scala needs to do to "market" itself to the Java
> Community

Perhaps I can write from my 20 years experience in programming of real-
world applications. My original background was a science PhD, and so am
not that familiar with the more esoteric areas of computer science. I've
really enjoyed experimenting with scala, and am thinking of using it in
some new projects. I don't want this to seem like a rant where I'm
sitting back telling other people what to do - I may contribute bits and
pieces myself where time permits. I have a lot of good things to say
about scala, but this is about improving its marketing, so only a few are
mentioned. Anyway ...

Much of the documentation on scala leans toward the computer science
aspects of the language, without much explanation of what it all means -
its a steep learning curve. There are some truly powerful features in
scala, but they are not much good if the average programmer can't access
them.

Take this for example:
http://www.scala-lang.org/intro/variances.html
It reads like a science paper: "The annotation +T declares type T to be
used only in covariant positions. Similarly, -T would declare T  to be
used only in contravariant positions." .. while I'm sure it is succinct
and accurate, there is nothing to tell the reader what that actually
means. Even a link or two to Wikipedia would help. It took me quite a
while going through all of the doco pages, repeatedly, to put it
together. There is still a lot that is hazy. Furthermore, stacks,
although very useful, are not that inspiring to me as I don't go around
implementing them as a rule. Rewrite this article with the kind of
classes that average programmers write and it will sit better with them -
perhaps I'll contribute something here when I feel I fully understand it.

There is a tendency to emphasize how scala is a victory for functional
programmers/techniques - admittedly this might be true, but it led me
overlook scala the first time I saw it mentioned, because it immediately
makes me think of Scheme and its ilk, and I don't want to be building
anything with that (OK, I may be a language bigot). Scala could be
marketed more as the type-safe maintainable alternative to python, ruby
et al. Then you might get some attention - average programmers just want
to build and maintain stuff with least effort. Less emphasis on
"functional" could actually give scala (and hence functional techniques)
a boost.

I found a serious and obvious bug in stable sort that essentially
rendered it essentially useless & dangerous:
http://lampsvn.epfl.ch/trac/scala/ticket/1072
This sort of thing should not happen in core libraries at version 2.7.1 -
it is now fixed however, which is a credit. Seeing that type of bug in a
released version damages my confidence for using it in say, a financial
application. Perhaps do something like the Gnome or Linux kernel projects
where you alternate even numbered (2.6.x, 2.8.x, ...) releases with
unstable ones (2.7.x, 2.9.x ..) so that you are really sure your stable
releases are well tested in the field. Also, it this bug appears to
indicate that increased testing coverage for core libraries is needed.

But what you really need is a few good applications written in scala to
become very popular!

I hope this is helpful .. scala is very impressive.

Cheers,
Sam Stainsby.


Re: [scala] Re: Scala Marketing Challenge

by ghempton :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, Jul 17, 2008 at 6:50 PM, Sam Stainsby <sam@...> wrote:
There is a tendency to emphasize how scala is a victory for functional
programmers/techniques - admittedly this might be true, but it led me
overlook scala the first time I saw it mentioned, because it immediately
makes me think of Scheme and its ilk, and I don't want to be building
anything with that (OK, I may be a language bigot). Scala could be
marketed more as the type-safe maintainable alternative to python, ruby
et al. Then you might get some attention - average programmers just want
to build and maintain stuff with least effort. Less emphasis on
"functional" could actually give scala (and hence functional techniques)
a boost.

I agree with Sam. I also overlooked scala initially for this reason.

I also think that until there is some much stronger IDE support it's going to be a hard sell. The excellent IDE support for java is a massive productivity booster that I sorely miss when I program in scala.

-Gordon

[scala] Re: Scala Marketing Challenge

by Eric Willigers :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Sam Stainsby wrote:
> Scala could be
> marketed more as the type-safe maintainable alternative to python, ruby
> et al.

+1 - python and ruby are the rivals, not Java. [The mobile space would
be an exception.]

Marketing Scala as better than Java is like marketing Java as better
than Cobol.


Re: [scala] Re: Scala Marketing Challenge

by Sean McDirmid :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

But many people aren't so enlightened. Marketing Scala as a better Java is still useful because people still take Java seriously.

On Fri, Jul 18, 2008 at 9:38 AM, Eric Willigers <ewilligers@...> wrote:
Sam Stainsby wrote:
Scala could be marketed more as the type-safe maintainable alternative to python, ruby et al.

+1 - python and ruby are the rivals, not Java. [The mobile space would be an exception.]

Marketing Scala as better than Java is like marketing Java as better than Cobol.



Re: [scala] Re: Scala Marketing Challenge

by Josh Suereth :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

+1 to taking Java Seriously. 

On Thu, Jul 17, 2008 at 9:41 PM, Sean McDirmid <sean.mcdirmid@...> wrote:
But many people aren't so enlightened. Marketing Scala as a better Java is still useful because people still take Java seriously.

On Fri, Jul 18, 2008 at 9:38 AM, Eric Willigers <ewilligers@...> wrote:
Sam Stainsby wrote:
Scala could be marketed more as the type-safe maintainable alternative to python, ruby et al.

+1 - python and ruby are the rivals, not Java. [The mobile space would be an exception.]

Marketing Scala as better than Java is like marketing Java as better than Cobol.




[scala] Re: Scala Marketing Challenge

by Bugzilla from harshad.rj@gmail.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Eric Torreborre wrote:

> You can adopt a very
> gentle learning curve from Java to Scala where you don't have to change
> your programming style a lot.

I agree in the specific case when you are self motivated to learn Scala.
But, if my employer asked me to use scala for my next project and I was an
average-joe programmer (which I most definitely am), I would need to
quickly ramp up so that I could understand existing libraries, understand
what my smart co-worker has written, understand some of the language
tip&tricks, and all that would be non-trivial.

I think I spent about 4-6 months (in my leisure time) of self-motivated
effort before I could get comfortable using scala. I have only read the
draft of "Programming in scala", so I might have missed a gentler learning
curve if the final book provides it.


Re: [scala] Scala Marketing Challenge

by Mark Engelberg-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, Jul 16, 2008 at 6:45 PM, Josh Suereth <joshua.suereth@...> wrote:
> 2) What do you think Scala needs to do to "market" itself to the Java
> Community

IDE.

Choice of programming language is one factor of many in terms of a
programmer's overall productivity.  Java has tremendous tool support
for editing, debugging, refactoring, making GUIs, etc., etc., etc.
Scala has a long way to go if it really wants to make the transition
to widespread usage.

The F# guys have been working hard for several months to transition
their research language to one that's ready for real-world deployment.
 It would be interesting to ask them about what lessons they've
learned from this process, and just how much work it takes to make
that transition.

Re: [scala] Scala Marketing Challenge

by Daniel Dekany :: Rate this Message: