Un lenguaje de programación es aquel capaz de ordenar
operaciones para ser realizadas por una computadora. El uso más común para un
lenguaje de este tipo consiste en la creación de "programas", secuencias de
órdenes para lograr determinadas aplicaciones prácticas; por ejemplo el
navegador que utilizamos en este momento es un programa, así como nuestros
procesadores de texto y planillas de cálculo.
Cuando aparecen las computadoras electrónicas se dejan de
utilizar los sistemas mecánicos de llaves o “relés” que se activaban manualmente
o por algún mecanismo de “memoria mecánica” como las tarjetas perforadas o los
cilindros con martilletes (semejantes a los usados por las cajitas de música).
La llave conectada (que deja pasar corriente) significa un 1 (uno) y desactivada
(que no deja pasar corriente) significa 0 (cero). Ahora esa función la
desempeñan semiconductores y las secuencias de llaves son sustituidas por
secuencias de semiconductores.
Estas secuencias ya no se almacenan en tarjetas
perforadas u otros medios mecánicos. Más bien lo hacen como señales
electromagnéticas en discos duros, flexibles o por medios ópticos comos los DVD
y CD. Sin embargo este lenguaje, conocido como lenguaje de máquina, no es fácil
de memorizar para la mayoría de las personas. Por ello se buscó un lenguaje que
permitiera a los programadores recordar con facilidad relativa las órdenes.
Estas órdenes se escriben con una sintaxis y vocabulario semejante al humano.
Los lenguajes se pueden clasificar en niveles: bajo, medio y alto nivel.
Un
lenguaje de programación de bajo nivel se parece mucho al lenguaje de máquina (podríamos decir
que éste es el que tiene el nivel más bajo) el más conocido de estos es el
“esambler” o ensamblador. Los de nivel intermedio, como pueden suponerlo, se
parecen menos al lenguaje máquina y un poco más al humano, el ejemplo típico es
el lenguaje “C”. Los de alto nivel son los más parecidos al lenguaje humano y el
más conocido de estos es el “Basic”.
Existe otra clasificación que es un poco
más difícil de explicar y tiene que ver con el “paradigma” de programación (es
decir la finalidad o meta a la que se dirige la forma de programar, una especie
de estilo de programación). Un lenguaje de programación puede estar dirigido a formar secuencias de
órdenes, por ello son imperativos. Otros están orientados al desarrollo de
funciones matemáticas y no de secuencias de órdenes, por ello son funcionales,
evitan ciertos problemas que los lenguajes imperativos tienen como la
complejidad de las secuencias de órdenes. Otros usan más que todo órdenes
lógicas, si esto es cierto o no sería una orden lógica que sirve de ejemplo, por
ello se les llama lógicos, son muy utilizados en sistemas automatizados o robóticos. Existen por fin los lenguajes que se ordenan por objetos, es decir
por aplicaciones que previamente existen y sirven para desarrollar otras. Hoy
día los programadores eligen tal o cual lenguaje dependiendo de sus necesidades.
Muchos programas como el ensamblador se usan más con fines
educativos que para otras finalidades. Cuando un programa se ha escrito debe ser
“traducido” al lenguaje de máquina para que la computadora lo pueda ejecutar por
medio de otro programa llamado “compilador”. A la programación en el lenguaje original se le llama
programa “fuente” (hablamos de código fuente) y al programa que puede interpretar la máquina se llama
“compilado”, aunque estos términos pueden variar un poco según el ambiente donde
uno este hablando.