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

Re: Re: Two killer applications for Scala

2 replies
John Nilsson
Joined: 2008-12-20,
User offline. Last seen 42 years 45 weeks ago.

OTOH Sala might not need to proove it self that much. The relative risk of using Scala where Java is ok is rather low and need not be a strategic decison. The interoperability is so good that the official story might very well be that you are using Java, just a particular dialect.

As a data point I might add that the things holding me back from introducing Scala is
a) The tooling support before 2.9. But that part is more or less solved by now.
b) The cost/benefit ratio. The less technically interested team members will have to be taught a new syntax and will have little incentive to do so. Scala will slow them down for a while with little percieved benefit. The more technically skilled members will have a better tool to build abstractions, but even here there will be a period of learning new idioms that will incurr a cost to development. Given that the project is relatively mature there might never be a ROI for this migration.

The things that makes me concider it is:
a) Fun. Scala removes lots of friction and makes development fun again. Hard to estimate in business value but I think this leads to happier and more creative employees.
b) I suspect that there is a possibility that the migration cost actually can be offset by the higher expressibility of the language and in a surprisingly short time.
c) The REPL. I think this alone has the potential to shorten debugging time significantly enough to warrant at least including scala toolong in development. I wonder what could be done with a REPL attached to the running production system.

BR,
John

Sent from my phone

Den 18 jun 2011 09:15 skrev "Sergei" <hello [dot] sergei [at] gmail [dot] com>:
Kevin Wright 2
Joined: 2010-05-30,
User offline. Last seen 26 weeks 4 days ago.
Re: Re: Two killer applications for Scala


On 18 June 2011 13:22, John Nilsson <john [at] milsson [dot] nu> wrote:

OTOH Sala might not need to proove it self that much. The relative risk of using Scala where Java is ok is rather low and need not be a strategic decison. The interoperability is so good that the official story might very well be that you are using Java, just a particular dialect.

As a data point I might add that the things holding me back from introducing Scala is
a) The tooling support before 2.9. But that part is more or less solved by now.
b) The cost/benefit ratio. The less technically interested team members will have to be taught a new syntax and will have little incentive to do so. Scala will slow them down for a while with little percieved benefit. The more technically skilled members will have a better tool to build abstractions, but even here there will be a period of learning new idioms that will incurr a cost to development. Given that the project is relatively mature there might never be a ROI for this migration.

The things that makes me concider it is:
a) Fun. Scala removes lots of friction and makes development fun again. Hard to estimate in business value but I think this leads to happier and more creative employees.
b) I suspect that there is a possibility that the migration cost actually can be offset by the higher expressibility of the language and in a surprisingly short time.
c) The REPL. I think this alone has the potential to shorten debugging time significantly enough to warrant at least including scala toolong in development. I wonder what could be done with a REPL attached to the running production system.


Maturity of tooling (compared to present-day Java) is still an issue, though it's worth noting that it's also not needed as much in many scenarios.  Just consider how much a typical Java developer will lean on their IDE for generating accessor methods, or equality and hashcode implementations.  You'll also find a lot of best practices from static analysis tools are either inappropriate, or are baked into the language by default.  Tooling is still valuable for find what source file a class is in, or to see what implicits are in effect, but it certainly isn't vital to counteract boilerplate and regain productivity (unlike Java)
As for motivating programmers, the "fun" aspect is _really_ effective here.  It's also fairly trivial to demonstrate that Scala is a better fit for their pet paradigm; which could be agile, performance (through parallelism), maintainability, security, readability or simply having to type fewer lines of code!
For ROI, you must remember that the bar for breaking even is being able to write java-like code in Scala.  Where the richer collection semantics, sane variance, type inference and general lack of boilerplate can counteract the lack of familiarity surprisingly fast.  Any gains after that are pure profit.
Finally...  To connect to a REPL in a running process, perhaps even remotely: http://blog.homecloud.ca/2010/03/scripster-interactive-scala-repl-using.html

--
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
Razvan Cojocaru 3
Joined: 2010-07-28,
User offline. Last seen 42 years 45 weeks ago.
RE: Re: Two killer applications for Scala

Quote:

c) The REPL. […] I wonder what could be done with a REPL attached to the running production system.

[Razie] Very cool things - See http://wiki.homecloud.ca/scripster

 

 

From: scala-debate [at] googlegroups [dot] com [mailto:scala-debate [at] googlegroups [dot] com] On Behalf Of John Nilsson
Sent: June-18-11 8:23 AM
To: Sergei
Cc: scala-debate
Subject: Re: [scala-debate] Re: Two killer applications for Scala

 

OTOH Sala might not need to proove it self that much. The relative risk of using Scala where Java is ok is rather low and need not be a strategic decison. The interoperability is so good that the official story might very well be that you are using Java, just a particular dialect.

As a data point I might add that the things holding me back from introducing Scala is
a) The tooling support before 2.9. But that part is more or less solved by now.
b) The cost/benefit ratio. The less technically interested team members will have to be taught a new syntax and will have little incentive to do so. Scala will slow them down for a while with little percieved benefit. The more technically skilled members will have a better tool to build abstractions, but even here there will be a period of learning new idioms that will incurr a cost to development. Given that the project is relatively mature there might never be a ROI for this migration.

The things that makes me concider it is:
a) Fun. Scala removes lots of friction and makes development fun again. Hard to estimate in business value but I think this leads to happier and more creative employees.
b) I suspect that there is a possibility that the migration cost actually can be offset by the higher expressibility of the language and in a surprisingly short time.
c) The REPL. I think this alone has the potential to shorten debugging time significantly enough to warrant at least including scala toolong in development. I wonder what could be done with a REPL attached to the running production system.

[Razie] See http://wiki.homecloud.ca/scripster

BR,
John

Sent from my phone

Den 18 jun 2011 09:15 skrev "Sergei" <hello [dot] sergei [at] gmail [dot] com>:

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