While I do not make any pretense towards objectivity, I have tried to be as even-handed as possible when skewering different languages' foibles. I hope I have not stepped on too many toes in doing so.
Before you learn any programming at all, learn how to use the system you are on correctly, whether it is Windows, Unix/Linux, MacOS, or whatever. If you can't work in your user environment, you won't be able to do the basic tasks needed for programming. Also, hone your research skills, especially those involved in web searches and library crawling (yes, libraries are a good resource, especially university libraries). Get into the habit of lurking on message boards, reading the FAQs, and learn how to post on them effectively.
I would recommend reading How to Ask Questions the Smart Way before posting anything anywhere; in fact, you may want to read several of ESR's historical and cultural FAQs, though be aware that he is very biased towards Linux and open-source, and pretty heavy-handed in general. I would further recommend reading through the Jargon File repeatedly, until it starts to make sense. If this doesn't happen right away, don't worry; it will start to as you actually begin programming.
You should also learn how to use a version control program such as CVS, SourceSafe or BitKeeper. No matter what kind of programming you do, you'll probably need to be able to back up programs safely and manage multiple revisions; in larger projects source management is absolutely critical to avoid conflicts between different developers.
The page-layout language that 99% of the web is written in. It is not a programming language per se, but it has a structure that is quite similar to many programming languages.
Pro: It is ubiquitous, and knowing it will be a usefuly skill even if you never do any programming. Also, it is much simpler in most ways that a full programming language.
Con: Limited to page layout. Fairly verbose. Requires additional languages for stylesheets and scripting to be most effective.
a meta-language for defining markup languages; the newer versions of HTML are defined in XML. Used for creating custom markup types.
Pro: Can be used to create application-specific document languages that are more useful for specific tasks than HTML.
Con: Can lead to confusion of meta-levels.
A language for defining how to present the documents structured with markup languages such as HTML.
Pro: An important complement to HTML and similar markup languages; allows the separation of document presentation from document description.
Con: Is only useful in conjunction with a markup language.
A language created by Microsoft, derived (at several removes) from the older GW-BASIC. Support object-oriented programming, but has a peculiar object model that is at variance from those used in the rest of the programing world. Visual Basic.NET is a very different language from the earlier versions. Has a very powerful built-in graphical development tools suite.
Pro: Has excellent support, and used widely in Windows programming. Syntax is (or seems) relatively easy for a beginner to learn. Widely taught as a first language.
Con: Windows specific; only provided by Microsoft. The language itself is a moving target, as the developers alter it to suit their latest vision of what it should be. The 'simple' syntax and RAD tools hide an abyss of complexity that can make non-trivial tasks a nightmare (though VB.NET has fixed much of this). Use of the RAD tools tends to discourage careful design.
A popular systems language, and also widely used for applications programming.
Pro: Simple and flexible. Extremely concise syntax that is widely imitated in many other languages. Excellent for systems programming. Many excellent free and commercial implementations available. Widely taught as a first language.
Con: Low level, with relatively weak abstraction. Somewhat cryptic syntax can be hard to grasp at first. Requires extremely careful attention to detail, especially regarding pointers and manual memory management. Cannot generally be used for web programming (except for creating Active X controls). Lends itself to very difficult-to-understand code.
A derivative of C, it adds facilities for object-oriented programming and generics (templates), and expands the standard library considerably.
Pro: Largely (~95%) backward-compatible with C. Capable of powerful abstractions. Ubiquitous. Nearly as fast as straight C.
Con: Vastly more complex than C, and very hard to learn as a first language (though some would argue this is a good thing, as it would make other languages seem easier by comparison). Like C, cannot be used for general web scripting or applets. Even more likely to result in incomprehensible code than C.
An object-oriented language related too, but not compatible with, C and C++. Considerably simpler (and arguably, more elegant) than C++, while providing a comparable level of abstraction. Usually compiled to an interpreted bytecode, though it can be compiled to native code reasonably efficiently. Is designed to work over networks transparently, and can be used to write web applets. It has additional safety checking, and uses garbage collection for memory management.
Pro: Fairly abstract, and reasonably easy to learn. More secure than C++. Avoids certain types of memory and pointer bugs. Excellent for web programming, if rather heavyweight.
Con: Cannot access memory directly via pointers. Language is still evolving at the whim of the Sun developers, making it something of a moving target.
A C-like language developed by Microsoft as part of the .NET framework. It can be described as Java modified to use the Visual Basic.NET object model. I do not personally have enough experience to accurately judge it.
Pro: Very similar to Java.
Con: ... except when you expect it to be. Only supported by Microsoft.
An OOP scripting language specifically designed for web scripting, with a C-like syntax. Despite the name, it has no particular connection to Java. Usually part of a browser, or a browser plug-in; some standalone interpreters exist, but are rarely used. Has excellent support for Document Object Model.
Pro: Excellent for light web scripts, both client side and server side (in Active Server Pages). Supported by the majority of web browsers.
Con: Of limited use outside of web programming. Scales very poorly.
A language designed specifically for server-side web programming. I must confess that I do not know enough about it to comment on it.
A powerful scripting tool combining many of the qualities of C, Lisp, and Awk. Has powerful text manipulation and regular expression tools. Supports OOP, with interesting but very peculiar object model.
Pro: Ubiquitous. Very well documented and supported. Extremely good for text manipulation. Has what is probably the largest online code repository of any programming language (), making it possible to do much development using existing libaries. In expert hands, can be incredibly concise and expressive.
Con: Extremely complex syntax with countless special cases. Code can become utterly incomprehensible schockingly fast, even compared to C++.
A cleanly designed scripting language with support for OOP and functional programming. Uses indentation as part of the syntax.
Pro: Very easy to learn - can be learned in a day even by a novice. Encourages understandable code. Supports some sophisticated abstractions such as list comprehensions, Continuation Passing Style, and generators.
Con: Use of significant whitespace (indentation) is a source of serious problems for some programmers, even with editor support. Not as widely supported as Perl.
A cleanly designed OOP scripting language, very similar in some ways to Python. I don't really know enough to comment about it.
A language in the Lisp family, with a radically different syntax from most other languages. Very simple and minimalist in structure. Has a very high level of abstraction, and supports constructs that are unheard of in most languages. Primarily designed for functional programming, but can support OOP with added libraries.
Pro: Extremely easy to learn - the basics can be grasped in less than a day. Has some excellent tutorial material. Extremely flexible and extensible. Excellent for exploratory programming and highly dynamic data structures. Is widely used for programing research. Has one of the most highly optimizing compilers ever designed (Stalin). Has several extensive libraries. Core language is very carefully specified. Gives some amazing insights into programming as a whole.
Con: Rarely used outside of academia. Radically different from most other languages, which can make it confusing. Tends to have very heavy memory requirements, and can be very slow without extensive optimization (hence the need for Stalin compiler). Standard library is very small. Minimal core language has lead to incompatible extensions in the interpreters, compilers and libraries, fragmenting the user base.
One of the parent languages of object oriented programing (though Simula and Actors were earlier). Very simple infix syntax. Very closely tied to it's language environment.
Pro: Extremely easy to learn - the basics can be grasped in less than a day. Has some excellent tutorial material. Extremely flexible and extensible. Excellent for exploratory programming and highly dynamic data structures. Is widely used for programing research. Has extensive built-in class libraries, and excellent class browsing and editing tools. Gives some amazing insights into OOP.
Con: Rarely used in general. Radically different from most other languages, which can make it confusing. Tends to have very heavy memory requirements, and can be very slow without extensive optimization. Tight coupling to the environment means it cannot be used for standalone programs.
The next place to go depends on your goals:
For general applications programming, I would recommend starting with either Python or Ruby, as they are both easy to learn, and are interpreted languages, which makes it easier to try out different things without writing a full program. If you want to learn Windows programming specifically, I would then go to Visual Basic, followed by C#. Otherwise, I would recommend C, then Perl, then either C++ or Java.
If you want to understand programming on a deep level, or intend to go into an academic career, I would start with Scheme, then learn Smalltalk, then an assembly language, then pick up as for applications programming.
For systems programming, follow the same approach as for applications programming, but drop Perl in favor of x86 assembly language.
For Unix or Linux system administration, learn Bourne-Again shell scripting, the Perl, then C.
For Windows system administration, learn Visual Basic for Scripting (not the same as VBScript) and DOS batch programming, then Visual Basic.
For database programming or administration, learn Oracle and PL/SQL, or SQL Server and Visual Basic. Java may be useful eventually, and Prolog may be of some side interest for understanding the connection between logic programing and the relational model. Rather than focusing on languages, you should delve into the details of the relational algebra and relational calculus.
For scientific programming, learn Python, then either Fortran 90 (for physics or inorganic chemistry) or Perl (for biology or organic chemistry), then C. You will also want to learn certain mathematical, statistical and simulation tools such as MATLAB, Mathematica, SPS and GPSS; which you will need will depend on the science and specialization you are studying. You may eventually need to learn either Common Lisp or Ada, but they are not high priorities.