HTML and CSS Reference
When assessing technology for new projects I like to apply a 10-year rule: “what will people
think of this technology in 10 years time?”
• Will the software continue to function “as-is” on the devices commonly used in 10-years
• Will the software continue to function on existing devices, but need to be rewritten for new
• Will the software need to be upgraded (and maybe rewritten) to continue its relevance?
• Will the software be obsolete and need to be discarded?
• Will anyone even remember this technology?
The 10-year horizon seems sensible for me. Vendors make a huge investment in the software
they develop, and 10-years seems a reasonable period of time to expect software to at least
remain relevant. In addition, vendors need to support and maintain their applications for ex-
tended periods of time, and this becomes challenging when technology becomes obsolete or
There is no way to know for sure what the future holds for any technology. When Java was
first introduced it was assumed Java Applets (applications that run inside browsers) would
be a huge selling point for vendors, and would become a ubiquitous presence on the Inter-
net. Although they can be found occasionally, Applets are all but obsolete, even as Java has
gone from strength to strength as a server side language.
I firmly believe that the languages presented in this topic will survive the 10-year rule. Web
applications based on these languages may need to be modified to support new devices, but
the underlying languages are in a strong position to maintain or strengthen their dominance.
This chapter will examine the reasons I believe this.