Saltar al contenido principal

Años 50. Los primeros lenguajes de alto nivel

En los años 50 comenzó realmente la era moderna de los lenguajes de programación. Hasta entonces, las computadoras se programaban directamente en lenguaje máquina (ceros y unos) o en ensamblador, lo que hacía el proceso lento, difícil y propenso a errores. Durante esta década aparecieron los primeros lenguajes de alto nivel, diseñados para que los humanos pudieran escribir instrucciones de forma más comprensible y cercana al lenguaje natural o matemático.

Se pasó de hablar "en el idioma de la máquina" a crear lenguajes que acercaban la programación a las personas, marcando el inicio de la diversificación y especialización de los lenguajes.

Entre los hitos más importantes destacan:

  • FORTRAN (1957): creado por IBM, fue el primer lenguaje de programación de alto nivel ampliamente usado, orientado a cálculos científicos y matemáticos.
  • LISP (1958): desarrollado por John McCarthy, se convirtió en el lenguaje de referencia para la investigación en inteligencia artificial.
  • COBOL (1960): pensado para aplicaciones comerciales y de gestión, con una sintaxis más parecida al inglés.

Fortran

En 1957 aparece FORTRAN. El proyecto fue liderado por John Backus y su equipo en IBM. El objetivo era crear un lenguaje de programación que permitiera escribir programas para cálculos numéricos y científicos más fácilmente que con código máquina o Ensamblador. Fue uno de los primeros lenguajes de alto nivel.

Ejemplo de código escrito en Fortran:

--------------------main program
use devObject
implicit none
!--------------------Executables
call open_devObjects
!...
call usersub
!...
call close_devObjects
end
!--------------------end of main

subroutine usersub
use devObject
implicit none

integer,parameter:: size=1024
type(devVar) dv1,dv2,dv3,dv4

real ar1d1(size),ar1d2(size),ar1d3(size), ar1dresult(size)

call random_number(ar1d1)
call random_number(ar1d2)
call random_number(ar1d3)

dv1=allocate_dv('real',size)
dv2=allocate_dv('real',size)
dv3=allocate_dv('real',size)
dv4=allocate_dv('real',size)

call transfer_r4(ar1d1,dv1,.true.)
call transfer_r4(ar1d2,dv2,.true.)
call transfer_r4(ar1d3,dv3,.true.)

!pointwise multiplication division addition subtraction cest
dv4=(3.14159*dv1*(dv2+dv1)*(dv1-(.553+dv3))*dv2+(-.244))/dv1

call transfer_r4(ar1dresult,dv4,.false.)

call deallocate_dv(dv1)
call deallocate_dv(dv2)
call deallocate_dv(dv3)
call deallocate_dv(dv4)
end subroutine usersub

LISP

LISP, creado en 1958 por John McCarthy, es uno de los lenguajes de programación más antiguos que todavía se usan hoy. Fue diseñado principalmente para la inteligencia artificial y es conocido por su capacidad de manipular listas y símbolos de forma muy flexible. LISP introdujo conceptos importantes como la recursión y el código como datos, lo que permitió desarrollar programas más abstractos y potentes.

Ejemplo de código escrito en LISP:

(defun suma-lista (lst)
(if (null lst)
0
(+ (car lst) (suma-lista (cdr lst)))))

COBOL

COBOL se desarrolló a finales de los años 50 (el comité de diseño se formó en 1959), pero su publicación oficial y adopción generalizada fue en 1960. Este lenguaje se diseñó para programar software para negocios y administración: COBOL (Common Business-Oriented Language), con una sintaxis cercana al inglés.

Debido a la gran cantidad de programas desarrollados en este lenguaje aún está en uso hoy en día.

Ejemplo de código escrito en COBOL:

PROC-REG-ENTRADA.
MOVE CLI-TIPCTA-ENT TO CLI-TIPCTA-SAL.
MOVE NUMCTA-ENT TO NUMCTA-SAL.
MOVE NOMREF-ENT TO NOMREF-SAL.
MOVE NOMCLIE-ENT TO NOMCLIE-SAL.
MOVE DOMIC-CLI-ENT TO DOMIC-CLI-SAL.
MOVE SALDOMY-ENT TO SALDOMY-SAL.

MOVE EL-FECHA-ENT (FECHA-ENT-FIN) TO FECHA-ENTRADA.
IF NUM-MOUS-ENT GREATER SALDOMX-ENT
MOVE 0 TO IND-VALOR-1
ELSE
COMPUTE IND-VALOR-1 ROUNDED
(NUM-MOUS-ENT - SALDOMX-ENT).

MOVE FEC-VALOR-ENT TO FEC-VALOR-SAL.
MOVE FEC-OPER-ENT TO FEC-OPER-SAL.
IF FEC-OPER-ENT
MOVE FEC-VALOR-ENT
IF FEC-OPER-ENT
MOVE ZERO TO NUM-DIAS-ENT
ELSE
CALL 'DIFERIDA' USING FEC-VALOR-ENT.