no single language

In this day and age, knowing one programming language is not enough to develop software.

Take for example web development. You need to know at least 3 different languages to write a web application:

  1. HTML to provide a user interface.
  2. A web scripting language (e.g. PHP) and possibly a general programming language (e.g. JSP + Java, ASP.NET + C#) in order to process the data entered by the user.
  3. SQL so that you could save the data to a database.

Of course, these are just the bare bones of a web application. More practical web apps require the developer to know more technologies:

  1. CSS to make the interface more appealing and manageable.
  2. Javascript to make that interface more dynamic (a must in Web 2.0).
  3. Another markup language like XML and JSON to facilitate data exchange (e.g. for AJAX)
  4. A web framework to reduce the complexity of a large system.
  5. A scripting language to automate the build and testing of the system

Developing for corporate clients require even more technologies:

  1. Ways of interacting with services on other servers which, when listed down, looks like alphabet soup: SOAP, RPC, CORBA, SOA, etc.
  2. Various security protocols, with keys, certificates, and whatnot.

continue reading…