Cuando se habla de un lenguaje de programación adecuado, debemos de tomar en cuenta la gran diversidad que actualmente existe en el mercado. Esta diversidad la podemos comparar con los idiomas de habla humana. A éstos idiomas principáles podemos también añadir los dialéctos derivados de los mismos.

Los lenguajes de programación existentes son productos de alguna solución a algún problema. Si lo vemos de esa forma, podemos entender más fácilmente que cada lenguaje de programación tiene características propias, las cuáles generalmete se derivan del problema original por el cuál fue creado. Un ejemplo muy fácil de entender lo tenemos en el leguange de programación Java. Este lenguage, fue producto de la nececidad de unir las funciónes básicas de un lenguaje de programación  común como C, C++, y lenguajes netamente creádos para comunicación con la red como por ejemplo, el HTML.

Un lenguaje de programación generalmente nunca podrá sustituir a otro completamente. Por ejemplo, HTML o XML, nunca podrán sustituir a Java, C++, Smalltalk, etc.. Sin embargo, en muchos casos es necesario combinarlos para obtener el resultado deseádo. En la actualidad se está hablando cada vés más de los llamados Metalenguájes, con los cuáles se quiere conseguir el unir varios de los lenguájes más utilizados, o sus propiedades principales, en una misma plataforma. Este es el caso de .NET.

Un buen programador siempre utilizará el lenguaje correcto, o si es necesario varios de ellos, para obtener el objetivo deseádo. Java, HTML y XML por ejemplo, se completan muy bién a la hora de realizar aplicaciones que corran en la Red. Antes de comenzar a edificar una obra, el constructor debe de planear todo, en especial debe de estar seguro de que posée los medios, herramientas y materiales necesarios no sólo para comenzar, sino también para poder terminar la obra. De la misma manera, quién quiera realizar un programa o aplicación, debe de tomarse el tiempo necesario para elegir el lenguaje o lenguajes que mejor se ajustan a los objetivos deseádos.

A continuación una lista de algunos de los campos más usados y los posibles lenguájes de programación a utilizarse:

Web-Design:

Si se deséa hacer una simple página web, entonces se pueden usar por ejemplo HTML, CSS, DHTML, XML, JAVA, JavaScript, etc.. Dependiéndo de la complejidad, por ejem. para crear un directorio web, se puede usar también PHP, PERL. Si se necesita banco de datos, entonces se usa por ejemplo MySql. Dependiéndo del tipo de aplicación, se puede utilizar también la tecnología de Java, por ejemplo para conectar una aplicación de desktop con un servidor.

Aplicaciónes de desktop:

Con este término queremos hablar de aplicaciones que correnen en un PC local, es decir, que no son hechas principalmente para correr en u servidor. Dependiéndo del tipo de programa que se desée realizar, hay diferentes posibilidades: Java, C++, Smalltalk, Delphi, VisualBasic, .NET, y otros. Aquí es también muy importante tomar en cuenta las características de éstos lenguajes para elegir el correcto. Por ejemplo, para realizar una aplicación que no dependa de la plataforma o sistema operativo, siempre se piensa en Java primeramente, ya que Java es  plattform-independent , o sea, es indepediente a la plataforma. Puede correr en Unix y Windows sistemas con sólo instalar el  Driver o  Virtual-Maschine . Además Java pone a disposición herramientas como los archivos ejecutables  *.jar , que se pueden crear fácilmente y que son comparábles a los archivos  *.bat o  *.exe . Una de las grandes desventajas de Java es la creación de GUIs, ya que llevan mucho trabajo. A pesar de que ya se consiguen  tools o  Plugins como el VisualEditor para la plataforma  Eclipse , y que hacen posible la creación de Java-GUIs visualmente (o sea, nó solo escribiéndo códigos de programa sino que por medio de  Drag/Drop se posecionan con el maus los componentes en el lugar deseádo), otros lenguájes como Delphi y Visual Basic, ya contienen herramientas que posibilitan la creación de GUIs de una forma visual y muy sencilla.

Otra cosa importante a tomar en cuenta a la hora de elegir el lenguáje, es por ejemplo las posibilidades que éste ofrece para aplicaciones en las cuáles el usuario interectuará con el sistema operativo directamente. Por ejmplo, si se va a interactuar con componentes  críticos de un sistema operativo, como los  Drives de hardwares, CD-Rom, Disco duro, etc., entonces es recomendable usar C, C++ o C #.

Por último es también importante el saber sie se deséa hacer una aplicación con lenguajes basados en la tecnología de  Objeto orientado , como Smalltalk, Java, etc., o Modulares como Delphi, VisualBasic.

Programación de sistema operativos:

En este caso es recomendable el usar programas como C, C++.. Linux y Windows son programádos básicamente con éstos.

Banco de Datos:

Dependiéndo del tipo de aplicación, la plataforma en que se usarán, la cantidad de Datos almacenados, seguridad, etc., también es necesario conocer bién las propiedades de la base de datos a elegir. Si por ejemplo se necesita la base de datos para una aplicación casera, local y privada, se puede usar Access, ya que és la más fácil de crear y manejar. Si hablamos de algo mucho mayor, como una base de datos para un Banco, Empresa, etc., entonces es Oracle recomendable, en especial por la seguridad que ésta brinda. Si la aplicación es netamente una aplicación web, como un catálogo de venta de autos online, entonces se puede usar MySql.

Programación de máquinas:

Assembler y otros.