Given the plethera of “enabling technologies” such as J2EE, does web programming (specifically, tier two — business logic) make for a lazy developer?
In the recent past, I was prototyping a web application using Spring, Struts, and a few other technologies sprinkled in for good measure. After a few weeks of stateless whos-its and whats-its, injecting transaction doo-dads, and so on, I moved on to a project involving NIO, wire protocols, and high degrees of concurrency. Getting back into the swing of worrying about multi-threaded issues, object creation weight, and the like was not a trivial excercise.
Let me stress that I’m not referring to API nuances. I’m speaking to the vastly different sets of skills that need to be employed. I felt that a much larger degree of care and awareness was needed when dealing with “systems programming”. The web technologies on the other hand made me feel less concerned: “JTA will handle that for me so I don’t need to worry.”
Don’t get me wrong, JTA, JMS, JNDI, etc are wonderful things that eliminate much of the tedium and start-from-scratch’ness that allows projects to get done are the current break-neck pace. (I admit that I am making the overgeneralization that enabling technologies and web development are synonymous.) But does all of this “simplification” provided by enabling technologies allow developers to go lax?
… or has all of the hype and marketing surrounding these enabling technologies simply obscured the diligence required?