Quantcast

[scala] Scala in industry

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[scala] Scala in industry

Jon Harrop

I would love to hear from anyone who has tried to use Scala in industry. This
includes products for Scala developers as well as general software for Java
that is written in Scala and even just tidbits of your work that you've used
Scala for.

In my survey of functional languages, I have discovered that OCaml is very
widely used in industry all over the world. F# is growing and has an even
larger proportion of industrial users than OCaml. But many other functional
languages like Standard ML and Haskell have made almost no impact on industry
in general (although Haskell is used a little in finance following SPJs
seminal paper).

Many thanks,
--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/products/?e
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [scala] Scala in industry

Andrew.Foggin
I would also be keen to hear more on this subject.

Sadly I don't have any commercial experience to report because all my
attempts to suggest opportunities for using Scala (or even investigating
its use) have met with zero support from the decision-makers in my
company (a Java/.NET shop).  I certainly would not be allowed to
recommend it to a client for anything.  The usual excuse is 'nobody else
is using it, and our developers don't know it'.  Of course they have
also not supported any suggestion to encourage developers to learn and
gain experience in other languages.

In general over the last decade in Australia (Perth now and Sydney
before that) I have encountered blank acceptance of the status quo and
immediate opposition to anything that is not 'conventional'.  I still  
hate the fact that after several unsuccessful attempts to get a job
using Java I eventually had to deliberately conceal the fact that none
of my previous 'commercial experience' was in Java (I still prefer not
to talk that other language).  That was in spite of the fact that I was
fluent in Java and had even obtained the certification to prove it.

I don't know if this this is a widespread problem or simply a result of
poor choice of employers.  I would be interested to find out!

Regards,

Andrew Foggin

Jon Harrop wrote:

> I would love to hear from anyone who has tried to use Scala in industry. This
> includes products for Scala developers as well as general software for Java
> that is written in Scala and even just tidbits of your work that you've used
> Scala for.
>
> In my survey of functional languages, I have discovered that OCaml is very
> widely used in industry all over the world. F# is growing and has an even
> larger proportion of industrial users than OCaml. But many other functional
> languages like Standard ML and Haskell have made almost no impact on industry
> in general (although Haskell is used a little in finance following SPJs
> seminal paper).
>
> Many thanks,
>  

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: [scala] Scala in industry

Ted Neward
> recommend it to a client for anything.  The usual excuse is 'nobody
> else
> is using it, and our developers don't know it'.  Of course they have
> also not supported any suggestion to encourage developers to learn and
> gain experience in other languages.
>
And they're right! Nobody else *is* using it right now, and they're
completely within their right minds not to adopt it just because it's
something new, without any compelling business reason why. And as for their
reluctance to encourage developers to learn and gain experience in other
languages, that's also within their rights: after all, does a construction
company pay the electrician to take more classes on latest techniques in
wiring? That's the electrician's job, if he wants to further his own career.

Your career is your own responsibility, not your employers. If your
co-workers won't stretch themselves... *shrug* After you've moved on to your
next programming job, be sure to give 'em an extra big smile when they hand
you your food at the drive-thru.

In my experience thus far (in taking surveys every weekend at the 30-plus No
Fluff Just Stuff conferences all over the North American continent), Scala
hasn't seen much widespread industrial penetration; in all honesty, that's
probably for the best for now. Martin and the others have wanted/needed to
change the Scala syntax from time to time to reflect the adjustment of their
thinking about how to build a powerful and approachable functional/object
hybrid, and corporations tend to have a dim view of using languages whose
syntax is "always in flux". (This is one of the principal critiques of
Ruby/Rails right now, particularly since the Ruby and Rails team seem to owe
no particular allegiance to the previous version of the language or tool
[1].)

Frankly, the fact that Scala isn't "officially" endorsed by your company
shouldn't hold you back from using it; Scala can be used in a variety of
places that will simplify your life, and if you're of truly rebellious bent,
you can write code in it, compile it, slip it inside a .jar file, and nobody
will be the wiser. :-) (The same is being said for JRuby and Groovy, so why
not Scala as well?)

Fact is, however, you're probably going to need to take some steps to prove
to your management that Scala is a better choice for your particular
project, which may mean taking Scala home and re-writing some of your work
project in Scala on your off-hours, then showing upper management the
difference and advantages of using Scala. Expecting them to hand Scala down
as a new corporate standard is not likely to happen for many years, if ever.
Every single person on this list can rant and rave for years about the
technical superiority of Scala, but until management sees real business
value in adopting this, there will be no industrial penetration. The burden
of proof is Scala's, and yours.

As for your personal biases against "that other language", frankly, I hold
such opinions in contempt. I think you're exposing a serious blind spot in
your career. I don't know what "that other language" is, but I can't think
of a language I've used that didn't somehow change my outlook about
programming in some way and make me a better programmer overall. C# has some
wonderful constructs I wish Java had: delegates, for one, and fully reified
generics for another. C++ also is powerful, particularly in their template
facilities. Objective-C, Smalltalk, Lisp, Ruby, even Visual Basic, all have
some intriguing ideas that the crafty programmer can steal... *ahem* I mean
leverage... in his next Java project... or his next C# project... or his
next C++ project... you get the idea.

If the problem is getting a job, I'm sympathetic. But one way to help
maximize your chances of obtaining employment is to look for the new ideas
to learn in whatever language or environment you're currently in. Even if
that's COBOL on the mainframe. Seriously.

Ted Neward
Java, .NET, XML Services
Consulting, Teaching, Speaking, Writing
http://www.tedneward.com
 
[1] Well, OK, that's not entirely true, but their first allegiance is to
"doing it right", and only secondarily (or tertiarily) to keeping backwards
compatibility.

> -----Original Message-----
> From: Andrew Foggin [mailto:[hidden email]]
> Sent: Saturday, October 06, 2007 9:46 PM
> To: Jon Harrop
> Cc: Scala list
> Subject: Re: [scala] Scala in industry
>
> I would also be keen to hear more on this subject.
>
> Sadly I don't have any commercial experience to report because all my
> attempts to suggest opportunities for using Scala (or even
> investigating
> its use) have met with zero support from the decision-makers in my
> company (a Java/.NET shop).  I certainly would not be allowed to
> recommend it to a client for anything.  The usual excuse is 'nobody
> else
> is using it, and our developers don't know it'.  Of course they have
> also not supported any suggestion to encourage developers to learn and
> gain experience in other languages.
>
> In general over the last decade in Australia (Perth now and Sydney
> before that) I have encountered blank acceptance of the status quo and
> immediate opposition to anything that is not 'conventional'.  I still
> hate the fact that after several unsuccessful attempts to get a job
> using Java I eventually had to deliberately conceal the fact that none
> of my previous 'commercial experience' was in Java (I still prefer not
> to talk that other language).  That was in spite of the fact that I was
> fluent in Java and had even obtained the certification to prove it.
>
> I don't know if this this is a widespread problem or simply a result of
> poor choice of employers.  I would be interested to find out!
>
> Regards,
>
> Andrew Foggin
>
> Jon Harrop wrote:
> > I would love to hear from anyone who has tried to use Scala in
> industry. This
> > includes products for Scala developers as well as general software
> for Java
> > that is written in Scala and even just tidbits of your work that
> you've used
> > Scala for.
> >
> > In my survey of functional languages, I have discovered that OCaml is
> very
> > widely used in industry all over the world. F# is growing and has an
> even
> > larger proportion of industrial users than OCaml. But many other
> functional
> > languages like Standard ML and Haskell have made almost no impact on
> industry
> > in general (although Haskell is used a little in finance following
> SPJs
> > seminal paper).
> >
> > Many thanks,
> >
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.488 / Virus Database: 269.14.2/1053 - Release Date:
> 10/6/2007 10:18 AM
>

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.488 / Virus Database: 269.14.2/1053 - Release Date: 10/6/2007
10:18 AM
 

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [scala] Scala in industry

John Nilsson
In reply to this post by Andrew.Foggin
On Sun, 2007-10-07 at 12:45 +0800, Andrew Foggin wrote:
> I would also be keen to hear more on this subject.
>
> Sadly I don't have any commercial experience to report because all my
> attempts to suggest opportunities for using Scala (or even investigating
> its use) have met with zero support from the decision-makers in my
> company (a Java/.NET shop).  I certainly would not be allowed to
> recommend it to a client for anything.  The usual excuse is 'nobody else
> is using it, and our developers don't know it'.

That may or may not be a rational strategy. If your company, and it's
clients, are not start ups or otherwise focused on a differentiation
strategy they should probably wait for the early majority[1] before
trying Scala.

[1]
http://upload.wikimedia.org/wikipedia/en/4/45/DiffusionOfInnovation.png

Regards,
John

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [scala] Scala in industry

Andrew.Foggin
In reply to this post by Ted Neward
Ted,

Thanks for your response.  It wasn't *quite* the response I expected
from you (after all I first saw Scala mentioned on your blog, and I'm
aware of the topic of your recent NFJS keynote) but your opinions and
advice are always welcomed.


Ted Neward wrote:

>> recommend it to a client for anything.  The usual excuse is 'nobody
>> else
>> is using it, and our developers don't know it'.  Of course they have
>> also not supported any suggestion to encourage developers to learn and
>> gain experience in other languages.
>>
>>    
> And they're right! Nobody else *is* using it right now, and they're
> completely within their right minds not to adopt it just because it's
> something new, without any compelling business reason why. And as for their
> reluctance to encourage developers to learn and gain experience in other
> languages, that's also within their rights: after all, does a construction
> company pay the electrician to take more classes on latest techniques in
> wiring? That's the electrician's job, if he wants to further his own career.
>
>  
I didn't ask them to adopt it just because it's something new!  As an
(ahem) 'architect' I am expected to research and present on new
technology areas that may be of value to the business (all on my own
time of course).  I prepared a presentation explaining the potential
value of an alternative JVM language, briefly touched on all of the
contenders, compared Groovy and Scala in some detail and explained why
(in my opinion) Scala is the best choice.  I attempted to explain how
this supported my company's publicly stated objectives (one example:
"Attract, excite, develop and retain outstanding people").  And I
outlined a strategy of careful and gradual adoption.  Of course they are
entitled to their opinion.  Obviously I was not sufficiently
persuasive.  But I had hoped for a better response that an immediate
"we're not interested" from the most senior person there (this was
before any discussion and of course there was none after that :-).

> Your career is your own responsibility, not your employers. If your
> co-workers won't stretch themselves... *shrug* After you've moved on to your
> next programming job, be sure to give 'em an extra big smile when they hand
> you your food at the drive-thru.
>
> In my experience thus far (in taking surveys every weekend at the 30-plus No
> Fluff Just Stuff conferences all over the North American continent), Scala
> hasn't seen much widespread industrial penetration; in all honesty, that's
> probably for the best for now. Martin and the others have wanted/needed to
> change the Scala syntax from time to time to reflect the adjustment of their
> thinking about how to build a powerful and approachable functional/object
> hybrid, and corporations tend to have a dim view of using languages whose
> syntax is "always in flux". (This is one of the principal critiques of
> Ruby/Rails right now, particularly since the Ruby and Rails team seem to owe
> no particular allegiance to the previous version of the language or tool
> [1].)
>
> Frankly, the fact that Scala isn't "officially" endorsed by your company
> shouldn't hold you back from using it; Scala can be used in a variety of
> places that will simplify your life, and if you're of truly rebellious bent,
> you can write code in it, compile it, slip it inside a .jar file, and nobody
> will be the wiser. :-) (The same is being said for JRuby and Groovy, so why
> not Scala as well?)
>
> Fact is, however, you're probably going to need to take some steps to prove
> to your management that Scala is a better choice for your particular
> project, which may mean taking Scala home and re-writing some of your work
> project in Scala on your off-hours, then showing upper management the
> difference and advantages of using Scala. Expecting them to hand Scala down
> as a new corporate standard is not likely to happen for many years, if ever.
> Every single person on this list can rant and rave for years about the
> technical superiority of Scala, but until management sees real business
> value in adopting this, there will be no industrial penetration. The burden
> of proof is Scala's, and yours.
>
> As for your personal biases against "that other language", frankly, I hold
> such opinions in contempt. I think you're exposing a serious blind spot in
> your career. I don't know what "that other language" is, but I can't think
> of a language I've used that didn't somehow change my outlook about
> programming in some way and make me a better programmer overall. C# has some
> wonderful constructs I wish Java had: delegates, for one, and fully reified
> generics for another. C++ also is powerful, particularly in their template
> facilities. Objective-C, Smalltalk, Lisp, Ruby, even Visual Basic, all have
> some intriguing ideas that the crafty programmer can steal... *ahem* I mean
> leverage... in his next Java project... or his next C# project... or his
> next C++ project... you get the idea.
>  
It was Visual Basic :-)  And I have learned from everything I have
done.  Unfortunately it has been my experience that admitting to this
language on my CV has hurt my career much more than I have been helped
by the experience.  Save your contempt for the people (often recruiters)
who automatically judge somebody's capabilities based on the fact that
they are or were a 'VB developer'

Regards,

Andrew Foggin

> If the problem is getting a job, I'm sympathetic. But one way to help
> maximize your chances of obtaining employment is to look for the new ideas
> to learn in whatever language or environment you're currently in. Even if
> that's COBOL on the mainframe. Seriously.
>
> Ted Neward
> Java, .NET, XML Services
> Consulting, Teaching, Speaking, Writing
> http://www.tedneward.com
>  
> [1] Well, OK, that's not entirely true, but their first allegiance is to
> "doing it right", and only secondarily (or tertiarily) to keeping backwards
> compatibility.
>
>  
>> -----Original Message-----
>> From: Andrew Foggin [mailto:[hidden email]]
>> Sent: Saturday, October 06, 2007 9:46 PM
>> To: Jon Harrop
>> Cc: Scala list
>> Subject: Re: [scala] Scala in industry
>>
>> I would also be keen to hear more on this subject.
>>
>> Sadly I don't have any commercial experience to report because all my
>> attempts to suggest opportunities for using Scala (or even
>> investigating
>> its use) have met with zero support from the decision-makers in my
>> company (a Java/.NET shop).  I certainly would not be allowed to
>> recommend it to a client for anything.  The usual excuse is 'nobody
>> else
>> is using it, and our developers don't know it'.  Of course they have
>> also not supported any suggestion to encourage developers to learn and
>> gain experience in other languages.
>>
>> In general over the last decade in Australia (Perth now and Sydney
>> before that) I have encountered blank acceptance of the status quo and
>> immediate opposition to anything that is not 'conventional'.  I still
>> hate the fact that after several unsuccessful attempts to get a job
>> using Java I eventually had to deliberately conceal the fact that none
>> of my previous 'commercial experience' was in Java (I still prefer not
>> to talk that other language).  That was in spite of the fact that I was
>> fluent in Java and had even obtained the certification to prove it.
>>
>> I don't know if this this is a widespread problem or simply a result of
>> poor choice of employers.  I would be interested to find out!
>>
>> Regards,
>>
>> Andrew Foggin
>>
>> Jon Harrop wrote:
>>    
>>> I would love to hear from anyone who has tried to use Scala in
>>>      
>> industry. This
>>    
>>> includes products for Scala developers as well as general software
>>>      
>> for Java
>>    
>>> that is written in Scala and even just tidbits of your work that
>>>      
>> you've used
>>    
>>> Scala for.
>>>
>>> In my survey of functional languages, I have discovered that OCaml is
>>>      
>> very
>>    
>>> widely used in industry all over the world. F# is growing and has an
>>>      
>> even
>>    
>>> larger proportion of industrial users than OCaml. But many other
>>>      
>> functional
>>    
>>> languages like Standard ML and Haskell have made almost no impact on
>>>      
>> industry
>>    
>>> in general (although Haskell is used a little in finance following
>>>      
>> SPJs
>>    
>>> seminal paper).
>>>
>>> Many thanks,
>>>
>>>      
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.5.488 / Virus Database: 269.14.2/1053 - Release Date:
>> 10/6/2007 10:18 AM
>>
>>    
>
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.5.488 / Virus Database: 269.14.2/1053 - Release Date: 10/6/2007
> 10:18 AM
>  
>
>
>  

dpp
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [scala] Scala in industry

dpp
In reply to this post by Jon Harrop
Jon,

On 10/6/07, Jon Harrop <[hidden email]> wrote:

I would love to hear from anyone who has tried to use Scala in industry. This
includes products for Scala developers as well as general software for Java
that is written in Scala and even just tidbits of your work that you've used
Scala for.

We use Scala and lift at http://circleshare.com

I have heard a fair amount of Scala buzz from recent MIT grads, but it seems to be more buzz than actual "I'm going to use this product."

In my survey of functional languages, I have discovered that OCaml is very
widely used in industry all over the world. F# is growing and has an even
larger proportion of industrial users than OCaml. But many other functional
languages like Standard ML and Haskell have made almost no impact on industry
in general (although Haskell is used a little in finance following SPJs
seminal paper).

At a recent meeting of the Bay Area Functional Programmers, a survey was done about languages.  It seemed that OCaml was the most popular in "industry."  Of course, that's probably because 20% of the people at the meeting were from SkyDeck. :-)  Haskell was also represented.  Erlang and Scala were fringe and considered "interesting" but not yet seeing serious industry adoption (yeah, I'm a freak... I'm fringe at a fringe meeting.)

On a broader note, industry trends and adoption is very interesting.

I was CTO at CMP Media in 1996 and pushed for using Java instead of a collection of Web Servers, ORBs, etc. from 15 different vendors.  We selected 3 vendors for our project (Sun, Oracle, and a wacky little 6 person company called WebLogic.)  We build a web server, a dynamic page generation system, an ad server, and a content management system that supported an editorial staff of 100 in a combination of Java and Oracle Forms.  We were linked off the Microsoft search page and for a while were the 11th most trafficked site on the Internet and the #1 Java-powered site on the Internet (any maybe the only one :-)

I saw the rise of Java, J2EE, and other technologies.  They swept the industry by storm and within a few years, every resume I saw had "Java, J2EE, etc." along with PowerBuilder, VB and a few other buzz-words.

But the driver was extreme pain in getting secure, stable sites up on the Internet.  Every company had to do it and Java/J2EE (or subsets there of) were a good solution and the industry herded toward them.

There is still pain in the industry because of the difficulty of building and maintaining complex web infrastructures, but it's not the intense pain felt in 1996-1998.

Rails popularity is a response to the difficulty/complexity of J2EE (when I say J2EE, I mean the collection of technologies, all of which are rarely used in a given web project.)  When I was doing Rails work (and Rails presentations) in 2005/2006, I was amazed at the number of Java developers in the audience.

There's definitely a sense within Java shops that there's got to be something "better."  Groovy and Grails offers something better.  JRuby and Rails offers something better (and perhaps this is why Sun bought the entire JRuby team and is paying a lot of very well deserved attention to the project [I say well deserved because Charles Nutter and his team are amazing.])

I feel Andrews pain about recommending new technology and getting shot down.  Unfortunately, most organizations are conservative and only change if absolutely necessary.  Look at the adoption of .Net for shrink-wrapped applications.  It's near zero.  At CircleShare, when we looked at the environment to develop our Windows native client in, we chose C++ because of the lack of .Net shrink wrapped applications (despite that I shipped a C#/.Net shrink wrapped app when I was at Cenzic.)  We're not conservative (heck, we use Scala.)  But the risks of using a technology that required a 40MB download for the runtime was too much for us when no one else was using that technology.

The bigger the organization, the more conservative it is.  The more the organization will look at developers (for better or worse) as replaceable parts and if there aren't 50 replacements for a Scala developer sitting in the organization, it's just too risky.  If they have to explain to the client that if the client fires them, the client will have to search for a Scala developer, the client will say, "No."

Will 2008 be the year of Scala?  Dunno.  A book would help.  It would help a lot.  There's enough buzz that the top publishers are looking for a Scala book.

But more than a book, the 4 or 5 success stories that will energize a critical mass of developers to try Scala and love Scala are a big part.  This is not formulaic.  Rails had no success stories (other than 37 signals own sites) but it managed to generate a lot of well deserved buzz for fast flash to bang.  But the JVM community is more conservative and I'm not sure that Scala (and lift) are hip enough to attract the cool kids that Rails did.  But I do believe that success in industry is the more likely route to Scala's success. It's too bad that Jon and Jamie can't talk more about their success stories as they probably have the best industry success with Scala.

Anyway, I'm ranting.

Thanks,

David

Many thanks,
--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/products/?e



--
lift, the secure, simple, powerful web framework
http://liftweb.net
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [scala] Scala in industry

Derek Chen-Becker-2
In reply to this post by Jon Harrop
Jon Harrop wrote:
> I would love to hear from anyone who has tried to use Scala in industry. This
> includes products for Scala developers as well as general software for Java
> that is written in Scala and even just tidbits of your work that you've used
> Scala for.

I've been writing a lot of in-house tools with Scala. My latest project
was a configuration tool for a very large number of VPN routers that
allowed us to automate configuration via a serial port. Granted, it was
a pretty small project but it was very nice to have the mix of Scala's
concise code with all of the Java libraries out there(RXTX was used for
the serial comms). Lately I've been writing some in-house webapps with
Lift and it's been a great experience compared to past work with Struts
and Tapestry.

Derek
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [scala] Scala in industry

√iktor Klang
In the long run, to get this application off of the ground, we'll need books, and we'll need consultants who can hold trainings (I'd probably enjoy tutoring).

In the short run, I suggest writing apps off-hours and then offer them to the company á la "If you like it, you pay me for it, and if you don't like it, then we'll not use it."


/Viktor

On 10/7/07, Derek Chen-Becker <[hidden email]> wrote:
Jon Harrop wrote:
> I would love to hear from anyone who has tried to use Scala in industry. This
> includes products for Scala developers as well as general software for Java
> that is written in Scala and even just tidbits of your work that you've used
> Scala for.

I've been writing a lot of in-house tools with Scala. My latest project
was a configuration tool for a very large number of VPN routers that
allowed us to automate configuration via a serial port. Granted, it was
a pretty small project but it was very nice to have the mix of Scala's
concise code with all of the Java libraries out there(RXTX was used for
the serial comms). Lately I've been writing some in-house webapps with
Lift and it's been a great experience compared to past work with Struts
and Tapestry.

Derek

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [scala] Scala in industry

Chas Emerick
In reply to this post by Jon Harrop
On Oct 6, 2007, at 11:04 PM, Jon Harrop wrote:

> I would love to hear from anyone who has tried to use Scala in  
> industry. This
> includes products for Scala developers as well as general software  
> for Java
> that is written in Scala and even just tidbits of your work that  
> you've used
> Scala for.

Late to the conversation of course, but I thought I would mention  
that we've been tinkering with the idea of building certain  
extensions to PDFTextStream with Scala.  Performance is critical for  
us, but continuing to hand-code relatively complex logic in Java is a  
painful prospect.  Scala is currently my favored path for getting us  
out of that rat-hole, and into a more manageable, functional  
environment that nevertheless meets our performance criteria.  We'll  
see how it goes over the next few months.

FWIW, we get to a .NET deliverable via ikvmc . . . so, at least for  
us, an MSIL build target is moot.

Cheers,

Chas Emerick
Founder, Snowtide Informatics Systems
Enterprise-class PDF content extraction

[hidden email]
http://snowtide.com
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [scala] Scala in industry

Blair Zajac-3
In reply to this post by Jon Harrop
Jon Harrop wrote:

> I would love to hear from anyone who has tried to use Scala in industry. This
> includes products for Scala developers as well as general software for Java
> that is written in Scala and even just tidbits of your work that you've used
> Scala for.
>
> In my survey of functional languages, I have discovered that OCaml is very
> widely used in industry all over the world. F# is growing and has an even
> larger proportion of industrial users than OCaml. But many other functional
> languages like Standard ML and Haskell have made almost no impact on industry
> in general (although Haskell is used a little in finance following SPJs
> seminal paper).
>
> Many thanks,

A colleague and myself are writing a replacement for an 3-tier asset management
system for the visual effects industry.  The current system is in Java and uses
Sun's CORBA stack to allow Perl, Python and C++ clients to manage the assets;
the system doesn't store the assets themselves, just paths to the assets.  The
current system sustains over 1,200 RPCs/sec on a single box using 10+ boxes to
serve requests.

The new system is using Ice (from www.zeroc.com) for the networking/RPC layer
and we write Scala code to implement the remote functions.  The Scala code
derives from the Java Ice abstract classes servlets with a large amount of
mixins to share code.

I've been finding myself using the loan pattern a large amount which ends up
having a Ruby feel to it with all the "blocks".

We're still in the development phase and haven't done any performance
optimization.  One concern I have is that the functional style of programing
that Scala allows introduces additional function calls and a deeper stack then
the old Java code, so I don't know how much performance overhead the more
concise coding style will cost.

The code is nice.  Using closures, it also feels like we're using cheap aspects,
as any RPC call calls a standard function that validates the environment and
arguments of the call, catches and remaps any exceptions to the exceptions
expected by the Ice layer.

Regards,
Blair

--
Blair Zajac, Ph.D.
<[hidden email]>
Subversion training, consulting and support
http://www.orcaware.com/training/
Loading...