|
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 |
|
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, > |
|
> 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 |
|
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 |
|
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. > > (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. > 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 > > > > |
|
In reply to this post by Jon Harrop
Jon,
On 10/6/07, Jon Harrop <[hidden email]> wrote:
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 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, -- lift, the secure, simple, powerful web framework http://liftweb.net |
|
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 |
|
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: |
|
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 |
|
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/ |
| Powered by Nabble | Edit this page |
