NFJS Day 1 Digestion Rant
April 5, 2008
Back from day 1 of the conference. Here’s the raw, unedited, and uncensored rant.
First the good: all the speakers I heard today were very strong. This is not to say that I agree with all of them on all counts (more on this in a bit), but rather that their delivery was effective, and their material - enlightening and/or thought-provoking. Jared Richardson’s talk titled “Build Teams, not Products,” in particular, was one of the best presentations I’ve ever witnessed. It was just one of those talks where all the points seem tautological and obvious, until you consider how many (or rather, how few) you apply to your own work. I couldn’t come close to doing the talk justice by summarizing it here - if you can, hear it for yourself.
Another striking highlight was the manner and style of Neal Ford’s keynote. Very stirring, very effective. Mr. Ford clearly graduated the Steve Jobs school of presentations with the highest honors.
Ok, that’s enough ra-ra’s for one day. The time for complaining is nigh… Mr. Ford’s keynote, since we’re already on the subject, although excellently crafted and delivered, raises questions at best. Although entitled “Ancient Philosophers and Blowhard Jamborees“, the talk can be summarized in a sentence as “WebSphere and Rational ClearCase are causing our jobs to be outsourced to Chindia… permanently”. Our industry, as Mr. Ford, would have it, is crippled by the Svengali vendors of gargantuan and deleterious middleware, that renders us unable to compete with the likes of India and China. Really, Neal, WebSphere? Is WebSphere responsible for the 32% decline in the number of Comp. Sci majors in the U.S. from 2000 to 2004? Is WebSphere the reason why Bill Gates begged Congress to increase the number of work visas to the states? Or maybe SOAP is responsible for the war in Iraq? Perhaps CORBA brought about the current recession?
Don’t get me wrong - I’m no fan of WebSphere, and I loathe ClearCase with a burning passion (ask my manager!) Yet it seems obvious to me that there are far greater factors to explain our shrinking I.T. industry than its subservience to the mean, ugly middleware vendors. Is there vendor-induced inefficiency in I.T? Sure. But no argument in Neal’s keynote demonstrates that (A) this inefficiency does not exist in “Chindia”, and (B) when the “Chindian” companies start posing a threat to their American competitors due some gap in IT efficiency, that American business won’t rise to occasion. And for heaven’s sake, if you’re going to show a cruise ship to characterize a bloated piece of architecture, use the Freedom of the Seas, not the Carnival Conquest, which is lighter by about 40,000 tons and fits about 1500 fewer passengers. Hey, I’m a cruise ship fanatic, I couldn’t help myself.
The talk on meta-programming in Groovy with Jeff Brown was quite well done, but left one major unanswered question: all these closure delegates and meta-classes - if one is not building or using an internal DSL, what do they offer that a static language does not? The ability to stick a parameter into a method name instead of an argument? Don’t get me wrong - I really like Groovy, including the metaprogramming features. What angers me is seeing a couple of features that are useful within one specific domain (DSLs) touted as the death knell for Java, C# and the like… with a few compiler tricks and reflection/emission constructs, a static language could satisfy most meta-programming needs. C# 3.0 is well on the right path.
But just so I don’t end on a negative note, there’s one more thing that really impressed me today: the dessert selection at dinner featured these incredible soft brown pastries that I have so far seen in only three palces: Russia, Russian stores in the U.S., and on the M/S Noordam. Sampling them again today was a true pleasure.
To be continued…
Entry Filed under: .Net, Groovy, Java, NFJS, programming languages. Tags: C#, Groovy, NFJS.

Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed