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

How to get people to adopt Scala

26 replies
dlo
Joined: 2010-10-02,
User offline. Last seen 1 year 12 weeks ago.

Hi, all.

This seems to be the place to discuss how Scala can be made more
appealing to the enterprise. Scala Days today had a discussion on this
that I feel did not adequately address the issue. The panelists
addressed plenty of peripheral issues, but I don't think they touched
upon the crux of the issue.

First, let me state that I am a big fan of Scala. It is a thing of
beauty. It has many features that I am able to appreciate because I
have some background in programming language theory. The papers on it
make fascinating weekend reading. The trouble is that, while it is a
better language than Java, making our argument for it in terms of
language features is not an effective way to go about it. Most people
just don't care.

My opinion is that Scala needs a killer application, something that is
so compelling that developers simply cannot go without using it.
Consider the following popular languages.

* Objective-C is popular, because if a developer writes an app in it,
it can go into the Apple App Store and make lots of money.

* JavaScript is universally how one programs the browser.

* C was basically a scripting language for the Unix operating system.

* Java promised write-once-run-anywhere. This is certainly why my
employer decided to use it 9 years ago.

I don't think a killer feature or application exists right now though
I can foresee that Scala might be the language of choice for parallel
programming. So I would like to throw this out to the community for
ideas. The magnitude of this application has to be as large as, say,
the MapReduce framework, which is controversial in some circles but
is nonetheless a compelling, killer feature.

On a side note, I do not accept that developers who use Scala are
smarter than other developers. Yes, spending your time learning new
languages like Scala is one way to use your time. Another way to spend
your time, for example, is submitting patches to the Linux kernel or
writing an application server, both things that may involve using an
"inferior" language.

Hope this generates some thoughtful discussion!

Cheers,
Darwin

H-star Development
Joined: 2010-04-14,
User offline. Last seen 2 years 26 weeks ago.
Re: How to get people to adopt Scala

what would help greatly (imho) would be if scala could be used exactly
like java, just without some of the major flaws. my biggest "wtfs" were:

what? no for loop? -> needs a language change
where did "static" go? -> could be transformed to "create a companion
object and put method/field there"
no ++ and -- on numbers? -> guess it would need a language change
enum? hello enum? where are you? -> could be translated into a sealed
trait, some case classes and a "static" values-method

if people think of scala as "like java, but without flaws a,b and c and
maybe 1000 feature i don't care about yet" it would be better than "it's
that cryptic language that can do all the funky stuff, but the
difference to my good old java is so huge"

Am 04.06.2011 04:36, schrieb dlo:
> Hi, all.
>
> This seems to be the place to discuss how Scala can be made more
> appealing to the enterprise. Scala Days today had a discussion on this
> that I feel did not adequately address the issue. The panelists
> addressed plenty of peripheral issues, but I don't think they touched
> upon the crux of the issue.
>
> First, let me state that I am a big fan of Scala. It is a thing of
> beauty. It has many features that I am able to appreciate because I
> have some background in programming language theory. The papers on it
> make fascinating weekend reading. The trouble is that, while it is a
> better language than Java, making our argument for it in terms of
> language features is not an effective way to go about it. Most people
> just don't care.
>
> My opinion is that Scala needs a killer application, something that is
> so compelling that developers simply cannot go without using it.
> Consider the following popular languages.
>
> * Objective-C is popular, because if a developer writes an app in it,
> it can go into the Apple App Store and make lots of money.
>
> * JavaScript is universally how one programs the browser.
>
> * C was basically a scripting language for the Unix operating system.
>
> * Java promised write-once-run-anywhere. This is certainly why my
> employer decided to use it 9 years ago.
>
> I don't think a killer feature or application exists right now though
> I can foresee that Scala might be the language of choice for parallel
> programming. So I would like to throw this out to the community for
> ideas. The magnitude of this application has to be as large as, say,
> the MapReduce framework, which is controversial in some circles but
> is nonetheless a compelling, killer feature.
>
> On a side note, I do not accept that developers who use Scala are
> smarter than other developers. Yes, spending your time learning new
> languages like Scala is one way to use your time. Another way to spend
> your time, for example, is submitting patches to the Linux kernel or
> writing an application server, both things that may involve using an
> "inferior" language.
>
> Hope this generates some thoughtful discussion!
>
> Cheers,
> Darwin
>

ichoran
Joined: 2009-08-14,
User offline. Last seen 2 years 3 weeks ago.
Re: How to get people to adopt Scala
On Fri, Jun 3, 2011 at 11:28 PM, HamsterofDeath <h-star [at] gmx [dot] de> wrote:
what would help greatly (imho) would be if scala could be used exactly
like java, just without some of the major flaws. my biggest "wtfs" were:

what? no for loop? -> needs a language change

No it doesn't, not to get a for that looks very, very much like the C-style for:

  def cfor[@specialized T](zero: T, okay: T=>Boolean, succ: T=>T)(act: T => Unit) {
    var i = zero
    while (okay(i)) {
      act(i)
      i = succ(i)
    }
  }

Usage:  cfor(0, _ < 5, _+1) (i => { println("Just like Java! "+i) })

It doesn't perform as well as  a while loop, and the normal for is more powerful, but these things can be fixed in the compiler without needing a language change.
 
where did "static" go? -> could be transformed to "create a companion
object and put method/field there"

Ugh.  That makes it hard to know what is in your companion object.  No thanks.
 
no ++ and -- on numbers? -> guess it would need a language change

You can partly do this already with a wrapper class, and a wrapper could go in the library. If Scala had an adequate macroing facility, one could define this in a library with no syntax changes if one really wanted; that's what I would prefer.
 
enum? hello enum? where are you? -> could be translated into a sealed
trait, some case classes and a "static" values-method

Here I agree.  Scala enums are inferior to Java enums _and_ are incompatible.  This one might require a language change since Scala is not very flexible about how it creates variables.
 
if people think of scala as "like java, but without flaws a,b and c and
maybe 1000 feature i don't care about yet" it would be better than "it's
that cryptic language that can do all the funky stuff, but the
difference to my good old java is so huge"

There are very few gratuitous differences.  You can get pretty far pretending it's Java and keeping about 10 rules in mind.  (++, enum, for, val/var/def, : Type, [A], arr(0), catch { case...}, object X {...})

  --Rex

Sean Corfield
Joined: 2009-10-25,
User offline. Last seen 2 years 9 weeks ago.
Re: How to get people to adopt Scala

Hey Darwin, thanx for asking this question at Scala Days!

I was tempted to ask a question but I wasn't sure how well it would be
received... I'm actually more concerned about Scala becoming
"massively popular" than it remaining a niche language. I've worked
across a lot of languages over the years and the ones that have a low
barrier to entry tend to attract a lot of mediocre (or worse)
developers - simply because those folks can be reasonably productive
and create useful software, even tho' their code is pretty bad. I
think that tends to happen to any language that becomes mainstream.
And, yeah, I know this paints me with the "elitist" brush and might
get me lumped in with the (unnamed) "folks in the Scala community" who
seem to think Java developers are "retards" (I _don't_ think that and
I don't believe anyone in the Scala community really thinks that
either).

With the panel setting up the premise of "enterprise adoption" for
Scala, I wanted to ask how successful Typesafe really want Scala to
be? What % adoption is considered a success? 5% of the Java
population? 10%? 20%? If we accept there really are 9 million Java
developers out there (Oracle's claim), how many Scala developers mean
success?

If Scala is as successful as Ruby or Groovy we'd be looking at 1-2
million developers... so that's about 10-20%. Do we need / want more
than that?

Sean

On Fri, Jun 3, 2011 at 7:36 PM, dlo wrote:
> This seems to be the place to discuss how Scala can be made more
> appealing to the enterprise. Scala Days today had a discussion on this
> that I feel did not adequately address the issue. The panelists
> addressed plenty of peripheral issues, but I don't think they touched
> upon the crux of the issue.

sergei
Joined: 2011-03-29,
User offline. Last seen 1 year 20 weeks ago.
Re: How to get people to adopt Scala

In late 90-ies I used to work at what is now Accenture Technology
Labs. Part of my job was to track and extrapolate technology trends as
well as adoption of emerging technologies by Accenture clients - huge
global corporations. So I have some professional-level understanding
of the adoption process dynamics in the enterprise.

There are many ways to accelerate the adoption, some are more
effective than others at certain stages in the product, company,
industry, and economy lifecycle.

The most important thing is of course having a quality product that
fits a well-defined market. My impression of Scala (which I love
dearly) is that it is at the stage where this is at least 80% done:
core product is very good and vision of the market and killer app
category as described by Martin is clear and believable. So, on this
front Scala is doing well. However, product excellence is only about a
half of what needs to be achieved in order to ensure wide adoption.

Another half is marketing and sales. By that I don't mean traditional
responsibilities of VP of Marketing and VP of Sales. Marketing,
broadly, is a two-way communication between the entity promoting a
product and its target audience. Sales, broadly, is exchange of the
entity’s property for audience’s money. So, Scala team has been doing
marketing and sales for quite a while and achieved some notable
milestones. Still, I would say that so far it’s been maybe 20% of the
effort needed to ensure repeatable crossing of the “brain-enterprise
barrier”.

It is a good thing at this stage of the product lifecycle. After all,
too intense marketing and too pushy sales of a half-baked product
rarely result in happy outcomes - initial hype and induced buzz gives
way to audience’s disappointment and vendor’s loss of credibility,
which is very difficult to reverse. I salute the decision of Scala
team to bake the product fully first and only then sell it. I guess we
all had our share of mental indigestion caused by products that were
only 20% baked yet 200% sold :-)

Typesafe as a company is very young yet already very impressive. It
appears to be capable of closing the remaining 20% of the product
excellence gap in a reasonable time. As to the marketing and sales
side of the equation, it is not yet fully resolved in my opinion. It
is true that some portion of the marketing and sales gap can be closed
by crowd-sourcing – the viral evangelism of Scala Days attendees and
sponsorship of non-Typesafe corporate entities will no doubt continue
to be very helpful. But will it be enough?

I asked a question about Scala team marketing and sales strategy
during the final Scala Days Q&A session and the answer was not 100%
satisfactory, as some of the reasoning was based on some “non-facts”.

For instance, contrary to popular belief, C++ adoption was mostly
following current Scala adoption pattern up until Microsoft released
Visual C++ supported by massive sales and marketing campaign. Before
that event, enterprises were rather reluctant to adopt “unproven”,
“unsupported” language. Shortly after that, “nobody could be fired for
deciding to go with C++”.

Java’s quick ascendance happened more recently and it is quite obvious
how much it was influenced by gigantic sales and marketing efforts of
Sun, BEA, IBM, and others.

It is true that programming languages and other people/technology
aggregates can be adopted by enterprises without massive financial
help from large entities, yet such adoption tend to take significantly
more time. Instead of cementing a new dominant paradigm relatively
quickly, such languages spend very long time overcoming the inertia of
the previous top dog in the market segment, only to be faced with a
newly emerged competitor, more fit for the inevitably changing market
conditions. Think about Python, which was arguably eclipsed by Ruby
just when it was finally overcoming the inertia of Perl.

I do not advocate readers to blindly accept my position. I do,
however, urge them to check their facts. All too often, heroic
mythology of always winning technological excellence reigns supreme
over mundane business facts such as accidental and temporarily
advantageous startup funding conditions.

Typesafe has an opportunity to raise significant capital in the
currently blossoming Startup Spring, stemming mostly from the massive
financial stimulus administered by central banks - the Spring which
may turn straight into Startup Nuclear Winter in 6-9 months if, for
instance, Middle East wars rapidly escalate. I advocate using this
opportunity wisely and raising enough money in 2011 to be able to
cross both product excellence and marketing/sales chasms and thus
become a self-sustained company.

Best,
Sergei.

sergei
Joined: 2011-03-29,
User offline. Last seen 1 year 20 weeks ago.
Re: How to get people to adopt Scala

In late 90-ies I used to work at what is now Accenture Technology
Labs. Part of my job was to track and extrapolate technology trends as
well as adoption of emerging technologies by Accenture clients - huge
global corporations. So I have some professional-level understanding
of the adoption process dynamics in the enterprise.

There are many ways to accelerate the adoption, some are more
effective than others at certain stages in the product, company,
industry, and economy lifecycle.

The most important thing is of course having a quality product that
fits a well-defined market. My impression of Scala (which I love
dearly) is that it is at the stage where this is at least 80% done:
core product is very good and vision of the market and killer app
category as described by Martin is clear and believable. So, on this
front Scala is doing well. However, product excellence is only about a
half of what needs to be achieved in order to ensure wide adoption.

Another half is marketing and sales. By that I don't mean traditional
responsibilities of VP of Marketing and VP of Sales. Marketing,
broadly, is a two-way communication between the entity promoting a
product and its target audience. Sales, broadly, is exchange of the
entity’s property for audience’s money. So, Scala team has been doing
marketing and sales for quite a while and achieved some notable
milestones. Still, I would say that so far it’s been maybe 20% of the
effort needed to ensure repeatable crossing of the “brain-enterprise
barrier”.

It is a good thing at this stage of the product lifecycle. After all,
too intense marketing and too pushy sales of a half-baked product
rarely result in happy outcomes - initial hype and induced buzz gives
way to audience’s disappointment and vendor’s loss of credibility,
which is very difficult to reverse. I salute the decision of Scala
team to bake the product fully first and only then sell it. I guess we
all had our share of mental indigestion caused by products that were
only 20% baked yet 200% sold :-)

Typesafe as a company is very young yet already very impressive. It
appears to be capable of closing the remaining 20% of the product
excellence gap in a reasonable time. As to the marketing and sales
side of the equation, it is not yet fully resolved in my opinion. It
is true that some portion of the marketing and sales gap can be closed
by crowd-sourcing – the viral evangelism of Scala Days attendees and
sponsorship of non-Typesafe corporate entities will no doubt continue
to be very helpful. But will it be enough?

I asked a question about Scala team marketing and sales strategy
during the final Scala Days Q&A session and the answer was not 100%
satisfactory, as some of the reasoning was based on some “non-facts”.

For instance, contrary to popular belief, C++ adoption was mostly
following current Scala adoption pattern up until Microsoft released
Visual C++ supported by massive sales and marketing campaign. Before
that event, enterprises were rather reluctant to adopt “unproven”,
“unsupported” language. Shortly after that, “nobody could be fired for
deciding to go with C++”.

Java’s quick ascendance happened more recently and it is quite obvious
how much it was influenced by gigantic sales and marketing efforts of
Sun, BEA, IBM, and others.

It is true that programming languages and other people/technology
aggregates can be adopted by enterprises without massive financial
help from large entities, yet such adoption tend to take significantly
more time. Instead of cementing a new dominant paradigm relatively
quickly, such languages spend very long time overcoming the inertia of
the previous top dog in the market segment, only to be faced with a
newly emerged competitor, more fit for the inevitably changing market
conditions. Think about Python, which was arguably eclipsed by Ruby
just when it was finally overcoming the inertia of Perl.

I do not advocate readers to blindly accept my position. I do,
however, urge them to check their facts. All too often, heroic
mythology of always winning technological excellence reigns supreme
over mundane business facts such as accidental and temporarily
advantageous startup funding conditions.

Typesafe has an opportunity to raise significant capital in the
currently blossoming Startup Spring, stemming mostly from the massive
financial stimulus administered by central banks - the Spring which
may turn straight into Startup Nuclear Winter in 6-9 months if, for
instance, Middle East wars rapidly escalate. I advocate using this
opportunity wisely and raising enough money in 2011 to be able to
cross both product excellence and marketing/sales chasms and thus
become a self-sustained company.

Best,
Sergei.

Tony Morris 2
Joined: 2009-03-20,
User offline. Last seen 42 years 45 weeks ago.
Re: How to get people to adopt Scala

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 04/06/11 12:36, dlo wrote:
> The trouble is that, while it is a better language than Java,
> making our argument for it in terms of language features is not an
> effective way to go about it. Most people just don't care.

But some people do. These are the ones you want to attract. Some
people are intent to learn why it might be important to care. You can
help those people too. Why waste precious effort on a poor prognostic
evaluation?

Honesty is paramount. Everything else follows.

Tony Morris 2
Joined: 2009-03-20,
User offline. Last seen 42 years 45 weeks ago.
Re: How to get people to adopt Scala

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 04/06/11 13:28, HamsterofDeath wrote:
> if people think of scala as "like java, but without flaws a,b and
> c
You mean flaws such as loops and increment/decrement operators? What
is this, the 1970s?

We Can Be Liberated From the von Neumann Style. Please help us.

Kevin Wright 2
Joined: 2010-05-30,
User offline. Last seen 26 weeks 4 days ago.
Re: How to get people to adopt Scala


On 4 June 2011 08:59, Tony Morris <tonymorris [at] gmail [dot] com> wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 04/06/11 12:36, dlo wrote:
> The trouble is that, while it is a better language than Java,
> making our argument for it in terms of language features is not an
> effective way to go about it. Most people just don't care.

But some people do. These are the ones you want to attract. Some
people are intent to learn why it might be important to care. You can
help those people too. Why waste precious effort on a poor prognostic
evaluation?

Honesty is paramount. Everything else follows.


- --
Tony Morris
http://tmorris.net/



Cherry-picking individual features and boasting "my language does *this*" is probably not the way to go here.  With the possible exception of case classes, I have yet to meet a Java developer who hasn't seen the immediate ROI on those.
Discussing how combinations of features can help a developer with the problems they have *right now* will be far more successful. Shiny new features for their own sake are a poor motivator outside of mobile phone sales.  Developers will be a lot more interested if they see that the language can offer something directly to *them* as an individual, as opposed to concepts they perceive as more nebulous or irrelevant, such as "functional purity".
It will also help to use non-threatening terms that people are familiar with, so we'll probably find ourselves talking in terms of "design patterns" and "agile development", as these seem to be in the middle of the comfort zone for the team leaders and project managers who are so often instrumental in making decisions such as which language to use on a new project.

At least for established Java shops, some of the pain points I see that could attract some interest for Scala are.
- Painful boilerplate that slows development and maintainence, especially when trying to follow "agile practices" such as refactoring
- Variance in Java is just plain broken.  Scala's type system, frequently portrayed as complex, can just as easily be shown to simplify supertyping/subtyping in the presence of generics.
- Concern for future-proofing against rapidly growing core counts, traditional thread synchronization is incredibly hard to get right, and doesn't scale down well to fine-grained concurrency
- Unit tests are still, far too often, perceived by many as time not being spent on production code. Making tests easier to write any more generally useful as specifications through the use of DSLs will greatly appeal to anyone who finds corporate resistance to TDD/BDD

Much as I respect Tony's call for intellectual honesty, I don't think that this is going to help attract initial interest for Scala, though it could well be instrumental in cementing that interest at a later stage. No amount of honesty is going to help a person who hasn't at least considered using Scala in the first place.  That attraction is going to be, in part, an emotional decision; which means first establishing the relevance of the language when it comes to making someone's life easier.
--
Kevin Wright

gtalk / msn : kev [dot] lee [dot] wright [at] gmail [dot] comkev [dot] lee [dot] wright [at] gmail [dot] commail: kevin [dot] wright [at] scalatechnology [dot] com
vibe / skype: kev.lee.wrightquora: http://www.quora.com/Kevin-Wright
twitter: @thecoda

"My point today is that, if we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent": the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger" ~ Dijkstra
Philippe Lhoste
Joined: 2010-09-02,
User offline. Last seen 42 years 45 weeks ago.
Re: How to get people to adopt Scala

On 04/06/2011 05:28, HamsterofDeath wrote:
> what would help greatly (imho) would be if scala could be used exactly
> like java, just without some of the major flaws. my biggest "wtfs" were:
>
> what? no for loop? -> needs a language change
> where did "static" go? -> could be transformed to "create a companion
> object and put method/field there"
> no ++ and -- on numbers? -> guess it would need a language change
> enum? hello enum? where are you? -> could be translated into a sealed
> trait, some case classes and a "static" values-method
>
> if people think of scala as "like java, but without flaws a,b and c and
> maybe 1000 feature i don't care about yet" it would be better than "it's
> that cryptic language that can do all the funky stuff, but the
> difference to my good old java is so huge"

I disagree there. I am mostly, currently, a Java programmer, with strong
C experience and knowing more or less a number of programming languages,
more on the imperative side than on the functional one... Lua and
JavaScript being the most functional I used, I haven't used Scheme
enough (to improve a Gimp script) to pretend knowing it well.

But I don't think injecting imperative features in Scala would help
beginners. A good cheatsheet explaining how to implement in Scala,
efficiently and elegantly, the most common use cases of the features you
expose above would be much more helpful.

"Why do you need to do i++ or n--?" Let see if we can do it differently,
perhaps by explaining in detail why use zip or whatever is needed. Most
of the time, an index isn't even needed.

"What is this for loop needed?" See how you can iterate on a collection
without index, not even seeing items of the collection.
Most Java programmers already jumped into the foreach syntax, it is a
step toward the for comprehension, then to the collection methods.

I think dropping static methods in favor of making objects isn't a huge
step for Java programmers.
enums are a different story... :-)

Note: the information already exists on the Net, but spread on lot of
blogs, and with lot of (useful) chat around. Grouping it in an
accessible, concise and consistent way would help. Of course, it needs
somebody with time and competence...

Philippe Lhoste
Joined: 2010-09-02,
User offline. Last seen 42 years 45 weeks ago.
Re: How to get people to adopt Scala

On 04/06/2011 07:40, Sergei wrote:
> I guess we
> all had our share of mental indigestion caused by products that were
> only 20% baked yet 200% sold :-)

JavaFX 1?

Craig Tataryn
Joined: 2010-10-08,
User offline. Last seen 1 year 38 weeks ago.
Re: How to get people to adopt Scala

On 2011-06-03, at 11:02 PM, Rex Kerr wrote:
On Fri, Jun 3, 2011 at 11:28 PM, HamsterofDeath <h-star [at] gmx [dot] de> wrote: 
no ++ and -- on numbers? -> guess it would need a language change

You can partly do this already with a wrapper class, and a wrapper could go in the library. If Scala had an adequate macroing facility, one could define this in a library with no syntax changes if one really wanted; that's what I would prefer.
 

Don't introduce Macros.  They are evil incarnate!
Craig.
Randall R Schulz
Joined: 2008-12-16,
User offline. Last seen 1 year 29 weeks ago.
Re: How to get people to adopt Scala

On Saturday June 4 2011, Craig Tataryn wrote:
> On 2011-06-03, at 11:02 PM, Rex Kerr wrote:
> > On Fri, Jun 3, 2011 at 11:28 PM, HamsterofDeath
> > wrote: no ++ and -- on numbers? -> guess it would need a language
> > change
> >
> > You can partly do this already with a wrapper class, and a wrapper
> > could go in the library. If Scala had an adequate macroing
> > facility, one could define this in a library with no syntax changes
> > if one really wanted; that's what I would prefer.
>
> Don't introduce Macros. They are evil incarnate!

I think we can safely presume that Rex did not mean C++ or m4/m6-style
text-replacement macros, but rather something more like Lisp macros.
Even Haskell has a meta-programming capability (Template Haskell [1]).

My offhand impression is that in non-homoiconic languages metasyntactic
macros are problematic. But I'd love to see it either realized or
obviated for Scala.

[1] http://www.haskell.org/haskellwiki/Template_Haskell

> Craig.

Randall Schulz

Philippe Lhoste
Joined: 2010-09-02,
User offline. Last seen 42 years 45 weeks ago.
Re: How to get people to adopt Scala

On 04/06/2011 19:21, Randall R Schulz wrote:
> On Saturday June 4 2011, Craig Tataryn wrote:
>> Don't introduce Macros. They are evil incarnate!
>
> I think we can safely presume that Rex did not mean C++ or m4/m6-style
> text-replacement macros, but rather something more like Lisp macros.

Ah, I was perplexed by the above statement...
I find the system of macros in Nemerle to be quite elegant, while
remaining type safe. It would avoid to generate code with external tools
to have Tuple1 to Tuple22, for example, and such facilities.
I suppose compiler plugins provide similar facilities, but I find harder
to distribute plugins with your source code than macros (if they are
supported by the compiler system).

Craig Tataryn
Joined: 2010-10-08,
User offline. Last seen 1 year 38 weeks ago.
Re: Re: How to get people to adopt Scala

On 2011-06-04, at 1:24 PM, Philippe Lhoste wrote:

> On 04/06/2011 19:21, Randall R Schulz wrote:
>> On Saturday June 4 2011, Craig Tataryn wrote:
>>> Don't introduce Macros. They are evil incarnate!
>>
>> I think we can safely presume that Rex did not mean C++ or m4/m6-style
>> text-replacement macros, but rather something more like Lisp macros.
>
> Ah, I was perplexed by the above statement...
> I find the system of macros in Nemerle to be quite elegant, while remaining type safe. It would avoid to generate code with external tools to have Tuple1 to Tuple22, for example, and such facilities.
> I suppose compiler plugins provide similar facilities, but I find harder to distribute plugins with your source code than macros (if they are supported by the compiler system).
>

That's correct I presumed Macro == C-style. It's just dreadful to work with an unfamiliar library with those.

Craig

Sean Corfield
Joined: 2009-10-25,
User offline. Last seen 2 years 9 weeks ago.
Re: How to get people to adopt Scala

On Fri, Jun 3, 2011 at 8:28 PM, HamsterofDeath wrote:
> what? no for loop? -> needs a language change

for ( i <- 0 to 9 ) println( i )

> where did "static" go? -> could be transformed to "create a companion
> object and put method/field there"

I always "static" was a bug / wart on Java and a hack because they'd
insisted everything be a class.

> no ++ and -- on numbers? -> guess it would need a language change

Not needed - for loops are the most common place in Java but Scala's
for loops don't need them.

> enum? hello enum? where are you? -> could be translated into a sealed
> trait, some case classes and a "static" values-method

I never liked enum in Java - that always felt like a wart too.

> if people think of scala as "like java, but without flaws a,b and c and
> maybe 1000 feature i don't care about yet" it would be better

I guess it depends what you think are "flaws" in Java. Certainly Foo
foo = new Foo(); is a flaw (on many levels) and Scala avoids that but
IMO Scala avoids a lot of other flaws that people think are required
features - unfortunately - and that's why I think an approach based
solely on language features won't help approve adoption (much /
enough).

sergei
Joined: 2011-03-29,
User offline. Last seen 1 year 20 weeks ago.
Re: How to get people to adopt Scala

Precisely! I think Typesafe needs to raise enough funding to afford
excellent "unconventional marketing" people doing exactly that full
time. Dick Wall comes to mind ... ;-)

On Jun 4, 3:23 am, Philippe Lhoste wrote:
> Note: the information already exists on the Net, but spread on lot of
> blogs, and with lot of (useful) chat around. Grouping it in an
> accessible, concise and consistent way would help. Of course, it needs
> somebody with time and competence...

Randall R Schulz
Joined: 2008-12-16,
User offline. Last seen 1 year 29 weeks ago.
Re: Re: How to get people to adopt Scala

On Saturday June 4 2011, Sergei wrote:
> Precisely! I think Typesafe needs to raise enough funding to afford
> excellent "unconventional marketing" people doing exactly that full
> time. Dick Wall comes to mind ... ;-)

According to Dick Wall himself (speaking on the Scala Days 2011
discussion panel that closed the event), he's already 250% committed...

Randall Schulz

John Nilsson
Joined: 2008-12-20,
User offline. Last seen 42 years 45 weeks ago.
Re: Re: How to get people to adopt Scala

There was a recent article about a technique called class morphing for
meta programming in Java implemented in a language called MorphJ.[1]

Reading the article it struck me that the approach would fit very
nicely with the semantics of Scala.

BR,
John

[1] http://portal.acm.org/citation.cfm?doid=1890028.1890029

On Sat, Jun 4, 2011 at 8:24 PM, Philippe Lhoste wrote:
> On 04/06/2011 19:21, Randall R Schulz wrote:
>>
>> On Saturday June 4 2011, Craig Tataryn wrote:
>>>
>>> Don't introduce Macros.  They are evil incarnate!
>>
>> I think we can safely presume that Rex did not mean C++  or m4/m6-style
>> text-replacement macros, but rather something more like Lisp macros.
>
> Ah, I was perplexed by the above statement...
> I find the system of macros in Nemerle to be quite elegant, while remaining
> type safe. It would avoid to generate code with external tools to have
> Tuple1 to Tuple22, for example, and such facilities.
> I suppose compiler plugins provide similar facilities, but I find harder to
> distribute plugins with your source code than macros (if they are supported
> by the compiler system).
>
> --
> Philippe Lhoste

Tony Morris 2
Joined: 2009-03-20,
User offline. Last seen 42 years 45 weeks ago.
Re: How to get people to adopt Scala

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 05/06/11 05:15, Sean Corfield wrote:
> Not needed - for loops are the most common place in Java but
> Scala's for loops don't need them.
>

Step 1)
case class IntState[A](k: Int => (Int, A)) {
def map[B](f: A => B): IntState[B] = error("todo")
def flatMap[B](f: A => IntState[B]): IntState[B] = error("todo")
}

Step 2)
def incr(a: => A) = IntState(n => (n + 1, a))

Step 3)
def decr(a: => A) = IntState(n => (n - 1, a))

Step 4)
Profit!

Variables are for sissies, there I said it!

Jim Powers
Joined: 2011-01-24,
User offline. Last seen 36 weeks 2 days ago.
Re: How to get people to adopt Scala
On Sat, Jun 4, 2011 at 4:40 AM, Kevin Wright <kev [dot] lee [dot] wright [at] gmail [dot] com> wrote:
Much as I respect Tony's call for intellectual honesty, I don't think that this is going to help attract initial interest for Scala, though it could well be instrumental in cementing that interest at a later stage. No amount of honesty is going to help a person who hasn't at least considered using Scala in the first place.  That attraction is going to be, in part, an emotional decision; which means first establishing the relevance of the language when it comes to making someone's life easier.

At Scala Days I spent a considerable amount of time talking to Java programmers who have just started learning Scala, there were a lot of them.  Broadly speaking they fell into a couple groups:
  • Current Java devs who "get" what Scala has to offer, and are looking for a pathway to come up to speed to more fully exploit the language, libraries, and tools.  Several people I spoke to were doing this with the express purpose of trying to introduce Scala at their workplace.
  • Some devs were literally sent on reconnaissance from some company that has heard the "buzz" about Scala and want to see what it was all about.
During the final panel discussion there was some discussion from Dick Wall on the issue of the perception that Scala is complicated, he attributed it to "certain thought leaders in the Java community" making such statements essentially out of ignorance (perhaps malice?).  Personally, I'm not sure that we ought to care that Scala is perceive by some as more complex, compared to what Java programmers are familiar with it is more complex[1].  Mainly this seeming complexity arises from Scala correcting the many many mistakes in the Java language design.  A type system that works considerably better than Java's for starters[2].
For me a hugely telling sign that a successful future is Scala's[3] to lose was Heiko Seeberger's talk on Scalaz - it was PACKED!  It was the single most packed session I attended outside of the keynotes (literally standing room only).  The legend of Scalaz has spread far and wide.  Rightly or wrongly Scalaz is perceived as the alien technology on the JVM made possible by Scala.
Forget about quibbling over language minutiae, those Java devs who cannot get over not finding their pet Java feature in Scala may very well be lost to Scala forever[4].  Java-based enterprises that see their competitors adopting Scala but refuse to do so themselves will have to live with the bets they make.  I think that all that is needed for Scala's success is to simply continue to kick ass relative to Java in terms of productivity and quality of output[5]. The more that Java devs see Scala developers making amazing things happen relatively quickly the less they can afford to ignore Scala.
My 2 cents.
--
Jim Powers
[1] As an example: a number of Java devs, even ones further along in the learning process, expressed significant concerns about programming with implicts.  It just comes across as invisible magic that is waiting to f-them up.  Eventually, they will learn to overcome this fear.
[2] Accepting that it has its own warts
[3] Being all inclusive: Martin+EPFL team+Typesafe+Community at large
[4] Scala will not achieve "world domination" (at least compared to Java) IMO.  I think that a good outcome would be a nice double-digit (15-25) percentage of "all" development on the JVM is done with Scala.  Getting to that point is likely years away.  Of course, this assumes that something "objectively better" doesn't show up to directly (and successfully) compete with Scala on the JVM (A distinct possibility).
[5] Tooling support like IDEs will come.  Much of it is already there.  Continually comparing Scala IDE support to Java IDE support is not a terribly productive line of reasoning: Java is the 80,000 pound gorilla in the room with everything that implies in terms of the sizes of the armies building IDE-based tools.
soc
Joined: 2010-02-07,
User offline. Last seen 34 weeks 5 days ago.
Re: Re: How to get people to adopt Scala

Hi,
> I find the system of macros in Nemerle to be quite elegant, while
> remaining type safe. It would avoid to generate code with external
> tools to have Tuple1 to Tuple22, for example, and such facilities.
As far as I know this is a feature of the CLR type system that you can
basically have classes with a different number of arguments, not
something specific to Nemerle (although Nemerle look squite nice!).

You can have class Tuple[T](t: T), class Tuple[T,U](t: T, u: U), class
Tuple[T,U,V](t: T, u: U, v: V) ... and the CLR does some simple name
mangling behind the back. I wonder if that could be an improvement
applicable to Scala.

But I guess it counts as "overloading" and that comes with various
problems...

Bye,

Simon

Dick Wall 2
Joined: 2011-06-09,
User offline. Last seen 42 years 45 weeks ago.
Re: How to get people to adopt Scala

Hi Jim

I did indeed mention that the complexity label may have been (in part)
attached to Scala by some Java thought leaders, but I did not (nor
would I) attribute it to malice. I think it is a more subtle and human
reason - these are *Java* thought leaders, and if another language
becomes popular, it is not clear whether their leadership will extend
into the new domain. This is a pretty common situation - life changes
all the time and forces us to move out of our comfort zones. There are
really two main approaches to dealing with the situation. The first is
to recognize, accept and prepare for change. The second is to try to
prevent change. The former seems to be the best strategy long term,
since the path is littered with failures from trying to stand in the
way of progress.

That said, the more important point I wanted to get across is that,
from an adoption perspective, the last thing someone attempting to
move out of their comfort zone needs is someone else telling them that
everything they have been doing for the past decade or more is wrong.
It's a negative message, and it is also rather disingenuous - we have
made quite a lot of progress with loops and variables (for example, I
reckon you would find quite a few of both in, say, the TCP/IP stacks
of the world), sure - it might be time for a refresh, but where's the
hurry?

Dick

On Jun 5, 10:20 pm, Jim Powers wrote:
> During the final panel discussion there was some discussion from Dick Wall
> on the issue of the perception that Scala is complicated, he attributed it
> to "certain thought leaders in the Java community" making such statements
> essentially out of ignorance (perhaps malice?).  Personally, I'm not sure
> that we ought to care that Scala is perceive by some as more complex,
> compared to what Java programmers are *familiar* with it *is* more
> complex[1].  Mainly this seeming complexity arises from Scala correcting the
> many many mistakes in the Java language design.  A type system that works
> considerably better than Java's for starters[2].
>
> For me a hugely telling sign that a successful future is Scala's[3] to lose
> was Heiko Seeberger's talk on Scalaz -
> it was PACKED!  It was the single most packed session I attended outside of
> the keynotes (literally standing room only).  The legend of Scalaz has
> spread far and wide.  Rightly or wrongly Scalaz is perceived as *the* alien
> technology on the JVM *made possible by Scala*.
>
> Forget about quibbling over language minutiae, those Java devs who cannot
> get over not finding their pet Java feature in Scala may very well be lost
> to Scala forever[4].  Java-based enterprises that see their competitors
> adopting Scala but refuse to do so themselves will have to live with the
> bets they make.  I think that all that is needed for Scala's success is to
> simply continue to kick ass relative to Java in terms of productivity and
> quality of output[5]. The more that Java devs see Scala developers making
> amazing things happen relatively quickly the less they can afford to ignore
> Scala.
>
> My 2 cents.
>
> --
> Jim Powers
>
> [1] As an example: a number of Java devs, even ones further along in the
> learning process, expressed significant concerns about programming with
> implicts.  It just comes across as invisible magic that is waiting to f-them
> up.  Eventually, they will learn to overcome this fear.
>
> [2] Accepting that it has its own warts
>
> [3] Being all inclusive: Martin+EPFL team+Typesafe+Community at large
>
> [4] Scala will not achieve "world domination" (at least compared to Java)
> IMO.  I think that a good outcome would be a nice double-digit (15-25)
> percentage of "all" development on the JVM is done with Scala.  Getting to
> that point is likely years away.  Of course, this assumes that something
> "objectively better" doesn't show up to directly (and successfully) compete
> with Scala on the JVM (A distinct possibility).
>
> [5] Tooling support like IDEs will come.  Much of it is already there.
>  Continually comparing Scala IDE support to Java IDE support is not a
> terribly productive line of reasoning: *Java* is the 80,000 pound gorilla in
> the room with everything that implies in terms of the sizes of the armies
> building IDE-based tools.

Jim Powers
Joined: 2011-01-24,
User offline. Last seen 36 weeks 2 days ago.
Re: Re: How to get people to adopt Scala
Dick,
Tremendously thankful for your response!

On Thu, Jun 9, 2011 at 9:12 AM, Dick Wall <dickwall [at] gmail [dot] com> wrote:
I did indeed mention that the complexity label may have been (in part)
attached to Scala by some Java thought leaders, but I did not (nor
would I) attribute it to malice. I think it is a more subtle and human
reason - these are *Java* thought leaders, and if another language
becomes popular, it is not clear whether their leadership will extend
into the new domain. This is a pretty common situation - life changes
all the time and forces us to move out of our comfort zones.

OK, perhaps malice is too strong a word, but I agree that there is clearly a bias towards preserving one's status in a community vs. doing what's best for that community.  It speaks volumes about the quality of thought emanating from such thought leaders ;-).  
There are
really two main approaches to dealing with the situation. The first is
to recognize, accept and prepare for change. The second is to try to
prevent change. The former seems to be the best strategy long term,
since the path is littered with failures from trying to stand in the
way of progress.

Agreed.  Sadly, the latter is happening in 2011.  At the time Java was introduced (~1995) it was retrograde.  The imagination reels when considering the lost opportunities.  Well, better late than never.  
That said, the more important point I wanted to get across is that,
from an adoption perspective, the last thing someone attempting to
move out of their comfort zone needs is someone else telling them that
everything they have been doing for the past decade or more is wrong.

HA! It is exactly that point that has helped force myself out of mental atrophy and stagnation.  I learned and toyed with things like StandardML, Haskell, Miranda, Caml, etc. back in the 80s (of course various Lisps along the way).  I loved them, but back then there was no way that these languages and fundamental shift that they represented were going to figure prominently in my career.  Scala has brought all that roaring back to life for me.  Of course in the intervening 25 years or so some of the most brilliant minds on the planet have done wonders with what is possible in programming - I have much learning to do to catch up.  Granted, this is me, and my experience likely does not generalize, but then what should be done with the chasm between my new-found energies for re-thinking what is possible and the journeyman Java (or other non-FP/ML) programmer who just wants fewer semi-colons and curly-braces?  Where I am now I'm trying my best to export my enthusiasm and raise the average programming level of competence w.r.t. "advanced" and/or "academic" programming methodologies.  I will be using them in my code and I expect my fellow developers to understand what I write, the cost of hiring experienced talent.  If we're supposed to just write code for the noob, then just hire noobs and send us old farts out to pasture ;-) (no, I clearly don't mean all the seriously).  
It's a negative message, and it is also rather disingenuous - we have
made quite a lot of progress with loops and variables (for example, I
reckon you would find quite a few of both in, say, the TCP/IP stacks
of the world),

That's what the ST Monad is for ;-) 
sure - it might be time for a refresh, but where's the
hurry?

Because I'm trying to get things done and at the same time undoing the damage of 16+ years of Java (and VB, and C# and C/C++ and Ruby and ...) ;-).  Despite the fact that I would love it if discussions of software were happening at a completely different level, it isn't, the best I can do is try my best to make a (positive) difference.
All-in-all I think that EPFL/Martin and the growing Scala community haven't really done much wrong to get Scala into the enterprise and I think that the organic uptake of Scala will accelerate because it does hit a bit of a sweet-spot of some kind.  You can start with Java in Scala but you can grow form there almost to Haskell.  Java's ceiling was relatively low (unless your are Mario Fusco ;-) ) in terms of capturing and implementing abstract ideas well.  My main point is that Scala is qualitatively better where it counts and that awareness of this fact is spreading and the reality is that ultimately the status-preserving Java thought leaders will have to recognize that fact honestly.  The future is Scala's to lose.
-- Jim Powers
sergei
Joined: 2011-03-29,
User offline. Last seen 1 year 20 weeks ago.
Re: How to get people to adopt Scala

I apologize for repeating myself, yet the exchange I quoted below
illustrates the crux of the matter: at that point in Scala ecosystem
evolution, when Scala's technical superiority over Java/Ruby/Python/
PHP is clear to unbiased programming languages polyglots, the largest
barrier to fast Scala adoption becomes the sum of biases carried by
people who are deep experts in just one mainstream programming
language.

Psychological bias mostly comprises of emotional and subconscious
components. It was proven time and again, including rigorous peer-
reviewed studies, that trying to revert it using rational arguments
only makes the bias stronger! At some point in conversation, the "bozo
bit" is flipped by one or two sides and further interaction becomes
unproductive. I lived through this during the C++ => Java big
conversion era, and learned to just leave alone the people locked in C+
+.

I believe the best targets for Scala adoption are polyglots (or in
general people who had prior positive exposure to functional
languages) and uncontaminated minds (in general, programmers with 3 or
less years of a mainstream programming language experience). Battling
Java experts can be intellectually challenging and satisfying at some
level, yet is also can be quite a waste of time.

I think Scala ecosystem resources could be much better spent on
educating the up-and-coming generation of programmers, who, by the
way, currently all too easily get locked in one of the "dynamic trio"
languages - PHP/Python/Ruby. Another angle of attack would be to
pursue people with prior positive exposure to functional languages:
for instance, encouraging those still in love with Common Lisp or ML
to join Scala community.

On Jun 9, 8:11 am, Jim Powers wrote:
>
> On Thu, Jun 9, 2011 at 9:12 AM, Dick Wall wrote:
> > I did indeed mention that the complexity label may have been (in part)
> > attached to Scala by some Java thought leaders, but I did not (nor
> > would I) attribute it to malice. I think it is a more subtle and human
> > reason - these are *Java* thought leaders, and if another language
> > becomes popular, it is not clear whether their leadership will extend
> > into the new domain. This is a pretty common situation - life changes
> > all the time and forces us to move out of our comfort zones.
>
> OK, perhaps *malice* is too strong a word, but I agree that there is clearly
> a bias towards preserving one's status in a community vs. doing what's best
> for that community.  It speaks volumes about the quality of
> thought emanating from such thought leaders ;-).

Dinesh V
Joined: 2010-11-17,
User offline. Last seen 42 years 45 weeks ago.
Re: Re: How to get people to adopt Scala
Sergei, I agree trying to change an entrenched mind is a wasted effort.  Been there, done that.  Butted heads with quite a few bozos in my time.   However, polyglots are not the only people we should be focused on.  Take me for example,  I have been programming since 1983, used everything you can think of (Assembly, C, C++, Pascal, VB...) and almost exclusively Java since 1998.  So at this point in time, (not counting Javascript, SQL, XML/HTML/XSLT) it was Java only, so I hardly qualify as polyglot. Somehow dynamic typing did not grab me.  Perl, PHP, Python, Ruby etc. all failed to connect with me. But there was always a persistent feeling that Java was getting old and I have to do something to make sure I can continue to draw a paycheck for the foreseeable future.  Last year reluctantly I started looking into Scala.  Now I can say, I can get by.   Long story short, we have to look at both polyglots *AND* polyglot wannabes.
It probably takes different messages to get one as opposed to the other.
Just my 2c, Regards, Dinesh   On Thu, Jun 9, 2011 at 3:22 PM, Sergei <hello [dot] sergei [at] gmail [dot] com> wrote:
I apologize for repeating myself, yet the exchange I quoted below
illustrates the crux of the matter: at that point in Scala ecosystem
evolution, when Scala's technical superiority over Java/Ruby/Python/
PHP is clear to unbiased programming languages polyglots, the largest
barrier to fast Scala adoption becomes the sum of biases carried by
people who are deep experts in just one mainstream programming
language.

Psychological bias mostly comprises of emotional and subconscious
components. It was proven time and again, including rigorous peer-
reviewed studies, that trying to revert it using rational arguments
only makes the bias stronger! At some point in conversation, the "bozo
bit" is flipped by one or two sides and further interaction becomes
unproductive. I lived through this during the C++ => Java big
conversion era, and learned to just leave alone the people locked in C+
+.

I believe the best targets for Scala adoption are polyglots (or in
general people who had prior positive exposure to functional
languages) and uncontaminated minds (in general, programmers with 3 or
less years of a mainstream programming language experience). Battling
Java experts can be intellectually challenging and satisfying at some
level, yet is also can be quite a waste of time.

I think Scala ecosystem resources could be much better spent on
educating the up-and-coming generation of programmers, who, by the
way, currently all too easily get locked in one of the "dynamic trio"
languages - PHP/Python/Ruby. Another angle of attack would be to
pursue people with prior positive exposure to functional languages:
for instance, encouraging those still in love with Common Lisp or ML
to join Scala community.


On Jun 9, 8:11 am, Jim Powers <j [dot] [dot] [dot] [at] casapowers [dot] com> wrote:
>
> On Thu, Jun 9, 2011 at 9:12 AM, Dick Wall <dickw [dot] [dot] [dot] [at] gmail [dot] com> wrote:
> > I did indeed mention that the complexity label may have been (in part)
> > attached to Scala by some Java thought leaders, but I did not (nor
> > would I) attribute it to malice. I think it is a more subtle and human
> > reason - these are *Java* thought leaders, and if another language
> > becomes popular, it is not clear whether their leadership will extend
> > into the new domain. This is a pretty common situation - life changes
> > all the time and forces us to move out of our comfort zones.
>
> OK, perhaps *malice* is too strong a word, but I agree that there is clearly
> a bias towards preserving one's status in a community vs. doing what's best
> for that community.  It speaks volumes about the quality of
> thought emanating from such thought leaders ;-).



--
Regards,
Dinesh V
sergei
Joined: 2011-03-29,
User offline. Last seen 1 year 20 weeks ago.
Re: How to get people to adopt Scala

Interesting perspective. Thanks Dinesh. I think our positions are more
closer than apart though.

As I recall, the threshold for someone to be called polyglot in the
linguistics domain is mastery of five dissimilar enough languages. At
that point, the person also masters factoring these languages onto
orthogonal components by observing the languages similarities and
differences. Learning consequent languages is much easier.

In this regard, Scala, perhaps paradoxically for some, is a relatively
"easy" language for me, and I guess for you too. Not that I already
mastered it to the degree that Scalaz contributors have :-) Yet it is
easy in the sense that it nicely covers the "basis vectors" derived
from the languages I previously used. Sure, there are original
contributions to state of the art, especially in the type system, yet
most of the Scala elements perceived novel by pure Java programmers
could be previously found in a variety of less comprehensive and less
practical languages that never reached mainstream.

People deeply exposed to just one language are usually having
difficulty learning foreign languages beyond certain age, which is
typically thought to be 40 y.o. but is actually closer to 36 y.o. for
most people. There are very real neurophysiological aging mechanisms
responsible for that, which can be partially compensated for by
relentless deliberate practice, yet still on average teens learn
languages much easier than graybeards. Taking into account that
industrial career of a US programmer with graduate degree starts at
about 24 y.o. and that Java reign has lasted for about 15 years, a
huge mass of Java experts are either approaching or already crossed
the "point of no return" - sadly, Java will be the last programming
language they'd ever master.

Of course, one can also take an optimistic stance - a lot of those
Java experts still haven't crossed the threshold and shall be saved
before it is too late :-) Either way, this "paradigm lock-in" is a
very real phenomenon and members of the new paradigm ecosystem can
spend inordinate amount of time trying to overcome it. I think it is
much easier to first convert the polyglots and programmer "teens".

By the way, Dinesh, out of the languages you mentioned that you worked
with before, core JavaScript and XSLT are functional ones. So, my
grouping of "programmers having positive previous exposure to
functional languages" definitely applies to you. I think you ought to
be proud. Your younger-age curiosity pays off in a more ripe age!

Best,
Sergei.

On Jun 9, 1:08 pm, Dinesh V wrote:
> Sergei,
> I agree trying to change an entrenched mind is a wasted effort.  Been there,
> done that.  Butted heads with quite a few bozos in my time.
>
> However, polyglots are not the only people we should be focused on.  Take me
> for example,  I have been programming since 1983, used everything you can
> think of (Assembly, C, C++, Pascal, VB...) and almost exclusively Java since
> 1998.  So at this point in time, (not counting Javascript, SQL,
> XML/HTML/XSLT) it was Java only, so I hardly qualify as polyglot. Somehow
> dynamic typing did not grab me.  Perl, PHP, Python, Ruby etc. all failed to
> connect with me. But there was always a persistent feeling that Java was
> getting old and I have to do something to make sure I can continue to draw a
> paycheck for the foreseeable future.  Last year reluctantly I started
> looking into Scala.  Now I can say, I can get by.
>
> Long story short, we have to look at both polyglots *AND* polyglot wannabes.
>
> It probably takes different messages to get one as opposed to the other.
>
> Just my 2c,
> Regards,
> Dinesh

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