Many Visual Studio controls now generate code for you. The SQL Server explorer, for example, will create the necessary objects to manage simple database I/O for you. Bind the results to a data grid and you've created a very simple data entry system. So you can get a little way without knowing a programming language at first, but wizard generated code is typically far too limited for most needs. In any case, if that's all you want to accomplish, SharePoint appears simpler to learn.
IOW, doing anything really useful requires
some programming language. But Visual Studio supports more than C# and
VB, and projects may even combine languages, so which language is used appears irrelevant once compiled. So while I prefer
VB because I learned it first, C# no longer offers any significant advantages as far as I can see? Just be advised that the majority of examples I've found on-line seem to be written in C#. And if you intend to produce web sites, as your reference to markup langauges suggests, you'll also need to be proficient in some scripting language. I have the luxury of developing to a strictly MS audience so I can use VBScript, but you are likely to also need to learn JavaScript.
I have not read Imar's book but his responses to my occasional questions here have always proven helpful. I'd therefore hope his book to be equally valuable? I'm sorry I cannot suggest any beginner sites but I've been programming since before Al Gore invented the internet and rarely visit beginner sites these days. WROX P2P is the only site I've bookmarked.