If you move to a different language (C++, C#) and you carry on the habit of not explicitly checking for errors every step of the way then you are going to have the hardest time adapting to the 'correct' way of doing things.
In C and ASM you have to load in or hook up to many external resources and you have to be able to exit gracefully if even one of them fails to load. Even back in the Amiga days you had to constantly 'watch your back' for things like low-memory conditions, missing libraries and OS version differences (in ROM and in software). Even different CPU's or the (non) presence of an FPU.
** EDIT 2nd Oct 2005: This project now continuing at http://www.blitzbasic.com/Community/posts.php?topic=51593 with full source released under GPL at http://www.planetpgr.com/spheres/
In C and ASM you have to load in or hook up to many external resources and you have to be able to exit gracefully if even one of them fails to load. Even back in the Amiga days you had to constantly 'watch your back' for things like low-memory conditions, missing libraries and OS version differences (in ROM and in software). Even different CPU's or the (non) presence of an FPU.
** EDIT 2nd Oct 2005: This project now continuing at http://www.blitzbasic.com/Community/posts.php?topic=51593 with full source released under GPL at http://www.planetpgr.com/spheres/