1.1    El estudio de los lenguajes de programación.

Pese a que se han diseñado e implementado cientos de lenguajes de programación (en 1969, Sammet hace una lista de 120 muy ampliamente usados), en la realidad, la mayoría de nosotros concentra sus esfuerzos de programación en uno o dos LPs.

La pregunta que surge entonces es: ¿para que gastar tiempo estudiando variedades de lenguajes si finalmente usaremos uno?

  1. Mejorar la habilidad para desarrollar algoritmos efectivos.

    Por ejemplo, el uso de la recursión puede llevar a algoritmos elegantes y eficientes o a algoritmos con tiempos de ejecución astronómicos. (OO, concurrencia, programación lógica)

  2. Mejorar el uso de los LPs existentes.

    Por ejemplo, saber como se implementa la manipulación de datos en arreglos, listas, strings, en un LP particular, puede llevar a hacer una elección más adecuada.

  3. Aumentar el vocabulario de construcciones útiles.
    La gente usa el lenguaje para expresar cosas.
    El lenguaje sirve para estructurar lo que uno piensa.

Por ejemplo, una estructura de control de subprogramas conocida como corrutina, es muy útil a veces, pero pocos lenguajes permiten su implementación de manera directa.

  1. Permitir una elección mejor de un LP.

    De acuerdo a las necesidades, hay lenguajes más adecuados para ciertas aplicaciones, que otros.

    Lisp, Prolog, para I.A.
    Snobol, para procesamiento de strings.
  2. Facilitar el aprendizaje de un nuevo LP.

    Así como para un lingüista, las estructuras básicas de los lenguajes (see Chomsky) ayudan a manipularlos mejor, ocurre lo mismo con los LPs.

  3. Facilitar el diseño de un nuevo lenguaje.

    Aunque un programador no se ve a si mismo como un diseñador de LPs, todo programa tiene (casi) una interfaz con el usuario. esta interfaz, es una forma de LP, aspecto que se simplifica, si el programador está familiarizado con una variedad de métodos de construcción e implementación de los LPs.