Assembly code is the most efficient for maximizing the use of processor speed, since it's essentially code written at the machine's operating system level, with operations on specific bytes and bits of core memory. The Assembly programmer must be extremely knowledgeable about the technonology of the machine and its operating system.
C and C++ offer a step above that, and are used when maximizing the use of processor speed is critical but there's a desire to add some readability to the code. The language is just a few steps above Assembly, though. The programmer still needs to be intimate with machine memory concepts and architecture, and the coding tends to be overly complex for even the simplest operations.
Pascal was an attempt to make the language a little easier to work with, adding some "English language" commands to it. It's a good middle ground, but really it's time has come and gone. It's not really that popular any more.
Basic was the ultimate easy-to-use and understand programming language, very easy to program with and read. Each command was interpreted behind the scenes, essentially translated to C and Assembly code to actually do the work. But that interpretation took a little time (microseconds really, but in some applications like games, microseconds are like minutes).
Visual Basic took Basic to the Windows platform, providing object oriented programming and forms.
For web applications, HTML is the standard, and ASP is a Visual Basic -like language to create dynamic HTML before it got posted to web pages.
The early versions of ASP were complicated and difficult to use in practice, offering a great opportunity for ColdFusion to get it right. ColdFusion became the better version of ASP, but by the second version of ASP, Microsoft pretty much caught up.
C# and Java are C-like versions of dynamic web programming (mostly because C and Visual Basic programmers evolved to despise each other, and C programmers they didn't want to have to program on the web in anything that was as easy to use as Cold Fusion or ASP).
.NET became Microsoft's ultimate solution to combine all of the languages into one, but essentially it turned VB.NET into a C-like language, infuriating a lot of VB programmers (who still use VB6). .NET is extremely convoluted, highly object oriented, but very flexible in what it can do. It adds a lot of layers of security as well, which can often get in the way to perform even simple tasks.
If you want to join the game programming crowd and have snob appeal, learn C++, C#, and Java.
If you want to get a good job as a business programmer, .NET is the way to go.