Tuesday, May 10, 2011

Software Development Posts of Interest - 10 May 2011

In this post, I reference and briefly summarize some of the posts I have found worth a closer look in recent days and weeks. Topics covered by these posts include professional software development, Groovy, Java, and Scala.

Software Development is Not a Stressful Job

In the post Overworked? Make a Leap to America's 10 Least Stressful Jobs, Erica Ho reports on a CareerCast survey that found Software Engineer to be the third least stressful job and Computer Programmer to be the fourth least stressful job in the United States. The comments are particularly interesting both on the original CareerCast survey coverage on these two occupations and on the Erica Ho article. At the time of this writing, there are nearly 1000 comments on reddit on this post. Many folks have chimed into to explain why the believe these positions are highly stressful.

Why Programming is a Unique Profession

Nalaka Gamage's presentation Why Programming is a Unique Profession provides an interesting perspective on why the author believes that software programming is a unique profession. Some of the statements in the presentation reiterate my own experience and some I've less certain about, but it's interesting to see the list of differences.

Groovy Posts

There are multiple recent posts that demonstrate the breadth of Groovy's usefulness for different developers with different development needs.

Java.next(): The Groovy Programming Language

In the post Java.next(): The Groovy Programming Language (not to be confused with a similarly titled post Java.next Overview from September 2008), Bozhidar Batsov provides fairly comprehensive coverage of Groovy, its history, and some of its more desirable features in a single post. Although the post itself provides interesting information, especially for someone new to Groovy, the feedback comments are perhaps what interested me most.

A comment from shaberman, a self-described static typing bigot, states, "Groovy would have won the 'Java.next' title by now if they weren't so stubborn about being a dynamic language." Stephen Haberman mentions the current state of Groovy++ in this comment.

Guy Fawkes's comment to the post compares Groovy and Scala in terms of jobs and hiring trends. He provides links to comparisons for Groovy, Grails, and Scala from sites SimplyHired and two from Indeed.com (second one).

As is typically the case when the inevitable comparisons start being made between Groovy and Scala, Pere Villega points out the now well-known post Scala as the Replacement to the Java Compiler in which Groovy creator James Strachan stated, "I can honestly say if someone had shown me the Programming Scala book by by Martin Odersky, Lex Spoon & Bill Venners back in 2003 I'd probably have never created Groovy." I'm glad he wasn't shown that book!

Quickly Creating Test Data with Groovy

I typically use Java for most of the applications I implement, but I use Groovy for an increasing number of the tasks involved with Java development. One of the tasks that I like Groovy for is generation of test data. In his post Quickly creating test data with Groovy, Simon Fortelny writes in detail about how he uses Groovy to do this very thing. His post is concise but covers the most significant points with a simple example.

Groovy Simplifies the Java Developer's Life

Another post that articulates my feelings about how Groovy makes my Java development and maintenance easier and better is the post Making Your Life Simpler—How Groovy Can Leverage Your Existing Java Skill. Adapted from the first chapter of Kenneth Kousen's Making Java Groovy, this post focuses on how use of Groovy makes a Java developer's life easier. The author states, "We’re much more interested in helping Java than replacing it."

Scala and a Dozen Concurrency Pitfalls

Cay Horstmann captured some "Java concurrency pitfalls" and presents them in Scala in his post A Dozen Concurrency Pitfalls.

Another Final Word on Final

I'm a big fan of using Java's final keyword liberally. Jarrod Roberson has written a post called The Final Word on Final that extols the uses and virtues of the final keyword. The title of this post reminds me of Renaud Waldura's The Final Word On the final Keyword.


In this post, I have summarized several software development posts I have found to be of interest in recent days and weeks. The posts on Groovy, Java, Scala, and software development in general were worth the look past the headline.

No comments: