Technology is a harsh mistress. Not only do you have to master her, you constantly have to be ahead of her in the game – or she will betray you and claim that you are a dinosaur. Much like Alice in “Through the Looking Glass”, one has to run as fast as one can just to stay in the same place.
Two questions about this phenomenon plague me: one – is it even possible to catch up, and two – is it necessary to stay with the bleeding edge?
The adjective most often used in connection with the growth of the web is “explosive”. This is true in many ways. Not only has the number of people using the web grown, but the diversity of the user community has also increased. The initial users of the web were the technical elite. Such is not the case today. This growth in the user-base has had the consequence of increasing the number of technical problems that needed to be addressed by web technology. And this is what has fueled the ever increasing alphabet soup of web technologies.
And so, today we have ASP, and JSP, and J2EE, and XML, and the list goes on. Can one be a master of it all? Highly unlikely. Well then, can one know enough of each to be productive? This may be feasible (with a lot of blood, sweat, and tears) today, but technology looks like it will outrun the capacity of the puny human brain to keep up.
It is amazing how strong a force the NIH syndrome is. Even though the C library had been ported to many, many more systems than Java, Java advocates rewrote the “make” tool in Java and claim that their solution is more portable. Not content with Java language bindings for a well-established technology like CORBA, Sun Microsystems reinvented the wheel by conjuring up a Java-only replacement for CORBA – EJBs. One of the stated advantages of XML when it was first being adopted by an eager web community, was that it was simpler than SGML.
But of course, the advocates of XML realized that simpler means less powerful, and developed enhancements to XML. Today the XML family of specifications encompasses much more complexity than SGML ever had.
In all three cases I’ve cited above, you will find plenty of experts who claim that the reason these technologies were developed was that of some deficiency in the original technology. And to these experts, I would like to pose the question:
“Why did you find it necessary to invent a new technology to solve the problem in question instead of simply fixing/extending the existing ones?”
Its time for some common sense in the world of technology. Just because it is possible, is not a good enough reason to invent something new. Sometimes, the existing solutions work very well.
The CSS-based effects visible on this page are nothing much. I was inspired to delve deeper into CSS when I came across the CSS examples put together by Eric Meyer. To paraphrase Newton – if I have coded better than most if is because I’ve been able to examine the work of better coders.