NFJS, the Magazine - September 2011

Neal Ford

Neal Ford

Build Your Own Technology Radar

For most of the 90’s and the beginning of the aughts, I was the CTO of a small training and consulting company. When I went to work there, our primary platform was Clipper, which was a rapid-application tool for building DOS applications atop dBASE files. Clipper was object-based, and could be made fully object-oriented with an extension library. We had an advantage over our competitors because we built an extensive object-oriented framework for cranking out applications. We were happy as clams: we had both a thriving training and consulting business.

Venkat Subramaniam

Venkat Subramaniam

Programming with Scala Traits, Part Two

In this part two of the series we’ll learn how to use traits to implement the decorator pattern. Decorator is a popular “GOF Pattern” that’s implemented well in the JDK IO API. Scala traits remove quite a bit of ceremony from the implementation of this pattern. In addition to the benefits of traits we saw in part 1 of this series, in this part we’ll see the advantages of applying multiple traits both at the class and instance level.

Brian Sam-Bodden

Brian Sam-Bodden

MVC Meet Javascript, Javascript Meet MVC

For years the software community has been pushing the MVC architectural pattern to organize and separate the concerns of our applications. So far we seem to have done a decent job of accomplishing that based on the enforcement of the pattern in the most successful web frameworks such as Rails, Grails, JSF, Struts and many others. The last frontier for MVC seems to be the sometimes convoluted world of JavaScript; the client tier of our web applications. Although frameworks like jQuery, Prototype, Scriptaculous, ExtJS, DOJO and others have greatly helped in cleaning up and structuring the client tier, there’s still much to be desired. In recent years several micro-frameworks have appeared that aim to put an end to the madness of the JavaScript client tier world. In this article we’ll explore the most prominent players and see how their usage impacts modern web development.

Hamlet D`Arcy

Hamlet D`Arcy

The Art of Groovy Command Expressions in DSLs

Domain Specific Languages (DSLs) are often littered with the accidental complexity of the host language. Have you ever seen a supposedly "friendly" language expression like "ride(minutes(10)).on(bus).towards(Basel)"? The newest version of Groovy contains a language feature that aims to eliminate the noise of all those extra periods and parenthesis so that your DSL looks more like "ride 10.minutes on bus towards Basel". This article shows you, step-by-step, how to use Groovy Command Expressions and plain old metaprogramming to write just this DSL, and also offers advice on when, and when not, to use this new language feature.

Past Issues

September 2011