Professional Documents
Culture Documents
DE PROGRAMACIÓN
Evolución de los Lenguajes de Programación
INTRODUCCIÓN
Con la idea de facilitarnos las tareas que debemos de desempeñar los humanos, hemos
venido inventado diversas herramientas a lo largo de nuestra historia, que nos permiten tener
una mejor calidad de vida.
Los ordenadores son uno más de los inventos del hombre, aunque debemos decir que las
tecnologías para su fabricación y explotación han tenido un desarrollo sorprendente a partir
de la segunda mitad del siglo XX. Esta herramienta por sí sola no es capaz de efectuar
ninguna tarea, es tan sólo un conjunto de cables y circuitos que necesitan recibir instrucción
por parte de los humanos para desempeñar alguna tarea. El problema entonces, se puede fijar
en ¿cómo vamos a poder hacer que un conjunto de circuitos desempeñen una determinada
tarea y nos entreguen los resultados que nosotros esperamos?, es decir, ¿de qué manera se
puede lograr la comunicación entre el hombre y el ordenador?
Así pues, tratando de dar una solución al problema planteado, surgieron los lenguajes de
programación, que son como un lenguaje cualquiera, pero simplificado y con ciertas normas,
para poder trasmitir nuestros deseos al ordenador.
Por otro lado, un conjunto de circuitos no entendería ningún lenguaje que nosotros
conozcamos, por más sencillo que éste parezca. Los circuitos en todo caso, sólo reconocen
presencia o ausencia de energía, es decir que debemos hablarle a la máquina en su propio
lenguaje (presencia y ausencia de energía, 0 y 1), o nuestro lenguaje deberá de ser traducido
a un lenguaje binario cuyo alfabeto es el 0 y el 1, mediante las herramientas desarrolladas
para llevar a cabo esta tarea, las cuales reciben el nombre de traductores, y los hay de muchos
tipos, dependiendo de características más específicas del lenguaje a traducir y de la manera
de llevar a cabo su traducción.
Como ya habréis entendido, para crear un lenguaje de programación, deberemos crear la
herramienta que lo traduce, y es justamente de ellas, de las que hablaremos a continuación,
para describir como han ido evolucionando en los últimos 50 años.
Programación Básica 1
Evolución de los Lenguajes de Programación
Programación Básica 2
Evolución de los Lenguajes de Programación
1943 - Plankalkül (Konrad Zuse), diseñado, pero sin implementar durante medio
siglo
1943 - el sistema de codificación ENIAC.
1949 - 1954 -- una serie de conjuntos de instrucciones nemotécnicas, como la de
ENIAC, comenzando en 1949 con C-10 para BINAC (que luego evolucionaría en
UNIVAC). Cada conjunto de instrucciones estaba destinado a un fabricante
específico.
Una notación matemática exacta, Backus-Naur Form (BNF), fue utilizada para
describir la sintaxis del lenguaje. Todos los subsecuentes lenguajes de programación
han utilizado una variante de BNF para describir la porción libre del contexto de su
sintaxis.
Algol 60 influenció particularmente en el diseño de lenguajes posteriores, de los cuales
algunos se hicieron más populares. Los grandes sistemas de Burroughs fueron diseñados
para ser programados en un subconjunto extendido de Algol.
Programación Básica 3
Evolución de los Lenguajes de Programación
la sintaxis y la semántica se hizo aún más ortogonal, con rutinas anónimas, un sistema
de tipificación recursiva con funciones de orden superior, etc.;
y no sólo la parte libre del contexto, sino que tanto la sintaxis como la semántica del
lenguaje completo fueron definidos formalmente, en términos de una gramática de
Van Wijngaarden, un formalismo diseñado específicamente para este propósito.
Las variadas pero poco usadas características de Algol 68 (por ejemplo, bloques
simultáneos y paralelos) y su complejo sistema de atajos sintácticos y coerciones
automáticas de tipo lo hicieron impopular entre los ejecutores y se ganó una reputación de
ser difícil. Niklaus Wirth salió del comité de diseño para crear el sencillo lenguaje Pascal.
Algunos de los lenguajes importantes que fueron desarrollados en este período incluyen:
Programación Básica 4
Evolución de los Lenguajes de Programación
1968 - Logo
1969 - B (precursor C)
1970 - Pascal
1970 - Forth
1972 - C
1972 - Smalltalk
1972 - Prolog
1973 - ML
1975 - Scheme
1978 - SQL (inicialmente sólo un lenguaje de consulta, posteriormente ampliado con
construcciones de programación)
Programación Básica 5
Evolución de los Lenguajes de Programación
Programación Básica 6
Evolución de los Lenguajes de Programación
1990 - Haskell
1991 - Python
Programación Básica 7
Evolución de los Lenguajes de Programación
Fue el primer lenguaje de alto nivel: fue desarrollado por IBM y su primera versión se
lanzó en 1957. Su nombre proviene de la contracción de FORmula TRANslation, y da una
buena indicación del lenguaje que fue, según consta en el primer manual FORTRAN,
proporciona un lenguaje capaz de expresar cualquier problema en función de un cálculo
numérico, en particular aquellos problemas en los que hay involucradas numerosas formas
y muchas variables. Fue diseñado para su uso en aplicaciones científicas y técnicas. Se
caracteriza por su potencia en los cálculos matemáticos pero está limitado en lo relativo al
tratamiento de datos no numéricos, por lo que no resulta adecuado para aplicaciones de
gestión manejo de ficheros, tratamiento de caracteres y edición de informes. Por esta razón
no a sido usado extensamente en el ámbito del microordenador, pero sigue siendo un
lenguaje común en aplicaciones de investigación, ingeniería y educación
1953, Job Backus, un empleado de IBM propuso el desarrollo de un nuevo lenguaje de
programación, el Fortram. Por aquella época, todos los programadores escribían en
ensamblador. Las razones de Backus se basaban en el alto coste del tiempo que dedicaban a
su trabajo los programadores debido en su mayor parte a las grandes dificultades que
acarreaba la escritura de programas en ensamblador. La propuesta de Backus fue aceptada y
en 1954 un equipo empezó a trabajar en el desarrollo de formas bajo en control de IBM. El
objetivo principal del grupo era la producción de un lenguaje que pudiera traducirse de forma
eficaz al lenguaje máquina. Está considerado como el primer lenguaje de alto nivel. Por ser
el primero alcanzo una gran popularidad desde su primera versión en 1957. Se llegó a admitir
que el FORTRAN podía no ser ideal para problemas fuera del área numérica y realmente las
áreas principales de aplicación han sido la resolución de problemas científicos y de
ingeniería. El lenguaje a sido, sin embargo, satisfactoriamente aplicado en otras áreas de
problemas.
La versión original del FORTRAN fue desarrollada para correr en una máquina en
particular (el IBM 704) y fue concebido a la luz de las características de esa máquina. Por
Programación Básica 8
Evolución de los Lenguajes de Programación
tanto algunos de los aspectos del fortram tiene sus orígenes de acuerdo con un ordenador en
particular, y el diseño del lenguaje no es del todo lógico pero refleja lo que podría
convenientemente conseguirse en esa máquina. Esto está en serio contraste con el ALGOL
60, contemporáneo del FORTRAN que es un lenguaje formalmente definido y lógicamente
estructurado.
La importancia del FORTRAN como el primer lenguaje de alto nivel fue el hecho de que
facilito una alternativa al código ensamblador ofreciendo a los programadores un cierto
descanso de la tiranía y minuciosidad impuestas por este último. Desde su introducción ha
evolucionado a través de muchas versiones incluyendo el FORTRAN II, se estandarizo
(FORTRAN IV) y mejoró en 1966 (se aumentó la portabilidad del lenguaje) y nuevamente
en 1977 (Fortram 77) y en 1990 (Fortram 90) es la versión actual. Fue el primer lenguaje
estandarizado por un órgano nacional de estándares (el FORTRAN IV se ha mantenido como
reliquia en forma estándar por el American National StandardsInstitute). El FORTRAN
durante su evolución, ha incorporado numerosas inclusiones, alguna de las cuales tiene por
objeto hacerlo adecuado para cálculos no numéricos, pero su núcleo original ha
permanecido. Incidentalmente el BASIC tiene sus orígenes en el FORTRAN II. Como quiera
que el FORTRAN llevo la primacía como primer lenguaje de ordenador de alto nivel, a pesar
de que posteriormente ha sido aventajado por otros lenguajes más modernos, pude parecer
sorprendente que haya sobrevivido con tanta fuerza. Sin embargo, el número de
programadores que lo han aprendido, la existencia de gran cantidad de software escrita en
este lenguaje y la existencia de muchas librerías de aplicaciones, incluyendo el paquete de
gráficos GINO-F, se combinan para asegurar que el FORTRAN es y continuará siendo
ampliamente utilizado.
El ALGOL ("ALGOrithmic
Lenguage") es el primer
lenguaje que fue creado por un
comité internacional. En 1960
se reunieron representantes de
varios países europeos y de
Estados Unidos para crear un
lenguaje destinado a "describir
procesos" mediante
instrucciones de control (iteraciones y alternaciones) de nivel más elevado que las existentes
en las versiones existentes de su predecesor, el FORTRAN.
Permite escribir programas de resolución de problemas en forma limpia y clara, de
fácil lectura. Aunque poco "transportable" (no permite con facilidad que un programa
Programación Básica 9
Evolución de los Lenguajes de Programación
Diseñado por JG Kemeny y TE Kertz del colegio Dartmouth en Estados Unidos. Fue
concebido como lenguaje interactivo que podría ser de fácil aprendizaje y enseñanza
como resultado de su semejanza con el idioma inglés. Estuvo disponible en 1.965. Existen
diversas versiones disponibles de BASIC, el dialecto conocido como Microsof BASIC ha
sido casi aceptado como un estándar para microordenadores.
El BASIC provee muy pocas estructuras para facilitar al programador la construcción de
programas. Esta es, la razón por la cual el BASIC es tan fácil de aprender (otros lenguajes
tienden a facilitar repertorios más potentes). Es así mismo un factor determinante
característico de los programas en BASIC; tienen que construirse utilizando el mismo
número, corto además, de bloques.
El BASIC posee un abanico de funciones; incluye funciones numéricas ampliamente
comparables a las que tiene una calculadora científica y funciones para el manejo de
caracteres.
El Basic ofrece un reducido repertorio de estructuras de programación a pesar de que al
igual que todos los lenguajes de programación, ofrece al usuario la posibilidad de construir
otras: Es factible describir cualquier calculo en BASIC, pero para escribir programas de
cierta envergadura, tiene definitivamente una serie de restricciones, como consecuencia de
la carencia de unas buenas estructuras de programación.
Programación Básica 10
Evolución de los Lenguajes de Programación
Fue diseñado por el profesor Hiklaus Wirth del Instituto Federal de Tecnología de
Zurich en 1970. Le puso el nombre de un matemático francés del siglo XVII, Blaise Pascal,
a quien se debe, entre otros descubrimientos, la primera máquina de calcular. El lenguaje fue
implantado por primera vez por su diseñador y posteriormente estuvo disponible para todos
los microordenadores populares.
La razón principal que impulsó a Wirth a desarrollar PASCAL fue el ofrecer un lenguaje
para enseñanza de la programación como disciplina sistematizada, de forma que los
principios de la disciplina estuvieran claramente reflejados por el lenguaje. Se basa en un
lenguaje anterior de programación, el ALGOL 60, conservando todas las características
deseables de este lenguaje, con las aplicaciones y correcciones necesarias. El hecho de que
el PASCAL fuera adoptado ampliamente no solo para la enseñanza de la programación sino
también para el desarrollo de sistemas de microprocesadores y por usuarios de
microordenadores es un indicativo de su éxito y también del éxito de su diseñador al
conseguir su principal propósito. También pretendía que una eficiente y fiable implantación
del lenguaje, pudiera realizarse con cualquier ordenador. En esta área el Pascal no tuvo tanto
éxito. Muchas de sus implantaciones distan mucho de ser compactas necesitando más
memoria que sus implantaciones en BASIC.
El PASCAL provee un amplio repertorio de estructuras de programación y permite definir
tipos de datos según se requieran. Por consiguiente, al programador se le facilitan todas las
características necesarias para dar a sus programas una estructura lógica y se le proporciona
la posibilidad de diseñar sus propias estructuras de datos en caso de que las suplidas por el
Programación Básica 11
Evolución de los Lenguajes de Programación
pascal no satisfagan sus necesidades. De esta manera no se hace necesario recurrir a métodos
artificiales o idiosincrásicos para diseñar programas y manejar datos.
Las normas impuestas por el Pascal, tales, como el requerir del programador cada variable
y decir cómo se utilizará, deben ser consideradas como un beneficio ya que al permitir el
desarrollo de programas en forma sistematizada se evitan automáticamente la mayor parte
de los errores más comunes en programación.
Lenguaje C. (1972)
El lenguaje fue creado en 1972 por Dennis Ritchie, que junto con Ken Thompson había
diseñado anteriormente el sistema operativo UNIX, y su intención al desarrollar el lenguaje
C fue conseguir un lenguaje idóneo para la programación de sistemas que fuese
independiente de la máquina para utilizarlo en la implementación del sistema operativo
UNIX. Desde entonces, tanto el UNIX como el C han tenido un enorme desarrollo y
proliferación, hasta convertirse en un estándar industrial para el desarrollo de software
El C es un lenguaje moderno de propósito general que combina las características de
un lenguaje de alto nivel (programación estructurada, tipos y estructura de datos,
recursividad, etc.) con una serie de características más propias de lenguajes de más bajo
nivel. Esta cualidad del C hace posible que el programador use la programación estructurada
para resolver tareas de bajo nivel, obteniendo un código ejecutable veloz y eficiente.
Debido a sus características de más bajo nivel, mucha gente considera al C como un lenguaje
de nivel medio.
Debido a esta libertad de programación que proporciona este lenguaje, se ha vuelto muy
popular y es el lenguaje más usado entre los desarrolladores profesionales de software de
aplicaciones comerciales (procesamiento de textos, bases de datos, aplicaciones científico-
técnicas, etc.). Además C, es un lenguaje pequeño (posee pocas instrucciones) y conciso (no
presenta instrucciones redundantes).
El coste de un lenguaje tan potente y útil es que no es particularmente fácil de aprender.
De hecho, la programación segura y fiable en este lenguaje requiere un conocimiento
bastante profundo del mismo.
La programación en C se utiliza, entre otras cosas, para el desarrollo de sistemas
operativos. El primer sistema operativo escrito en C fue Unix. Más tarde, otros sistemas
operativos como Linux también fueron escritos en C. Pero C no es sólo el lenguaje de
programación de los sistemas operativos. C es el precursor e inspirador para casi todos los
lenguajes de alto nivel más populares disponibles en la actualidad. De hecho, Perl, PHP,
Python y Ruby están escritos mediante programación en C.
Programación Básica 12
Evolución de los Lenguajes de Programación
Simplicidad y velocidad
Disciplina
Pocas distracciones
Programación Básica 13
Evolución de los Lenguajes de Programación
Programación embebida
Microsoft Windows
Linux
Como ya hemos dicho Linux también está escrito principalmente en C, con algunas
partes, al igual que windows, en ensamblador. Alrededor del 97 por ciento de los 500
superordenadores más potentes del mundo corren el núcleo de Linux. También se utiliza en
muchos ordenadores personales.
Mac
Los ordenadores Mac también son soportados por una programación en C. El núcleo
OS X está escrito principalmente en C y cada programa y driver en un Mac, igual que en
Windows y Linux, se ejecuta con un kernel C.
Móvil
Los kernels de iOS, Android y Windows Phone también están escritos en C. En realidad
son sólo adaptaciones móviles de los kernels existentes en Mac OS, Linux y Windows. Así
que los teléfonos inteligentes que utilizamos todos los días se están ejecutando en un núcleo
con programación en C.
Programación Básica 14
Evolución de los Lenguajes de Programación
Bases de datos
Las bases de datos más populares del mundo, incluyendo bases de datos Oracle,
MySQL, MS SQL Server y PostgreSQL, están codificados en C (los primeros tres de
ellos en realidad tanto en C como C ++). Las bases de datos se utilizan en todo tipo de
sistemas: financieros, gubernamentales, en medios de comunicación, entretenimiento,
telecomunicaciones, salud, educación, comercio minorista, redes sociales, web, y similares.
Películas 3D
Las películas en 3D son creadas con aplicaciones que generalmente están escritas en C y
C ++. Esas aplicaciones tienen que ser muy eficientes y rápidas, ya que manejan una gran
cantidad de datos y hacen muchos cálculos por segundo. Cuanto más eficientes son, menos
tiempo toma a los responsables de crearlas para generar los fotogramas de las películas. Y
eso no solo es tiempo sino también mucho dinero ahorrado.
Programación Básica 15
Evolución de los Lenguajes de Programación
Programación Básica 16
Evolución de los Lenguajes de Programación
Programación Básica 17