gcc -pedantic je hezké, ale to nic nemění na tom, že portabilita C není zdaleka taková, jak byste si asi představoval.
Windows XP jsou desktopový systém, takže umožňují pracovat jen jednomu uživateli v jeden čas (sessions může běžet více, aktivní může být jen jedna). Windows Server má možnost připojení 2 sessions pro vzdálenou administraci, nebo libovolného počtu v aplikačním modu Terminal Services. V tom druhém módu vám stačí na stole vě velikosti kabelového modemu, a můžete používat komplet desktop. Technologie je stejná u XP i Windows Serveru. Lze si spustit i vybranou aplikaci namísto desktopu. Odezva je vždy perfektní, minimálně ve srovnání s příšerně pomalým X11. VNC (tak jak ho známe na Windows, tedy coby primitivní program pro přístup ke grafické konzoli) je shit.
fopen_s má enhanced error reporting. Návratovou hodnotou je error code, což je konzistentní s ostatními security enhanced funkcemi. Navíc když mu dáte null pointer, tak nespadne aplikace (Access Violation exception), ale vrátí chybu. To samozřejmě nelze implementovat u fopen. A když jsme u toho, tak vždy jen _wfopen_s, protože Unicode. To s tagLOGPALETTE je přece v C naprosto běžné.
Pokud je ve virtuálním stroji chyba, není to chyba aplikace, ale virtuálního stroje. Chyby aplikace řešme v kontextu aplikace, chyby virtuálního stroje v jeho kontextu. A když jsme u virtuálního stroje, tak ten technologicky není nutný; lze použít kompilaci do nativního kódu. Pochopitelně pak musíte ověřit kompilátor, ale protože kompilátor může být psaný v .NETu (v Javě asi ne, protože kompilace nemůže trvat věky), lze i ten ověřit. Navíc i kdyby se vám podařilo specifické problémy bezpečnosti redukovat z aplikací jen na kompilátor, i to je obrovský úspěch, protože kompilátor je jeden, kdežto aplikací jsou veliké hromady. Zkuste uvažovat trochu prakticky - jak použít technologie pro zvýšení nevalné spolehlivosti a bezpečnosti SW průmyslu. Stávajícího situace totiž není dlouhodobě udržitelná.
MFF a Pascal není argument. To byste mohl tvrdit, že objektové programování je špatné, protože se jako prvníjazyky často volí neobjektové kousky. Faktem tedy je, že se někteří s objekty nikdy "vnitřně nesmíří". A nejlepší jsou absolventi, kteří na prvním ostrém projektu v C++ přetíží operátory, protože jim to ve škole ukazovali, a násobí objekty se stringy :(

