Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACIÓN
HISTORIA
De las máquinas de
calcular a los
computadores
programables
Ejemplo FORTRAN
Tomado del manual de
FORTRAN del IBM 704
Los primeros lenguajes de alto nivel
Lisp
Lenguaje de alto nivel desarrollado a finales de los 50 en el MIT por John
McCarthy.
Aunque históricamente el nombre del lenguaje se solía escribir con letras
mayúsculas (LISP), posteriormente se ha popularizado el uso de la
mayúscula sólo para la primera letra (Lisp). Esta forma es más fiel al
origen del nombre del lenguaje. Lisp no es un acrónimo, sino la
contracción de la expresión List Processing. El procesamiento de listas es
una de las características principales del Lisp.
McCarthy explica en un artículo de 1979 la historia inicial del Lisp:
“En el verano de 1956 durante el Dartmouth Summer Research Project on
Artificial Intelligence, el primer estudio organizado de Inteligencia
Artificial, tuve la idea de desarrollar un lenguaje algebraico para el
procesamiento de listas. Quería usarlo para el desarrollo de trabajo en
inteligencia artificial en el IBM 704” John McCarthy, History of LISP”
Los primeros
lenguajes de
alto nivel
Uno de los primeros
manuales de Lisp publicados
es el manual de LISP de
1960 para el IBM 704 escrito
por Phyllis A. Fox. del grupo
de investigación del MIT
dirigido por McCarthy.
Un ejemplo de código Lisp:
La explosión de
los lenguajes de
programación
Desde 1954 hasta la actualidad se
han documentado más de 2.500
(consultar en The Language List).
Entre 1952 y 1972 alrededor de
200 lenguajes. Una decena fueron
realmente siginificativos y
tuvieron influencia en el
desarrollo de lenguajes
posteriores.
La explosión de los lenguajes de programación
Algunas notas sobre la genealogía:
APL es un lenguaje algebraico declarativo de especificación de funciones y circuitos lógicos.
Su carácter declarativo ha tenido influencia en lenguajes como Prolog o Haskell.
Lisp no sólo es un lenguaje funcional, sino que también es el primer lenguaje interpretado,
ha influido en lenguajes dinámicos no funcionales como Python o Smalltalk. Lenguajes
como Smalltalk o Objective-C también heredan de Lisp algunas características funcionales.
SIMULA es el primer lenguaje que define conceptos como clase u objeto. Es el origen de la
programación orientada a objetos. Lenguajes como C++, Eiffel, o Java toman esta idea.
Frente a esta tendencia se encuentra otra visión de la programación orientada a objetos de
lenguajes como Smalltalk u Objective-C en la que se enfatiza más aspectos dinámicos como
el paso de mensajes o la modificación de clases en tiempo de ejecución.
La explosión de
los lenguajes de
programación
Algunos lenguajes
importantes y su fecha
de creación
Los creadores de los LPs
Si comprobamos la historia de los lenguajes de
La explosión programación, podemos clasificar a sus creadores en
tres grandes categorías:
de los • Investigadores trabajando en empresas
lenguajes de (Backus/IBM-FORTRAN, Gosling/Sun-Java)
• Investigadores en universidades y departamentos
programación de Informática (McCarthy/MIT-Lisp, Wirth/ETH-
Pascal, Odersky/EHT-Scala)
• Desarrolladores open source que distribuyen su
trabajo a la comunidad (Wall/Perl,
Matsumoto/Ruby)
Lenguajes de programación
en la actualidad
Android
Está escrito en tres lenguajes,
Java para la UI (User Interface o
interfaz de usuario), C para el
Kernel (núcleo, el mismo de
Linux) y las bibliotecas y drivers
de bajo nivel, así como la
máquina virtual están en C++
Lenguajes de las grandes empresas de
Tecnologías
Google Chrome
BackRud (primera encarnación de Google)
fue escrito en Java y Python, ahora se escribe
en C y C++ y sus rastreadores famoso
(Spyders) fueron escritos en Python, sin
embargo este no genero los resultados
esperados y fue cambiado al lenguaje C++.
Google Chrome está escrito en C, Python y
Assembly.
Lenguajes de las grandes empresas de
Tecnologías
Facebook
La parte visible de Facebook está escrita en su mayoría
con lenguaje PHP, por lo que su desempeño es crítico
para todo el sistema. Siendo un lenguaje interpretado
tiene limitaciones de desempeño que los lenguajes
compilados no tienen.
Una gran cantidad de peticiones PHP impone un
consumo excesivo de CPU, y en Facebook han logrado
solucionar el problema con este desarrollo en el que
llevaban trabajando más de 3 años y que permite
convertir el código PHP en código C++
Lenguajes de las grandes
empresas de Tecnologías
Netflix
Depende en gran medida de Python, ya
que utiliza el lenguaje de programación
para incluir tareas como automatización
de seguridad y modelos de aprendizaje
automático para sus algoritmos de
recomendación.
Lenguajes de las
grandes empresas
de Tecnologías
Adobe
Todos los productos de Adobe (Photoshop, Acrobat, Illustrator, etc) estan
escritos en C/C++ e integra a JavaScript. Su interfaz de usuario está desarrollada
con JavaScript.
Linux
La mayor parte de Linux esta hecho en C y sus aplicaciones en Python, KED es
todo en C++. Todos los núcleos de Linux utilizan Assembly.
YouTube
En sus inicios fue construido en PHP pero cambio a Python, se mantuvieron con
Python hasta que fue comprado por Google.
Dropbox
La nube más popular del mundo utiliza Python como lenguaje de programación
principal.
Elementos de los lenguajes de programación
Según la Encyclopedia of Computer Science
Un lenguaje de programación es un conjunto de caracteres,
reglas para combinarlos y reglas para especificar sus efectos
cuando sean ejecutados por un computador, que tienen las
siguientes cuatro características:
1. No requiere ningún conocimiento de código máquina por
parte del usuario.
2. Tiene independencia de la máquina.
3. Se traduce a lenguaje máguina.
4. Utiliza una notación que es más cercana al problema
específico que se está resolviendo que al código máquina.
Elementos de los lenguajes de
programación