Tuesday, June 21, 2011

Software Development Posts of Interest - 21 June 2011

This post is a summary of some recent articles and posts related to software development that I have found to be interesting. They cover computer science as a career, the history of programming, the good and bad of Hibernate, mobile apps popularity relevant to web use, the necessity of learning JavaScript, and free electronic books for web developers.

Computer Science: A Top 5 In-Demand Degree

The Yahoo! Education article Top 5 In-Demand Degrees by Chris Kyle references the National Association of Colleges and Employers (NACE) "Job Outlook 2011" and lists "most in demand [degrees] at the bachelor's degree level." Among the five listed bachelors degrees are Engineering (#3), Business Administration (#5), and Computer Science (#4). The average salary for computer scientists is listed as over $100,000 (annual USD).

The United States Department of Labor is cited in the article. The Bureau of Labor Statistics website includes interesting insight on several related industries as part of their Occupational Outlook Handbooks (currently the 2010-2011 editions). These include Computer Scientists, Network/System/Database Administrators, and Software Engineers/Programmers. According to these documents, the job outlook in these industries is better than average.

The History of Programming

Mike Rozlog's The History of Programming is an interesting read. Rozlog not only covers the history of programming, but also looks at today and labels it the "land of the mixers" where "instead of coming up with something new, we now add from all different languages to create a new language." He cites Falcon as an example of this. He then briefly speculates on what the future might hold.

I learned several new facts about the history of programming from this article, but what I liked best was how Rozlog articulated something I have long felt:
For over the past 50 years, we have been rehashing the same ideas over and over. Requirements are not shrinking and customer expectations are not withering, so whatever language you choose to complete a project, make sure you like it and it gets the job done.

I could not have said it better myself.

Ten Free Ebooks Every Web Developer Should Have

There is a nice collection of free electronic books briefly summarized and referenced in the post 10 Free Ebooks Every Web Developer Should Have. The cited electronic books cover diverse topics of interest to web developers such as performance, security, web design, search interfaces, accessibility, best practices, web style, and HTML5.

iPhone/iPad Applications sans Objective-C

One of the referenced books is Jonathan Stark's Building iPhone Apps with HTML, CSS, and JavaScript. The ability to write applications for iPhone and iPad without having to learn Objective-C is exciting. The prevalence of HTML, CSS, and JavaScript knowledge make this combination attractive for developing applications for these platforms.

Does Everyone Need to Learn JavaScript Now?

Speaking of JavaScript, Mike Loukides writes that "JavaScript is now a necessity" in his article Why a JavaScript hater thinks everyone needs to learn JavaScript in the next year. Loukides writes that what has changed for JavaScript are the "game-changers" of the jQuery JavaScript library, JavaScript Object Notation (JSON), Node.js, and HTML5.

I too have never been a huge fan of JavaScript, but it has been a necessary language to know in any serious web development and I've reluctantly used it on and off over many years of web development. I am glad to see improved libraries and support making it easier to use. Most important to me is that increasing consistency of JavaScript implementations across multiple target browsers. For a Java developer used to "write once run anywhere," JavaScript's different treatment and behavior in different browsers has been maddening.

Another free ebook listed on the Ten Free Ebooks Every Web Developer Should Have post is Marijn Haverbeke's Eloquent JavaScript and I intend to give that book a look.


There seems to be rapidly growing interest in CoffeeScript, described as "a little language that compiles into JavaScript" in "an attempt to expose the good parts of JavaScript in a simple way." The CoffeeScript Cookbook site holds great promise as a repository of "recipes for the community by the community." Another recent post of interest for folks new to CoffeeScript is CoffeeScript Development in 3 mintutes.

Mobile Has Overtaken Web?

Leena Rao's TechCrunch article Flurry: Time Spent On Mobile Apps Has Surpassed Web Browsing references Charles Newark-French's post Mobile Apps Put the Web in Their Rear-view Mirror. Among other interesting observations, the Flurry post states, "In 2011, for the first time, smartphone and tablet shipments exceed those of desktop and notebook shipments" and adds, "Our analysis shows that, for the first time ever, daily time spent in mobile apps surpasses desktop and mobile web consumption." For more details on how these numbers were collected and processed, see the original post. Even if there may be some controversy surrounding the quality of the metrics and how they are gathered, there is no doubt that mobile apps have seen tremendous growth in use in recent years.

The Good, the Bad, and the Ugly of Hibernate

I like Steve Ayers's post Dr. Mindbender, Or How I Learned To Stop Worrying And Love Hibernate because he looks at Hibernate's good and bad points and where its use might make sense and where its use might not make sense. I have seen Hibernate abused fairly badly and its misuse has made things more difficult than they should be because its use was not appropriate. It's also the type of post I like because it demonstrates both a willingness to learn and change opinions and to be more insightful than simply "such and such is great" or "such and such is terrible."

JDK 7 Improvements to Javadoc

Jonathan Gibbons's post What's Up, Javadoc? provides interesting insight into "mostly under the covers" improvements to Javadoc in JDK 7. I especially like the fact that a CSS stylesheet is now used, making it easier to change appearance of Javadoc-generated documentation. Although many of the improvements to Javadoc may be largely internal and not so obvious to most Java developers, just the fact that Javadoc is getting some long-needed attention is encouraging.

PHP One-Liners

After writing the Ten Groovy One Liners to Impress Your Friends, I thought about writing a similar post for PHP because it's the latest language I'm trying to find time to investigate. I quickly realized I still lack the background knowledge required for something like this and that it would take significant effort to put it together. I was therefore happy to see that Martin Šrank has posted 10 PHP One Liners to Impress Your Friends. I believe that one of the advantages of reading posts like this, especially for scripting languages, is the ability to quickly learn some of the common syntax and library support used in various common scripting functions.


In this post, I have referenced some general software development posts of interest as well as a few specific to things like JavaScript and Hibernate. Several of these posts represent the current state of software development.

No comments: