Ég verð að vera ósammála þér þarna.
.NET er ekki bara hjúpur ofan á Windows APIið heldur bætir það alveg ótrúlega miklu við. Ef þú ert að tala um að virkilega vilja vita hvað er að gerast undir húddinu þá geturu alveg eins farið á Assembly forritun (og trúðu mér.. hún er síður en svo mannbætandi).
Það er lítið mál að gera Console forrit í .NET. Og þau eru yfirleitt ekkert mikið styttri en samsvarandi C++ forrit. Hins vegar keyra þau á 98% af hraða C++ þar sem .NET er JIT compileað. Það er ekkert frekara á örgjörvatíma en önnur Windowsforrit og minnisnotkunin er sáralítil. Ekki láta það plata þig hvað það tekur mikið þegar þú startar .NET forritum því það allocatear ákveðinni prósentu af því minni sem er available, en skilar því strax ef önnur forrit þurfa á því að halda. Prófaðu að búa til einfalt console forrit og keyra upp heilann helling af þeim í einu, og fylgstu með minninu ;)
Ég myndi segja að .NET sé alveg fullkomið til að læra á (auðvitað bara mín skoðun). Þú lærir hvernig Windows virkar. Windows message meðhöndlun er einfaldlega búið að færa yfir í eventa og það er búið að einfalda meðhöndlun á componentunum. Myndi seint kalla það slæma hjúpun. Þetta er einfaldlega eins og Windows APIið hefði átt að vera frá upphafi. Einnig má geta þess að í næstu útgáfu Windows verður stór partu af því forritaður í .NET. Í .NET hefuru greiðann aðgang að bókstaflega hverju sem er, t.d Windows köllum, pointerum (ef þú endilega vilt.. ekki mælt með því þó), XML meðhöndlun, GDI (windows teimnidót), skráarkerfi, vefforritun, DirectX og you name it bara.
Ekki má heldur gleyma því að .NET er óðum að nálgast það að verða nothæft í cross-platform forritun því Mono Projectið alveg þrælgengur. Fyrir þá sem ekki vita þá er Mono ekkert annað en útfærsla á .NET klasasafninu og compilerunum fyrir Linux (
http://www.go-mono.com).