Runtimes 16 Feb 2004
A few weeks back, Joel Spolsky wrote a timely piece entitled Please Sir, May I Have A Linker? bemoaning the current state of affairs with .NET, in its requirement for an installed runtime.
Runtimes are a problem, much like DLLs, because you can get into trouble when application version 1 was designed to work with runtime version 1, and then runtime version 2 comes out, and suddenly application version 1 doesn't work right for some unpredictable reason.
Now this really makes sense, especially with regards something like .NET: Microsoft have a habit of releasing patches and tweaks like there’s no tomorrow after all. Anyway, today I downloaded a wee app that was supposed to install an add-on to my WinXP task bar. But this is what I got upon running the setup executable:

Note the wording: “ …this setup requires…” — the .NET installer is the culprit here, nothing to do with the damn application!
:-D Ben Poole#
The linker argument is an interesting one. In general, a framework developer is going to jump through hoops to maintain backwards compatibility (especially as the platform matures). This is true for most other runtimes (for example, Java or Lotus Notes). The beauty is that your code can take advantage of advances in the runtime system without changing anything. So, if they improve performance in the Java runtime, your code will improve automatically. Of course, any change can introduce bugs. Methinks Joel's being a bit of a control freak in this case.Nik Shenoy#
:)Brian Green#