How many Programming Languages Do You Need to Know?


It seems a little bit ridiculous to me. In order to put together a web site these days, you need to understand at least the basics of HTML. If you want a dynamic site, throw in Perl or PHP or maybe even both. And then there's javascript, which you will end up implementing at one time or another inevitably. You could wrap it all in one package with the use of Ruby, Cold Fusion, or Dreamweaver - but really those are just additional environments to get to know and in the end a good webmaster wants to understand how his site works.

Some webmasters don't know any of these languages. They'll just use a CMS or a blogging application (although the line between these two things is getting ever so thin) and start producing content.

Maybe it's my technical nature, or maybe it's the history of security (or lack thereof) on the web. I just can't bring myself to just produce content - I need to at least have a basic understanding of how everything works.

With an understanding of HTML, you end up quickly learning that there just isn't a single HTML standard - there are a whole bunch of them. There are transitional standards, standard standards. There is a lot of hype surrounding XML and XHTML as well - for good reason - but it gets hard to keep up with things.

A lot of development environments do not produce standards compliant code to begin with, so that makes learning by example even harder. Add to that that different browsers implement features differently - whether it's something as basic as the box model, or something more complex - such as javascript support for various functions and elements.

To be a developer, you really need to understand at least HTML, XHTML, Perl, PHP, and XML. Throw in apache configuration syntax, a few HTTP standards, a little bit of *nix, and of course you'll need to know how to compile and install things. It seems to me that the money involved in gaining a truly comprehensive understanding of internet technology is hardly worth it. It has to be something that you enjoy, and something you are willing to do for little more than the appreciation of others who can take advantage of your end solutions.

The ever changing landscape of the web isn't set to change anytime soon. You'll be hearing more about Comet in the upcoming years, which will mean changes to http standards, web servers, and the functionality will probably mean that basic html standards will again be in flux. As bandwidth capabilities change in the United States over the next decade, a lot of the technologies that we are playing with now will either mature and take on a whole new life, or they will sputter and turn into wasted effort as the projects reach a state of abandonment. The economic model surrounding the internet is due for change as well. Anti-spamming measures will become more and more complex, internet sales tax will eventually be implemented. Free services will replace paid infrastructures overnight in the least expected places.

It's a little bit like the wild west right now. I know that analogy was truly applicable a decade ago, but a decade ago it was during the time of the wild west when the settlers were first moving west - dealing with problems like cholera, unfriendly indians, and the general wild unknown. Now we are moving into the era where settlements are established, everybody has a dream of making it rich overnight, and the law is ever-so-strict in some areas, non-existent in others, and unequally distributed everywhere.

Establishing your own settlement is possible for people of all backgrounds, but the toolkit required for success is knowledge. People who know how things work in general, how to make changes, and how to create their own technology are the golden commodities. The more languages and syntactical structures you know, the more valuable you are to yourself and others. More important than understanding languages is in understanding how to find the information you need to move forward. I expect that by the time my children reach college, they will understand at least 8 scripting languages, be proficient in 3 of them, and have a fundamental programming foundation that rivals my own.



How many Programming Languages Do You Need to Know? Interaction