C
El lenguaje por excelencia de programación de sistemas. Es un lenguaje de
nivel medio (no se puede decir que sea de alto nivel, por incoporar muchos
elementos propios del ensamblador), tremendamente ligado a UNIX (aunque es
portable y hay compiladores para casi cualquier sistema operativo). Casi
podríamos considerarlo como un ensamblador estructurado y portable. Difícil de
aprender (no es recomendable como primer lenguaje), aunque tremendamente
flexible. Bastante dado a errores, sobre todo entre programadores novatos.
C++
Evolución sobre el C. C++ sí se puede considerar de alto nivel. Es orientado a
objetos, relativamente difícil de aprender (muchas características, muy
complicado), pero combina la potencia y flexibilidad de C con orientación a
objetos. Bastante utilizado. Dado a errores, aunque no tanto como C.
Objective-C
Otra evolución del C, que también añade orientación a objetos. Objective-C es
más parecido a C que el C++, es más dado a errores, aunque más flexible, y
tiene mucha menos aceptación. Está relativamente ligado a las estaciones
NeXTStep, y se dice que dado un entorno cualquiera que cumpla la
especificación OpenStep, se puede compilar un programa escrito en Objective-C
(con las llamadas a las funciones de OpenStep, se entiende) sin modificación.
El entorno NeXTStep, con objective-c tiene fama de dar la posibilidad de
escribir aplicaciones grandes en muy poco tiempo.
Java
Un lenguaje "de moda", parecido al C (mayormente por la sintaxis). Orientado a
objetos (Java te obliga; C++ sólo te da la posibilidad), mucho menos flexible
que C++, pensado para hacer aplicaciones interactivas más que controladores
de dispositivos y sistemas operativos. Mucha aceptación popular, muchos
recursos, y posibilidad de incluir programas en Java en páginas HTML (los
llamados "applets").
Perl
Lenguaje interpretado ideado mayormente para la administración de sistemas y
procesamiento de texto. Puede hacer otras cosas, aunque no es muy recomendable
para proyectos grandes. Está lleno de signos raros y es bastante ilegible para
los novatos. Algunos lo recomiendan como primer lenguaje, aunque personalmente
no estoy en absoluto de acuerdo. Es un lenguaje perfecto para hacer pequeños
programas de administración, que resuelvan tareas repetitivas, y para hacer
CGIs y cualquier otro programa que tenga que manejar texto. Se mezcla bien con
otros lenguajes, es posible ejecutar código en C desde un programa en Perl, y
empotrar un intérprete de Perl en un programa en C.
Tcl
Lenguaje interpretado, mayormente ligado a la extensión gráfica Tk (Tcl/Tk).
Un lenguaje sencillo y extensible. Está bien como primer lenguaje.
Lisp
Lenguaje interpretado, altamente recomendable para trabajos de Inteligencia
Artificial. Su nombre viene de LISt Processing, es decir, procesamiento de
listas. Éstas son un tipo de datos que maneja con una soltura envidiable.
Dicen que a los que no saben programar les resulta fácil aprenderlo, aunque a
programadores acostumbrados a "lenguajes convencionales" les resulta muy
extraño.
Ada
Lenguaje muy potente, aunque muy poco usado. Es tremendamente legible para los
novatos (y los no tan novatos), y es bastante flexible. Es perfecto para
sistemas distribuidos y control de procesos. Se utiliza, por ejemplo, para
controlar aviones, comunicaciones, etc. Sobre todo pensado para programas
grandes.
Awk
Lenguaje muy específico, para manejar texto. Un poco en desuso ahora, por
culpa de Perl (éste último es una especie de superconjunto de awk y otros
muchos lenguajes de UNIX). Vale la pena aprenderlo si uno maneja mucho texto y
necesita hacer pequeños programas escritos sobre la marcha. Por ejemplo, es
útil saber que desde línea de órdenes, awk '{ print $2 }' nos da el segundo
"campo" (cogiendo espacios como separadores) de las líneas que le demos.
Python
Lenguaje interpretado, de muy alto nivel, y orientado a objetos. Relativamente
legible, con bastante aceptación popular, y muchas extensiones disponibles.
Pascal
Lenguaje perfecto para principiantes. Bastante legible si uno no sabe
programar, difícil equivocarse, pero muy poco flexible. Es la mejor opción,
seguramente, para aprender a programar. Se han hecho extensiones que hacen de
él un lenguaje más usable para proyectos reales, como el Object Pascal de
Borland (el lenguaje que utiliza Delphi).
|