Año nuevo, lenguajes de programación viejos

foto computadora vieja

La mayoría de los lenguajes de programación que usamos en la actualidad ya podrían votar. Veamos esta lista de sus años de aparición:
C: 1972, C++: 1983, Java: 1995, JavaScript: 1995, Python: 1991, PHP: 1995 y Ruby: 1995

Aquí vemos que muchos de ellos fueron creados antes de Internet o junto con ella, en una época en que los teléfonos no tenían pretensiones de ser inteligentes y los informátícos solo pensaban en las nubes para ver si llevaban el paraguas al trabajo.

También hay otros que sin la extensión de los arriba nombrados siguen sin embargo estando vigentes en ciertos sectores y que gracias al código abierto podemos probar en nuestra computadora

ALGOL

Creado en 1958 está considerado el primer lenguaje capaz de utilizarse en cualquier equipo, su limitación de no poder ingresar datos durante la ejecución del programa, sino que hay que incluirlos en el código limitó su uso a los laboratorios para la realización de cálculos. Algunos lenguajes de programación como ADA, C y Pascal tomaron elementos de Algol.

Ejemplo de un programa en ALGOL


procedure Absmax(a) Dimensiones:(n, m) Resultado:(y) Subíndices:(i, k);

value n, m; array a; integer n, m, i, k; real y;

comment De la matriz a se toma el elemento con el valor absoluto mayor y se coloca en y.

Los subíndices del elemento se colocan en i y k;

begin integer p, q;

y:= 0; i:= k:= 1;
for p:= 1 step 1 until n do
for q:= 1 step 1 until m do

if abs(a[p, q]) > y then

begin y:= abs(a[p, q]);

i:= p; k:= q

end

end Absmax

Fuente Wikipedia

Cómo usarlo
Lo que podemos usar es la versión opensource de las especificaciones del año 68 del lenguaje. Podemos encontrar Algol 68 en los repositorios de las principales distribuciones, también puede bajarse el ejecutable para Windows y la documentación necesaria en la página del proyecto

COBOL

caja registradora
Cobol es un lenguaje utilizado para la creación de aplicaciones comerciales

Este lenguaje de programación fue desarrollado en 1959 para la creación de software para grandes empresas e instituciones financieras que aún lo siguen utilizando. Al igual que ALGOL se creó con la intención de que fuera multiplataforma.

Características

El lenguaje nació con características de autodocumentación. adecuada gestión de archivos y las mejores funcionalidades de manejo de tipos de datos de la época. Al ser un lenguaje de programación para los negocios utiliza números decimales lo que para la época era una novedad. Su sintaxis era parecida al idioma inglés. Una actualización de 1985 le permitió trabajar con variables locales, recursividad, reserva de memoria dinámica y programación estructurada. mientras que la del 2002 incorporó el paradigma de programación orientada a objetos.

Ejemplo de un programa en Cobol

IDENTIFICATION DIVISION.
PROGRAM-ID. HOLAMUNDO.

PROCEDURE DIVISION.

DISPLAY 'Hola mundo'

GOBACK
Fuente Wikipedia

Cómo usarlo
La opción opensource para Windows, Linux, Mac y FreeBSD es GnuCOBOL, en realidad hacemos trampa porque este compilador actúa como traductor del código en este lenguaje para que sea compilado como si fuera escrito en C.
En los repositorios hay una versión antigua de este programa con el nombre de OpenCOBOL.
Podemos encontrar más información aquí

PL/1

Publicado en los 60 por IBM con la idea de reemplazar a los demás lenguajes de programación (para terminar sumándose a ellos) todavía sigue siendo actualizado por la empresa para la creación de aplicaciones web.

Ejemplo de programa en PL/1

/* Lee una línea que contiene una cadena
/* y luego imprime cada línea sucesiva que contiene dicha cadena. */

find_strings: procedure options (main);
declare pattern character (100) varying;
declare line character (100) varying;
declare (line_no, end_file) fixed binary;

end_file = 0;
on endfile (sysin) end_file = 1;

get edit (pattern) (L);
line_no = 1;
do while (end_file = 0);
get edit (line) (L);
if index(line, pattern) > 0 then
put skip list (line_no, line);
line_no = line_no + 1;
end;

end find_strings;

Como utilizarlo
Hay una versión para Linux y Mac del compilador pero no es de código abierto.


Página oficial de IBM

Pascal

Creado a mediados de la década de los 80 su uso básico era enseñar buenas prácticas de programación.

Características

-El código se divide en porciones de fácil lectura llamadas funciones o procedimientos.
-El tipo de datos de las variables debe ser declarado previamente.

Ejemplo de un programa en Pascal

PROGRAM Raiz (INPUT, OUTPUT);
(* Obtener la raíz cuadrada de un número real x cualquiera.*)

VAR
Valor, Resultado: REAL;
BEGIN
WriteLn ('** Calcular la raíz cuadrada **');
Write ('Introduzca el valor: '); ReadLn (Valor);
(* Raíz cuadrada del valor absoluto de x para evitar raíces imaginarias *)
Resultado := sqrt (abs (Valor));
IF Valor > 0 THEN (* Si es positivo, existe el resultado en los reales *)
WriteLn ('La raíz cuadrada de ', Valor, ' es ',Resultado)
ELSE (* Si es negativo, el resultado es imaginario *)
WriteLn ('No existe la raíz cuadrada de ',Valor,' en los reales.');
Write ('Pulse [Intro] para finalizar...');
END.

Fuente Wikipedia
Cómo usarlo
Existe un compilador de código abierto llamado FreePascal para Windows, Linux, Mac, FreeBSD y Android. Pueden encontrar más información aquí

APL

Su nombre es la sigla en inglés de Un Lenguaje de Programación, se usaba en aplicaciones matemáticas y requería un teclado especial con letras griegas y símbolos matemáticos.

Características

El usuario debe asignar teclas para los símbolos específicos del lenguaje.
Al ser un lenguaje con pocos comandos los programas son muy concisos y fáciles de documentar.
Cada sentencia siempre se ejecuta de derecha a izquierda
Los diferentes compiladores no son compatibles entre si.

Ejemplo de un programa en APL

Resolución de un sistema de ecuaciones
7x + 4y + 2z = 4

6x + 8y + 9z = 7

4x + 2y + 1z = 2

4 7 2 [÷] 3 3 ρ 7 4 2 6 8 9 4 2 1

Fuente Wikipedia

Cómo usarlo
La versión de código abierto es un compilador llamado GNU APL, tiene versiones para Windows y Linux, en este último caso hay binarios para Deb y RPM. Podemos encontrar más información aquí

IBM fue responsable de algunos de los lenguajes de programación pioneros como Fortran y PL/1
IBM fue responsable de algunos de los lenguajes de programación pioneros como Fortran y PL/1

Fortran

Creado en 1957 para ser usado en computación científica fue el primer lenguaje que podía ser escrito usando palabras parecidas al lenguaje humano. Actualmente es usado por científicos e ingenieros.

Ejemplo de un programa en Fortran

REGRESION LINEAL.FORTRANS
APLICACION
DIMENSION TIEMPO(1000),PROD(1000)
OPEN(1,FILE='HISTORIA.txt')
I=0
10 READ(1,*,END=80)T,P
I=I+1
TIEMPO(I)=T
PROD(I)=P
GO TO 10
80 NDATOS=I
CALL AJULIN(TIEMPO,PROD,NDATOS,A,B)
WRITE(*,90)A,B
90 FORMAT('LA ECUACION ES:Y=',F10.2,'+',F10.2,'X')
20 FORMAT(20F10.0)
END

SUBROUTINE AJULIN(X,Y,N,A,B)
DIMENSION X(1),Y(1)
SUMX=0.
SUMY=0.
SUMX2=0.
SUMY2=0
SUMXY=0
DO 20 I=1,N
SUMX=SUMX+X(I)
SUMY=SUMY+Y(I)
SUMX2=SUMX2+(X(I)*X(I))
SUMY2=SUMY2+Y(I)**2
SUMXY=SUMXY+(X(I)*Y(I))
20 CONTINUE
PROD=SUMX*SUMY
B=(SUMXY-PROD/N)/(SUMX2-SUMX**2/N)
A=(SUMY/N-B*SUMX/N)
RETURN
END

Fuente Wikipedia

Características

Los programas originales estaban escritos en tarjetas perforadas de 80 columnas, cada línea debía estar numerada y el orden de ejecución solo podía alterarse con la instrucción goto .
Las nuevas versiones incluyen subprogramas, recursión y una variada gama de estructuras de control.

Cómo usarlo
La Free Software Foundation mantiene el proyecto GNU Fortran con binarios para Windows, Linux y Mac. Más información aquí

Lisp

Creado en 1958 es el que más vigencia tiene en esta lista ya que se usa en proyectos de inteligencia artificial.

Características
Tanto los datos como los programas se expresan en listas.
Las listas se delimitan por paréntesis.
Se hace un tratamiento no-destructivo de los parámetros, ya que la mayoría de las funciones devuelven una lista con los resultados de alguna transformación sobre los que recibieron, pero sin alterar esta última.

Ejemplo de un programa en Lisp
*******************************************************************
Definición de la función:

(defun vacia (l)
(cond ((null l) 1) ; si la lista esta vacía devuelve 1
(t 0))) ; en otro caso (lista llena) devuelve 0

Llamada a la función:

(vacia '(1 3 4)) ; La lista no esta vacía, devolvería 0
(vacia '()) ; La lista esta vacía, devolvería 1
*******************************************************************
(defun último (lista)
(cond ((null (cdr lista)) (car lista))
(t (último (cdr lista)))))

(último '(1 2 3 4 5 6 7)) ; devuelve el último de la lista: 7

*******************************************************************
; ---FACTORIAL----
;Definición matemática
; Factorial(x) = 1 si x=0 caso base
; x*factorial(x-1) si x>0 caso recursivo

;Función factorial hecha con recursividad no final
(defun factorial (n)
(if (= 0 n)
1 ; caso base
(* n (factorial (- n 1))))) ; caso recursivo

(factorial 4) ;esto nos devolvería 24=4*3*2*1

Fuente Wikipedia

Cómo usarlo
Actualmente existe una activa comunidad de desarrollo del lenguaje bajo el paraguas de la Fundación Common Lisp. Podemos encontrar más información aquí

Ada

Fue creado en 1980 por el Departamento de Defensa de EE.UU, se usa en aplicaciones militares y para software de control de tráfico aéreo. Su énfasis está puesto en evitar fallos durante la ejecución de las aplicaciones.

Características

Su sintaxis, está inspirada en Pascal, puede ser entendida incluso para personas que no conozcan el lenguaje. La legibilidad se prioriza por sobre la rápidez de escritura.
No distingue entre mayúsculas y minúsculas en los identificadores y palabras claves.
Todo el programa es un único procedimiento, que puede contener a los procedimientos o funciones como subprogramas.
Cada sentencia se cierra con la palabra end
La sintaxis de atributos predefinidos es Objeto’Atributo (o Tipo’Atributo)
Existen los procedimientos (subrutinas que no devuelven ningún valor pero pueden modificar sus parámetros) y funciones subrutinas que devuelven un valor y no modifican los parámetros.

Ejemplo de un programa en ADA

with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
Put_Line ("¡Hola, mundo!");
end Hello;

Fuente Wikipedia

Cómo usarlo
El compilador GNAT, de la Universidad de Nueva York está en los repositorios de la mayoría de las distribuciones y también hay verisón para Windows.
Toda la información sobre el uso de ADA bajo licencia de código abierto puede encontrarse aquí

Anuncios

1 comentario en “Año nuevo, lenguajes de programación viejos”

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s