No linker == no good

Posted on January 29, 2004
Filed Under /dev/null/ | 31 views |

Joel “Joel on Software” has an excellent rant about why the concept of the runtime engine is still crap:

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. For example right now for some reason our internal company control panel is rounding sales figures to four decimal points, as a result of upgrading from 1.0 to 1.1 of the runtime. Usually the incompatibilities are worse.
- Please Sir May I Have a Linker?

Wy do we keep trying this approach? The definition of insanity is trying the same thing over and over and over again hoping for different results.

The first time I ever came across the idea of the runtime engine was when I started playing with HyperCard in 1991. Back then you created HyperCard Stacks and they were executed using the HyperCard player. Then, as now, the idea was that ultimately everyone would have a HyperCard Player (744k or so if I recall correctly, compared to .Net’s 22 Megs) on their computer and you’d only ever distribute your HyperCard stack (which would be very small because it just contained the code executed by the Player and thus you could fit many, many stacks on one 1.44 Meg floppy). Ahh, executable utopia!

Great idea execpt that you could never be certain that the person on the other end would have a HyperCard player, or that it would be the right version, so every single HyperCard user also shipped their stack with the Player, bundled together in a StuffIt or CompactPro archive (remember those?).

The idea didn’t work very well twelve years ago, it didn’t work very well before then, and it still doesn’t work very well today. It’s time to stop the madness: the only good app is a non-dependent app. Your linker shall set you free.

(Caveat: I haven’t had the chance to use .Net, not having done any serious Windows app dev since just before .Net debuted. If Joel is wrong about this go shoot him and leave me to mine own rightous indignation).

Comments

Leave a Reply