Do languages change?
Archive - Originally posted on "The Horse's Mouth" - 2004-09-08 07:24:44 - Graham EllisHow fast do computer languages change? Not as quickly as you might expect - and yet we're regularly updating our courses. This is because the underlying bedrock (languages) don't change very much, but the functions / libraries / classes / technologies that use them do change, and the applications that use the libraries and technologies change even faster. Many of the examples from the first Perl course that I taught will still work, but the style is dated and there are better ways and technologies. In those days, XML and XSLT were unheard of, MySQL was very new and a specialist interest, and the Web was in its infancy.
I was talking about this yesterday, and drew this parallel ...
A programming language is like a railway track. It's specified and laid out and survives broadly unaltered over hundreds of years. Small improvements in alignment and quality are made and there's considerable strengthening for progressing requirements, but basically it's still the same track.
Functions / libraries / classes / technologies are rather like the trains that run on the tracks. Trains have a lifespan of perhaps 25 to 40 years - they have teething troubles in the early days ("the wrong sort of snow") but then give many years of sterling service, to be replaced with new at the end of their life cycle. You can see a good example of how this happened in programming terms with libraries such as the Java Utility classes where the Java 1.0 classes were largely deprecated in favour of new libraries prior to the release of Java2.
Finally, applications are more transient again - they change rather like the fittings and fixtures in the train. Travelling on (the same) trains over the past 20 years, I've seen second class become standard class, the addition of hammers to break the windows to escape in an emergency, the advent of quiet carriages and a family carriage and more.