|
View:
New views
20 Messages
—
Rating Filter:
Alert me
|
| < Prev | 1 - 2 - 3 - 4 | Next > |
|
|
[scala] Scala Marketing ChallengeI really hate spamming email boxes, but I do think this is important to the future of Scala. I was hoping to get feedback from the community about the following:
1) If you're using Scala at work, what methods did you use to convince coworkers/managers to switch? 2) What do you think Scala needs to do to "market" itself to the Java Community Although I set up a place for comments on my blog (shameless plug: http://suereth.blogspot.com/2008/07/scala-marketing-challenge.html) I'd like to see what the users on this list have to think about the issue. - Josh As an Aside: I'm attempting to make a case to prove the viability of Scala for future work at my company currently and am hoping to gain hear about others experiences. |
|
|
Re: [scala] Scala Marketing ChallengeJosh,
I find it quite interesting that you are not asking the question "is Scala an appropriate choice for a production language at our company?", but appear to be assuming that it is a good choice for you, and all that is left is to convince your management and co-workers that you are right. If I were undecided, I would be immediately put on the defensive by that approach. It would seem more appropriate for you to be supplying your co-workers with information about the pros and cons of using Scala and asking for their opinion about whether it is right for your company. My current opinion about the pros and cons of Scala as compared to Java: Pro: Scala is a more powerful and complex language than Java, and thus will allow your developers to be more productive, so you will not need as many developers. Con: Scala is a more powerful and complex language than Java, and thus will require that your developers are more intelligent, making it harder to find more developers. I believe "The Scala Experiment" is to find out if the additional power and complexity of Scala can successfully be brought to the masses of Java programmers. I am not yet sure if I would recommend to my own company that we be a part of that experiment. As with you, I am interested in hearing about other people's experience switching from Java to Scala in a production environment. -- Jim On Wed, Jul 16, 2008 at 09:45:09PM -0400, Josh Suereth wrote: > I really hate spamming email boxes, but I do think this is important to > the future of Scala. I was hoping to get feedback from the community > about the following: > 1) If you're using Scala at work, what methods did you use to convince > coworkers/managers to switch? > 2) What do you think Scala needs to do to "market" itself to the Java > Community > Although I set up a place for comments on my blog (shameless plug: > http://suereth.blogspot.com/2008/07/scala-marketing-challenge.html) > I'd like to see what the users on this list have to think about the > issue. > - Josh > As an Aside: I'm attempting to make a case to prove the viability of > Scala for future work at my company currently and am hoping to gain > hear about others experiences. |
|
|
Re: [scala] Scala Marketing ChallengeOn Wed, Jul 16, 2008 at 6:45 PM, Josh Suereth <joshua.suereth@...> wrote:
> I really hate spamming email boxes, but I do think this is important to the > future of Scala. I was hoping to get feedback from the community about the > following: > > 1) If you're using Scala at work, what methods did you use to convince > coworkers/managers to switch? I'm probably in a slightly different situation from you, but... in my research lab at my university, two of us began using Scala because we were sick of Java, which we could do only because we were not really collaborating with anyone else. My professor caught on, asked for a demo, and now our lab is discussing (tomorrow!) the future of Scala in our lab. Said professor seems very pro-Scala, but several other students aren't keen on learning a new and fancy language. > 2) What do you think Scala needs to do to "market" itself to the Java > Community Not in a good position to comment here. Regardless, seconding Jim McBeath, I agree that you really need to assess the strength/interest in learning of your coworkers. If people who might be using your code really need to/want to stick with Java, then you're going to have to go out of your way to make sure your code is reasonably legible to someone who isn't interested in learning Scala, in addition to being callable from Java code. That might deprive you of a lot of the fun stuff of Scala. If you really want to sell Scala, show them the interpreter, and how you can call up (Java) code while it's being developed and try things out without having to recompile. That's how I really got drawn to Scala, and how most of the people in my lab that I've hooked have gotten interested too. -- David > > > Although I set up a place for comments on my blog (shameless plug: > http://suereth.blogspot.com/2008/07/scala-marketing-challenge.html) > I'd like to see what the users on this list have to think about the issue. > > - Josh > > As an Aside: I'm attempting to make a case to prove the viability of Scala > for future work at my company currently and am hoping to gain hear about > others experiences. > > > > |
|
|
Re: [scala] Scala Marketing ChallengeHi,
Here is my current practice of Scala at work: 1. I used it to do some one-off migration scripts to change irrelevant data 2. I used it to build a small "console" to our java system, mostly using the loan pattern and providing utility functions to navigate the system 3. I used it to implement maven plugins to enhance our build/delivery process. I originally started doing this with Groovy and that really felt too painful and error prone. 4. I regularly show my coworkers how some java code could be transformed to better Scala code. For example, yesterday we had this kind of construct: if (Log.isDebugEnabled()) log.debug("Category", "a message" + with + " a lot " + of + " parameters") This was, in our framework, essentially justified as a way to get better performances and avoid to build the second argument to the debug function. So I showed my colleagues how lazy evaluation would help there. So far, I haven't attempted to promote the use of Scala for more that this because the all the production code we deliver to our very conservative customers has to be Java. One word though about the cons of Scala: >Con: Scala is a more powerful and complex language than Java, >and thus will require that your developers are more intelligent, >making it harder to find more developers. I have the impression that this may not be so true. You can adopt a very gentle learning curve from Java to Scala where you don't have to change your programming style a lot. So good Java developers don't have to be specifically smarter and should feel at home (if not better!) using Scala. Eric. |
|
|
Re: [scala] Scala Marketing ChallengeJosh Suereth wrote:
> 2) What do you think Scala needs to do to "market" itself to the Java > Community -Via university courses yielding a generation of Scala native speakers. Scala's theoretical superiority, functional style, and academic origins make it a good fit for university teaching - Published books that teach the language - Published books & articles that teach/use Scala to build typical Java apps eg interop with JEE Webapps, Hibernate, Spring, Swing, JSP - Continue to improve the Scala IDE plugin offerings - Example apps/sites/success stories built in Scala Personally, I think Scala would have been more easily adopted by the Java "mass-market" if it were closer to Java's feel (cf Groovy). The differences, while seemingly superficial, make for a steep learning curve for Java refugees (like myself). Programming language punctuation is strongly emotional for many people. Coming from Java, even if you don't explore the extended capabilities of Scala, you must unlearn/learn remappings like "<type> <name>" => "<name>: <type>" "void" =>"Unit" "a[i]" => "a(i)" "<T>" => "[T]" Im frankly dubious about the willingness of many of my workmates to ever make that discomforting transition, unless their job required it. So I expect the user-base will expand through (a) a younger generation who learn Scala early, (b) atypically smart &/ frustrated Javans. -Ben |
|
|
Re: [scala] Scala Marketing ChallengeWe don't use Scala yet at work, but I often tell my coworkers about my experiences with my private projects, and point out where it is clearly superior to Java. I plan to introduce Scala using the back door when the next small "personal" project comes up -> viral marketing. Of course one of the most important arguments is the interoperability with Java, and you can't stress this often enough. Just repeat 10 times "But you get just normal Java classes!", that seems to be very convincing :-) Landei |
|
|
Re: [scala] Scala Marketing ChallengeOn Thu, Jul 17, 2008 at 4:09 AM, Jim McBeath <scala@...> wrote: I am not too optimistic anymore. All in all I received positive feedback from 3 people in our company - two of them don't program anymore themselves and the other one left a while ago.Josh, The sad truth is that the majority* of the Java coder force already struggles with the Java syntax. Add a drop of abstraction to the pool and they'll drowning. I still see at some after more than 2 years Java exclusively that they carry habits from VB, PowerBuilder and C-programming with them - a pardigm shift towards more functional programming doesn't seem to be realistic. All you end up with is a bunch of java code in a more compact syntax. Thus for the masses - I'd rather say no. For dream-teams of medium to large size, definitely yes. Carsten * I could be wrong there - but I don't think so |
|
|
Re: [scala] Scala Marketing ChallengeGuys,
Mktg 101 -- don't push: pull. Nobody wants anything you try to push on them. Instead, you tell them they can't have it. You select a small team of young go-getters. Only they are "allowed" to use this "new" technology. You let this team leak anecdotes about their improved productivity. You lionize them and their "killer" app -- which they produced in 1/2 the time they originally estimated to get the job done in Java in 1/10th the lines of code. Rinse. Repeat. Two cycles and your workforce will be clamoring to be "allowed" to use the technology. Cf gmail... or any other viral mktg play. Heck, Dr Seuss' Sneetches is a good primer. As for "complexity", you can code in pidgin Scala like you can code in pidgin Java. Nobody's forcing you to use higher-order functions or monads or dependent types. Good engineering discipline and ethic combined with common sense and hard won experience are the only reliable means to keep complexity where it needs to be, as near as i can tell. Best wishes, --greg On Thu, Jul 17, 2008 at 12:09 AM, Carsten Saager <csaager@...> wrote:
-- L.G. Meredith Managing Partner Biosimilarity LLC 806 55th St NE Seattle, WA 98105 +1 206.650.3740 http://biosimilarity.blogspot.com |
|
|
Re: [scala] Scala Marketing ChallengeThis is all great feedback thanks!
So.. to recap: I started using Scala on minor utilities at work mainly because it was much faster to do things in Scala than it was to do them in Java, and I could use all the Java lbraries I had knowledge of. I also had no fundamental understanding of FP. This is why I think Scala, even in a limited form is still highly useful. I also like the ability to keep all our java code and "add" scala in for areas that make sense. Does anyone have an example of using Scala with a large distributed JEE application or an SOA (XML) application? I was specifically wondering about using Scala Actors to speed up a Message-Passing (JMS) area of code. I've been doing some extra research myself into what kind of performance improvements could potentially be made with an actor-based. So besides the white papers on Scalabity, performance improvement, can anyone give me an example of converting a JEE / JMS solution into an Actor-based solution (or hybrid) and what kind of performance gain (if any) was created? I do understand that how you architect the systems is as important as the technology behind it. Just curious if anyone else in the community can give me some feedback in this area. Thanks! -Josh On Thu, Jul 17, 2008 at 4:05 AM, Meredith Gregory <lgreg.meredith@...> wrote:
|
|
|
Re: [scala] Scala Marketing ChallengeEric Torreborre wrote: I agree with Eric here. Scala for the library consumer has the flavor of Ruby/Python and has a gentler learning curve than does Java. Sure, if you want to write libraries and make use of Scala's type system and implicits, etc., there's a lot to know, but those tasks, IMHO, should be the job of the architects anyway.One word though about the cons of Scala: With that being said, Scala compiler error messages are confusing to the not overly experienced or skilled programmer. The Scala team is making strides in the direction of improving them and I look forward to continued improvement. |
|
|
[scala] Re: Scala Marketing ChallengeOn Wed, 16 Jul 2008 21:45:09 -0400, Josh Suereth wrote:
> 1) If you're using Scala at work, what methods did you use to convince > coworkers/managers to switch? I run the company :-) > 2) What do you think Scala needs to do to "market" itself to the Java > Community Perhaps I can write from my 20 years experience in programming of real- world applications. My original background was a science PhD, and so am not that familiar with the more esoteric areas of computer science. I've really enjoyed experimenting with scala, and am thinking of using it in some new projects. I don't want this to seem like a rant where I'm sitting back telling other people what to do - I may contribute bits and pieces myself where time permits. I have a lot of good things to say about scala, but this is about improving its marketing, so only a few are mentioned. Anyway ... Much of the documentation on scala leans toward the computer science aspects of the language, without much explanation of what it all means - its a steep learning curve. There are some truly powerful features in scala, but they are not much good if the average programmer can't access them. Take this for example: http://www.scala-lang.org/intro/variances.html It reads like a science paper: "The annotation +T declares type T to be used only in covariant positions. Similarly, -T would declare T to be used only in contravariant positions." .. while I'm sure it is succinct and accurate, there is nothing to tell the reader what that actually means. Even a link or two to Wikipedia would help. It took me quite a while going through all of the doco pages, repeatedly, to put it together. There is still a lot that is hazy. Furthermore, stacks, although very useful, are not that inspiring to me as I don't go around implementing them as a rule. Rewrite this article with the kind of classes that average programmers write and it will sit better with them - perhaps I'll contribute something here when I feel I fully understand it. There is a tendency to emphasize how scala is a victory for functional programmers/techniques - admittedly this might be true, but it led me overlook scala the first time I saw it mentioned, because it immediately makes me think of Scheme and its ilk, and I don't want to be building anything with that (OK, I may be a language bigot). Scala could be marketed more as the type-safe maintainable alternative to python, ruby et al. Then you might get some attention - average programmers just want to build and maintain stuff with least effort. Less emphasis on "functional" could actually give scala (and hence functional techniques) a boost. I found a serious and obvious bug in stable sort that essentially rendered it essentially useless & dangerous: http://lampsvn.epfl.ch/trac/scala/ticket/1072 This sort of thing should not happen in core libraries at version 2.7.1 - it is now fixed however, which is a credit. Seeing that type of bug in a released version damages my confidence for using it in say, a financial application. Perhaps do something like the Gnome or Linux kernel projects where you alternate even numbered (2.6.x, 2.8.x, ...) releases with unstable ones (2.7.x, 2.9.x ..) so that you are really sure your stable releases are well tested in the field. Also, it this bug appears to indicate that increased testing coverage for core libraries is needed. But what you really need is a few good applications written in scala to become very popular! I hope this is helpful .. scala is very impressive. Cheers, Sam Stainsby. |
|
|
Re: [scala] Re: Scala Marketing ChallengeOn Thu, Jul 17, 2008 at 6:50 PM, Sam Stainsby <sam@...> wrote:
There is a tendency to emphasize how scala is a victory for functional I agree with Sam. I also overlooked scala initially for this reason. I also think that until there is some much stronger IDE support it's going to be a hard sell. The excellent IDE support for java is a massive productivity booster that I sorely miss when I program in scala. -Gordon |
|
|
[scala] Re: Scala Marketing ChallengeSam Stainsby wrote:
> Scala could be > marketed more as the type-safe maintainable alternative to python, ruby > et al. +1 - python and ruby are the rivals, not Java. [The mobile space would be an exception.] Marketing Scala as better than Java is like marketing Java as better than Cobol. |
|
|
Re: [scala] Re: Scala Marketing ChallengeBut many people aren't so enlightened. Marketing Scala as a better Java is still useful because people still take Java seriously.
On Fri, Jul 18, 2008 at 9:38 AM, Eric Willigers <ewilligers@...> wrote:
|
|
|
Re: [scala] Re: Scala Marketing Challenge+1 to taking Java Seriously.
On Thu, Jul 17, 2008 at 9:41 PM, Sean McDirmid <sean.mcdirmid@...> wrote:
|
|
|
[scala] Re: Scala Marketing ChallengeEric Torreborre wrote:
> You can adopt a very > gentle learning curve from Java to Scala where you don't have to change > your programming style a lot. I agree in the specific case when you are self motivated to learn Scala. But, if my employer asked me to use scala for my next project and I was an average-joe programmer (which I most definitely am), I would need to quickly ramp up so that I could understand existing libraries, understand what my smart co-worker has written, understand some of the language tip&tricks, and all that would be non-trivial. I think I spent about 4-6 months (in my leisure time) of self-motivated effort before I could get comfortable using scala. I have only read the draft of "Programming in scala", so I might have missed a gentler learning curve if the final book provides it. |
|
|
Re: [scala] Scala Marketing ChallengeOn Wed, Jul 16, 2008 at 6:45 PM, Josh Suereth <joshua.suereth@...> wrote:
> 2) What do you think Scala needs to do to "market" itself to the Java > Community IDE. Choice of programming language is one factor of many in terms of a programmer's overall productivity. Java has tremendous tool support for editing, debugging, refactoring, making GUIs, etc., etc., etc. Scala has a long way to go if it really wants to make the transition to widespread usage. The F# guys have been working hard for several months to transition their research language to one that's ready for real-world deployment. It would be interesting to ask them about what lessons they've learned from this process, and just how much work it takes to make that transition. |
|
|
Re: [scala] Scala Marketing Challenge |