Programming languages that every developer should know
bureau14.fr
bureau14.fr
PHP - even if you loathe its every existence, if you're a web developer, you're going to come across it, might as well know it.
Perl - text processing, data scraping, all around great language.
Javascript - Like others have mentioned, I think its a great language, used in front end web development, and now moving to back end.
Shell scripting - Of some sort, please don't be afraid of the command line. Its so insanely powerful, you should definitely take advantage of its power by learning some basic shell scripting.
Anyway, php is still very useful if you want to put something on the web and have no money. So is javascript although the need to write JS yourself will decrease due to automatic generation of JS etc. I also don't think you necessarily have to learn (ba)sh since you could easily write more complex scripts in any other programming language (i.e. ruby is quite good at that and it's also a very suitable perl-replacement).
Regarding PHP, you don't actually need to know it, as once you know C (and HTML) you can easily interpret a PHP script, and make any minor modifications if need be. I would only say to learn PHP if you intend to actively develop in it (i.e. contribute actively to the development of an existing open-source PHP application), as I've found that the existing PHP applications to be sufficiently completed for my liking.
As for Perl, you can just substitute Ruby or Python (both of which are on the list) for all of your text processing needs. Like the author I prefer Ruby, but both languages seem to have a reasonably powerful text processing library included.
I'm also convinced that in almost every case that Ruby and Python are just fine in place of Perl... except for text processing.
Perl's regexp engine is top notch and is an extremely key part of the language in ways it just isn't in Python or Ruby, especially after the release of Perl 5.10. I don't see another language that can touch Perl there yet (feel free to correct me because I'd be interested to learn).
SmallTalk (or SELF): After I learned some SmallTalk I realized I had never understood the deep meaning of OOP before.
FORTH: It's the Nirvana of building abstractions in layers, starting from very simple primitives.
Tcl: a few Tcl ideas are really worth understanding. The idea of having a single data type in the whole language, and the [uplevel] command that basically provides to the language the equivalent of Lisp macros but with a trivial semantics. At implementation-level the dual-ported objects strategy is a very powerful idea that little programmers are aware of.
Javascript or SELF: it's very interesting to understand how prototype-based OOP works.
Ha!! I agree, and I'm a Ruby developer.