Mitch Pronschinske is the Lead Research Analyst at DZone. Researching and compiling content for DZone's research guides is his primary job. He likes to make his own ringtones, watches cartoons/anime, enjoys card and board games, and plays the accordion. Mitch is a DZone Zone Leader and has posted 2576 posts at DZone. You can read more from them at their website. View Full User Profile

Daily Dose - Juicy Details About Scala 2.9

  • submit to reddit
It seems that the Scala community is perfectly willing to convert their projects to the new 2.8 binaries (Scala 2.8, released last month, was not binary compatible with 2.7).  Over 50% of more than 500 projects have already been converted.  After a bugfix release, the developers of Scala intend to release version 2.9 in December 2010 or January 2011.  A major new feature of 2.9 will be parallel collections, which will benefit from the uniform collections framework in 2.8.  The first version of parallel collections is already available in the nightly builds.  The developers also foresee many other new features that significantly leverage multi-core computing in novel ways.

Grails 1.3.4 Fixes Plenty o' Bugs
A bunch of bugs were fixed in the newly released Grails 1.3.4.  Along with the bugfixes were a handful of improvements and new features.  You can now, for example, create skinny WARs containing only the necessary plugin dependencies.  Plugins can more easily insert Hibernate event listeners and the framework can recursively include in-place dependencies of in-place plugins.  Grails 1.3.4 has upgraded to Groovy 1.7.4

Virgo Milestone 3 Ships from Spring
The newest release of Virgo 2.1 (formerly Spring dmServer) is available this week.  The third milestone includes more performance improvements (especially for Windows).  There are also updated versions of Logback and SLF4J along with some minor bugfixes.

Ellison Stands up for his Tennis Buddy, Mark Hurd
Oracle CEO Larry Ellison has responded to the HP board's recent decision to force Mark Hurd out of the CEO position in the wake of sexual harassment allegations and falsified expense reports.  Ellison, who regularly invites Hurd over to his estate for tennis matches, said the HP board admitted that they fully investigated the allegations and found them to be false.  Ellison says the essential firing of Hurd is "the worst personnel decision since the idiots on the Apple board fired Steve Jobs many years ago."  

Common Programmer Health Problems
Read about these problems, for your health.
Your rating: None Average: 5 (1 vote)


Scott Warren replied on Tue, 2010/08/10 - 11:28pm

The link for Grails is going to Scala. Should it be ?

Andres Almiray replied on Wed, 2010/08/11 - 2:09am in response to: Scott Warren

Fixed the link, thanks for pointing it out Scott!

Mike P(Okidoky) replied on Wed, 2010/08/11 - 1:06am

I think one of the biggest embarrassing flaws of Scala is the lack of a proper break/continue. I literally can not believe that Martin, such a bright guy, resisted putting this in. I sincerely hope he changed his mind and provides a proper break/continue construct without clunky exception mechanisms.

Silvio Bierman replied on Wed, 2010/08/11 - 3:28pm in response to: Mike P(Okidoky)

This remark makes me suspect you must have reached an impressive level of Scala experience and insight.

Mike P(Okidoky) replied on Wed, 2010/08/11 - 10:16pm in response to: Silvio Bierman

You must not code much.

Silvio Bierman replied on Thu, 2010/08/12 - 4:25pm in response to: Mike P(Okidoky)

Actually I do and I have done a lot of Scala coding. Thank god there is you to set Martin straight.

Mike P(Okidoky) replied on Fri, 2010/08/13 - 1:01am in response to: Silvio Bierman

The code you're writing must not be doing a whole lot of iterating through collections. You know, break, when you want to cancel the remaining elements. And, continue, when you want to conditionally stop considering the remaining part of an iteration, including in places like inside multiple if constructs (so inversing the condition and encapsulating the conditional inside an if can't work). Perhaps I should draw a picture for both you and Martin.

Silvio Bierman replied on Fri, 2010/08/13 - 2:04am in response to: Mike P(Okidoky)

No, since I stopped using Java for new projects and started using Scala about a year and a half ago my code no longer does that sort of stuff. If you had actually tried and been able to grasp the whole concept of the Scala idiom you would know that there are much terser, cleaner and easier ways to do this. None of them involve break or continue and most of them do not even involve coding loops. You are probably trying to write Java code using Scala syntax. In that case I can understand you feel you need break/continue and a case could even be made to include goto, which was sorely missing from Java as well. Your initial remark sounds a bit like someone who says he hates Ferrari's because they have the hand break lever on the left side of the drivers chair.

Mike P(Okidoky) replied on Fri, 2010/08/13 - 10:08am in response to: Silvio Bierman
"These keywords are not included in Scala 2.7, and must be implemented in a different way. For break, the simplest thing to do is to divide your code into smaller methods and use the return to exit early. For continue, a simple approach is to place the skipped-over parts of a loop into an if. Scala 2.8 will include break, but not continue."

Breaking up a set of loops into separate methods, that's elegant? Or cluttering the code up using closures?
Break is supposed to be supported in 2.8. I sincerely hope it doesn't use an awkward exception process.
Also in Java you can use labels. You can place a label before any scope (or statement even?), like just before a loop. Then you can have an inner loop inside that loop, and you can do break label; breaking not just out of the inner loop but out of the outer loop as well. No clumsy flags needed.
Martin did such a cool job on the compiler, so many elegant things there. Why oh why this anti break/continue religion. He needs to admit this was a mistake and correct this.

Silvio Bierman replied on Fri, 2010/08/13 - 3:40pm in response to: Mike P(Okidoky)

You are obviously totally unable to think out of the imperative/Java box. Unless you are willing and able to rethink programming and start thinking in terms like immutability and functional idioms you should probably forget about Scala altogether. Both Scala and yourself will be better served. In any case, break and continue are some of the least of your problems.

Mike P(Okidoky) replied on Mon, 2010/08/16 - 12:13pm in response to: Silvio Bierman

Instead of making assumptions how inferior someone else must be (you do this to make yourself look superior?), try offering a reasonable explanation.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.