ANTECEDENTES
Marshall McLuhan, el famoso, profesor de literatura inglesa, crítica literaria y teoría de la comunicación, además de profeta de la comunicación y creador del concepto de «Aldea Global» decía que cada adelanto tecnológico era una extensión de nuestro sistema nervioso central y que los computadores revolucionarían la vida tal cual la conocemos, que los adelantos en materia de comunicación, telecomunicación y manejo de la información reducirían al mundo al tamaño de una pequeña aldea en la que todo lo que le pasa a un vecino se sabe casi al instante en toda la comunidad.
El principal responsable de este nivel de conectividad global es el computador u ordenador como le llaman los españoles, pero para que el mentado aparatito haga su magia es necesario que tenga un programa y los encargados de elaborar esos programas son unos seres humanos muy especiales que se dedican a escribir código en ciertos lenguajes especiales que se transforman en instrucciones directas a la máquina para que el computador trabaje, registre, procese, analice y entregue resultados que parecen cosa de magia.
Esos lenguajes especiales se llaman lenguajes de programación y sirven como eslabón entre el ser humano y las computadoras que por si solas son las cosas mas inútiles sobre la tierra, pero alimentadas por un buen programa dejan sorprendido a cualquiera con lo que pueden hacer, dicho programa está escrito en un lenguaje de programación que por medio de otros programas, las instrucciones se convierten en órdenes precisas que el computador puede interpretar y ejecutar.
En la prehistoria de la computación los equipos informáticos eran una serie de enormes circuitos lógicos que se conectaban e interconectaban para realizar operaciones lógicas de cálculo iterativo o complejo que debían ser rediseñados para cada cálculo que se hiciera, posteriormente se logró que entendieran una serie de instrucciones en lenguaje binario ( cada número se representa por secuencias de 1 y 0, ejemplo: 125 = 1111101) que se escribían para simular instrucciones acumulación, sustracción o estados lógicos (si/no) con lo que se daban instrucciones a los computadores.
A este tipo de instrucciones se les llamó «Lenguaje de Máquina» que también fue sintetizado un poco utilizando lenguaje «Hexadecimal» que es otro sistema de numeración que luego del 10 incorpora letras (8= 8, 9=9, 10 = A, 11=B…29=1D ) pero programar una computadora era siempre una tarea muy complicada para cualquier genio de grandes capacidades intelectuales e imposible para los simples y silvestres mortales.
Ante esta situación, muchos de los intelectos dedicados a la informática pensaban que debía existir una forma mas fácil de decirle al computador que hiciera las cosas y cómo debía hacerlas y así nación el primer lenguaje de programación llamado Assembler o conocido en español como: Lenguaje Ensamblador que con una serie de instrucciones básicas manipulaban la memoria física de los computadores para simular operaciones, registros o acciones sobre el Hardware, iniciando la era de los lenguajes de programación.
Estos lenguajes se llamaban «de bajo nivel» no por su debilidad sino que al contrario porque llegaban al mas bajo nivel de control sobre la computadora, pudiendo acceder los rincones mas remotos y escondidos del hardware, con Assembler se puede controlar cada pixel de la pantalla, cada tecla, los “led” de la computadora, enviar señales eléctricas directas a los puertos de salida, controlar los dispositivos de audio, video, discos, etcétera. Entre mas de bajo nivel sea el lenguaje, mas control se tiene sobre el Hardware de la computadora y entre de mas alto nivel sea el lenguaje, menos acceso tiene el programador sobre el equipo, a no ser que «invoque» rutinas de «Bajo Nivel» que le permitan hacer lo que no puede hacer con el lenguaje.
Iniciemos entonces la breve historia de los lenguajes de programación:
ASSEMBLER o LENGUAJE ENSAMBLADOR
Este lenguaje de bajo nivel se atribuye al físico inglés Maurice Wilkes quien inspirado en trabajos del célebre físico y matemático John Von Neumann sobre arquitectura de computadores, en el St. John’s College (Cambridge) buscó la manera de facilitar la programación de computadoras que debía hacerse casi a mano, por una que considerara a la computadora integrada por partes separadas para las operaciones lógicas, de proceso y de cálculo, arquitectura que hoy en día se utiliza en los computadores, de estas idean nación la computadora, UNIVAC fabricada en 1951 por la Sperry-Rand Corporation y que fue la primera que pudo guardar un programa y ejecutarlo en un lenguaje ensamblado.
Tan complejo era que los programas eran series interminables de código como lo que sigue:
ASSEMBLER
LIST P = 16F84 ;Indicamos el modelo de PIC a utilizar
; Definición de registros
portb EQU 0x06 ; Puerto B
TRISB EQU 0X06 ; y TRISB en banco 1
estado EQU 0X03 ; La dirección del registro de estado es la 0x03
intcon EQU 0x0B ; Registro controlador de interrupciones
opcion EQU 0x81 ; Registro OPTION
tmr0 EQU 0x01 ; Registro del Timer0 (TMR0)
; Definición de bits
banco EQU 0X05 ; Bit del registro de estado correspondiente
; al banco de datos. En ESTADO
Z EQU 0X02 ;Bit indicador de que el registro W está a cero.ESTADO
t0if EQU 0x02 ; Bit de INTCON que indica que se produjo
; interrupción por desbordamiento del timer0
t0ie EQU 0x05 ; Bit de INTCON que habilita o no la interrupción
; por desbordamiento del timer0
Por esta razón casi todas las líneas de código estaban totalmente comentadas (con un punto y coma “;”), explicando línea por línea lo que se estaba ejecutando, además el lenguaje era específico para el procesador o chip principal del computador es decir que un programa escrito para una computadora con un procesador Zilog Z-80 era diferente para una que tuviese un Motorolla 8008, porque el lenguaje estaba especificado a las direcciones de memoria del circuito específico, lo que convertía la programación en asunto casi exclusivo para genios autistas.
FORTAN
Surgía la necesidad de crear un tipo de lenguaje mas accesible al humano y que la computadora pudiera comprender ya sea interpretándolo directamente o generando código de máquina a partir del lenguaje, y en 1953 John Backus un ingeniero de IBM propone desarrollar una alternativa al lenguaje ensamblador y conforma un equipo que trabaja por 4 años creando un lenguaje compilado, es decir que genera código de máquina a partir del programa fuente que se llamó FORTRAN (Formula Translation), lenguaje de medio nivel (se le dice medio nivel porque permite llamar a rutinas de bajo nivel para hacer tareas que no puede el lenguaje por sí mismo), orientado a las operaciones matemáticas que aún se utiliza mucho en ingeniería eléctrica, FORTRAN se entregó su primera versión operativa en el año de 1957.
LISP
En 1958, John McCarty y sus colaboradores en el MIT (Instituto Tecnológico de Masachusetts crean LISP (LISt Processing), un lenguaje matemático basado en el Cálculo Lambda de Alonzo Church, que se orientó al estudio y búsqueda de programar Inteligencia Artificial, aún se utiliza hoy en día.
COBOL
Entre 1959 y 1960 nace COBOL (COmmon Business-Oriented Language) un lenguaje de alto nivel «orientado a negocios» por manejo de información y datos, ideal para el procesamiento de grandes lotes de información como en los procesos contables, COBOL surge a raiz del trabajo conjunto entre la CODASYL (Conference on Data Systems Languages), un consorcio de fabricantes de computadoras y el Departamento de Defensa de los Estados Unidos, sin embargo COBOL no es un lenguaje militar sino que está orientado al manejo de datos de negocios y se creó con ese propósito, es decir, sacar a las computadoras del ámbito científico y militar y ponerlas al servicio de las empresas y sus controles, COBOL también es ampliamente usado hoy en día por muchas empresas y organismos que requieren grandes capacidades de procesamiento «por lotes».
Todavía existen programadores en COBOL pero son escasos y carísimos, según ciertas listas especializadas son los programadores mejor pagados sobre la tierra a pesar de los chistes que les hacen.
El seguro social en 1998-99 tenía su afiliación en un sistema IBM viejo que corría en COBOL y para el año 2000 estaba el dilema de que hacer, los programadores de COBOL lo sabían, solo estaban negociando cuanto iban a ganar por las “horas extra” trabajando en aumentarle 2 dígitos a las fechas.
BASIC
En el año 1964, el profesor, matemático e informático John George Kemeny, junto a Thomas Kurtz buscando un lenguaje que simplificara la escritura de código fuente desarrollaron Dartmouth BASIC, quiza el lenguaje mas popular de todos los tiempos que se lamó BASIC y que se masificó al aparecer en las primeras computadoras personales como la Altair 8800 y luego en casi toda las que le sucedieron. BASIC llevó la programación al mundo de los mortales y muchos comenzamos nuestros pininos con aquel sencillo GW Basic que venía en las primeras computadoras personales IBM.
Los ocho principios que rigeron el diseño de BASIC fueron:
1.Ser fácil de usar para los principiantes.
2.Ser un lenguaje de propósito general (no orientado).
3.Permitir a los expertos añadir características avanzadas, conservando simple el lenguaje para los principiantes.
4.Ser interactivo.
5.Proveer mensajes de error claros y amigables.
6.Responder rápido en los programas pequeños.
7.No requerir un conocimiento del hardware de la computadora.
8.Proteger al usuario del sistema operativo.
PASCAL
Basic era fácil pero desordenado, debil, inseguro, lento por ser “interpretado” (cada línea era leída en tiempo de ejecución y convertida en instrucción de máquina) y creaba malos hábitos de programación, por estas simples razones, el profesor suizo Niklaus Wirth trabajó durante los años 1968 a 1970 en un lenguaje fácil de aprender pero estructurado, eficiente y completo que pudiera llegar a bajo nivel para hacer aplicaciones de todo tipo, es decir que no estuviera orientada a un ámbito específico. En 1970 el profesor Wirth dio a conocer al mundo al lenguaje de programación PASCAL, nombrado así en honor al célebre matemático Blaise Pascal.
De Pascal se derivaron lenguajes como Delphi un PASCAL con esteroides y en ambiente gráfico (lo llamaban Visual Pascal), que tuvo gran popularidad en Europa y el lenguaje Kilyx, que fue un intento fallido de llevar Delphi a Linux.
Esta historia continuará….
1 comment for “La breve historia de la programación. Parte 1”