Suppose I decided to teach a course on the very latest technology
available. The problem is available
is a relative term in
graphics. Unlike many other fields in computing, the latest interactive
graphics techniques generally require hard investment: cutting-edge
graphics cards, latest operating systems, patched drivers, etc. Of
course, many courses require students to invest in textbooks or other
supplies and we could too, but the latest tech for graphics dwarfs those
expenses by a wide margin.
Instead, we’re using a very widely available tech, WebGL2. Part of its wide availability is achieved by its being based on old tech: several years old when it was released1 and released several years ago. It is also based on a simple subset of available tech: tessellation, geometry, and compute shaders were common when WebGL2 was released but were not included in WebGL2 in part to make it smaller and easier to implement on resource-constrained platforms.
Thus, one reason we’re teaching older tech is that it’s the newest tech that we know you can all access.
The latest and greatest advances are made by people deep in the current technology and described for other people deep in the space to consume.
what’s newdocuments and
here’s something you can now dodemos which help people who knew the previous version learn the new version. They’re a great resource if you used the previous version, but as of 2023 they’re more than 25 versions deep and not a great place to start.
There’s a lag in each of these steps representing the additional cognitive effort needed to create the later items. Specs are generally stable for several months before release guides are produced; for more than a year before tutorials are created; and for several years before courses are ready. However, their duration of usefulness follows a similar trend: old specs are rapidly obsolescent, old release guides remain useful for a year or two, old tutorials remain useful for several years, and old courses can remain useful for decades2
Computer graphics is fortunately still in a space with strong competition. At the time of writing (2023) we have
This diversity of options may seem annoying for someone having to
chose between similar-sounding options, but it fosters a rapid growth in
technology at all levels. Without competition development tends towards
the safe
options, favoring keeping current customers over
attracting new ones. But with competition every company has a vested
interest in getting something new out that can give them an advantage
over others, resulting in a much more rapid pace of development.
One result of this is that by the time you finish a multi-year development project (or multi-year degree program), odds are that even if you started working with the very latest tech available, something new has come along during the process and it is not longer the latest tech when you’re done.
Perpetual obsolescence is one side effect of a healthy, thriving field.