You might have somewhat more control when you write something at a much lower level indeed. But most of the time, the functionality in the higher level languages is just fine (and most things can be extended, adapted, modified and what not to suit particular needs). Personally, for most desktop or web apps I'd rather use a high-ish level language and good set of libs, and concentrate on the problem to solve (how to solve it better), and have time to think about things like a good design/architecture (which greatly affect maintainability, readability, stability, and even speed more than any language choice will), instead of pointlessly spending my available time on low-level stuff, like writing tons of Win32 API calls, allocating memory (and chasing bugs where it's accessed after it's free'd, memory leaks, etc), fixing buffer overflows and all that endless "fun" stuff. For places where C# doesn't cut it, be it for resource usage or speed, e.g. microcontrollers, I normally use plain old C or quite often assembly (you can only fit so much code in a few KBs of memory, ISR's need to be very fast, etc). Database wise, there's a lot of nice stuff. ADO.NET is nice. SqlClient is great. And there's LINQ indeed, and several ORM's if you're interested e.g. NHibernate, as well as code generation tools & templates (to automatically write a data access layer for your database). And things like the enterprise lib. There's loads of resources out there. And the language itself (C#) is great for that purpose too (tons of useful things, like nullable types). And if you plan on having a web client for it too (not just a desktop app), then you can reuse a lot of your code for that too (everything but the presentation layer pretty much), and tons of "web stuff" is already done for you e.g. you want an authentication system? ASP.NET has a good authentication system built right in! (with users, groups, admin pages, pre-made components, page security, etc). You can build a solid, stable, reliable and app that performs great in no time at all. Sold... I'm with you. I am head long and foot in to learning C# and everything. I just installed VS 2008 Pro and bought a couple of great books on VS 2008 and C#. My months ahead are going to be spent learning all I can and enjoying my venture into this environment. I can agree with your assessment of C++, it gives you a lot of guns to shoot your feet off. Thanks for your feedback, Dennis