If you have any background in basic at all, or even VBscript, then picking up on VB2005 is pretty easy. The learning curve at first can be a little daunting, but once you "get it" everything falls into place. I started using Visual Basic with the idea of porting over a VBscript I had made, AutoRIS, into a full application, AutoImage. It took me literally only a few weeks to do it. I've found that almost anything at all that depends on .NET is going to be an absolute pig when it comes to RAM. My program continuously reports at 30MB in Task Manager. There's just no reason for that. But it's easy and I can make changes without too much problem. One of the advantages to programming with "managed code", as VB.NET and C# are, is that you don't have to concern yourself with garbage collection, screwing around with memory, etc. Plus you get a ton of functionality in .NET that you would otherwise have to construct from scratch (unless you were to purchase custom libraries). Java shares these same benefits, but again you need the runtime environment and Java apps tend to be slow and cumbersome. If you want fast, small, tight code, etc. you're going to want to look into C/C++. If you want to make a command line utility, say to use during windows setup before .NET is installed, then VB is pretty much out of the question.