While I may cumulatively spend a majority time and passion developing on Windows in .NET et al during my career, I also work with a significant Java code base at work. IMHO, both of these platforms overshoot the needs of classes of solutions with burdensome (not pervasive)Â runtimes, prolific APIs, and layer upon layer of functionality with sometimes questionable value (e.g. does this layer justify another part of the underlying platform, framework or toolset, or does this layer yield clear business value?). For example, my previous post about WS-* pain relief is as much about Java’s WS-* implementation as WS-* itself. (FWIW, I prefer Microsoft’s approach in Windows Communication Foundation, which just went Release Candidate, by the way.)
Fortunately, both of these platforms are still well-suited to many of the enterprise applications I architect and implement for EMC, its partners and its customers. In some cases, meaningful work is being done to simplify development and to allow focus to return to business problems. In the case of smart client development–the reorganization of the MSDN Smart Client Development Center underscores by point herein–I’ve even contributed to this effort, and I say this simply to make it clear that I’m not down on .NET or on Java. Rather, like Rocky and others, I find myself increasingly questioning how much closer (or not) these platforms have brought me toward solving my business concerns.
As a Solutions Architect (MVP), I take pride in helping my internal and external customers navigate technology to decrease the amount of time they focus on plumbing while increasing their effectiveness in building solutions. But just how much technology is required to deliver “forms-over-data” applications? (And much of content management is about forms-over-data, where data may include content and content metadata.)
And then there is this thing called Ruby on Rails.
I recently finished From Java to Ruby by Bruce Tate–more on my read in a separate post. Those familiar with Bruce’s books of late understand that he has been a leading voice for matching purpose and technology (i.e. leveraging purpose-built technology) and has questioned the appropriateness of Java when other technologies may be better suited for the task at hand. Bruce’s work has provided significant incentive for me to dive into Ruby and Rails, and I’m currently preparing some of my diving gear.