Thank you. I did overstate the case a little - the reality is a bit more complicated - but I stand by the assertion.
What is actually happening is that in professional programming today, there are only about a dozen programming languages in widespread use, about six of which - C, C++, Java, Visual Basic (and its derivatives like VBScript), JavaScript, and Perl - dominate the field. While it is by no means necessary to know
all of them, a professional programmer (or even an academic or hobbyist programmer who wants to stay in touch with most devellopments) more or less
must know at least one of them if they want to stay in the business, and would do well to learn at least a little bit of each of them if they can. Of these languages, Perl is the one which gains the greatest leverage with the least effort - Perl interpreters are common in both the Unix and Windows worlds, and the language, while rather hairy, is pretty easy to use, and can be quickly applied to a variety of purposes. While it is most powerful in conjunction with a compiled language like C, it is extremely useful even on it's own. While other languages like Python might fill its roles, the sheer volume of Oerl code means that a programmer will need to at least be able to read and modify Perl scripts on occasion.
Enough; I don't want this to turn into a Perl advocacy thread. Suffice it to say that there are good pragmatic reasons to learn it.
BTW, I should emphasize again the importance of HTML and XML. Even more than with the others I mentioned, you
cannot afford to ignore them. HTML is the mother tongue of the WWW; if you cannot write HTML code by hand, you'll always be at a disadvantage. XML, which is a language for defining other markup languages, is now the basis of nearly all new file formats, including the latest standard version of HTML. If you ever need to do any work on Web pages, or anything involving most of the newer file formats, you'll need to know one of the them, and preferably both. Fortunately, being more or less linear markup systems, they are both a lot easier to learn and use than a Turing-complete programming language (i.e., one which is theoretically capable of performing any algorithmically-definable computation, which includes all full programming languages today) is, yet they have much in common with several of the major languages today. They are an excellent place to start before one jumps into programming per se, and an important thing to learn if you already are programming.
Also, you'll notice that, despite all of this, I still favor learning the less widspread languages, and what's more, I recommend learning them first. I have good reasons for this: first off, they are generally easier to learn and use than the current major languages, and thus don't get in the way of learning the concepts (this is especailly true with Scheme). Also, they have conspicuously unique paradigms, and understanding them will give you a broader vision of what programming is and can be. Understanding them can make your programming better in other languages as a result (this is esp. true of Smalltalk, which is the ur-OOP language; learning Smalltalk can really help clarify Java and C++ programming issues). Lastly, they are, IMAO, more interesting than the more conventional languages.
