In my lifetime I have spent my time using three software platforms that actually mattered in the outside world. The first was Berkeley Unix on a Vax in college (yeah yeah, you might not think this matters, but without BSD there is no Linux and more importantly, no Mach and no modern MacOS). The second was Windows. The third was, and continues to be MacOS X. I’ve also used Linux but in user land it’s similar enough to other Unix to not really matter to me as its own platform.
Occasionally one finds oneself needing to migrate between major platforms. I’ve had a lot of friends who had to go from using Unix in graduate school to Windows in the real world, for example. My advice to them was always simple: make a clean break. Don’t use emulation environments like Cygnus. The reason is simple: there is nothing worse than an emulator that almost works.
(more…)