That reminds me of Ksplice.
Windows applications are also written a bit differently than Linux ones, which helps out. Windows apps can lose their graphics context at any time and are expected to deal with this fact. Linux apps do not, because the current X protocol does not separate window and event management from rendering context management particularly well.
In my optinion working with IDE and letting code compile is way easier than using assembler and binary alphabet. I mean, unless you're not human, words should do more sense than 1s and 0s.
The problem is that the Linux driver interface doesn't even have a stable API. If you want to get a new piece of hardware to work, you have to upgrade EVERYTHING. Often by hand.
Why the hell should people be expected to piss away their time working around a broken-by-design driver interface instead of doing something useful, or fun, or useful AND fun?