-
ALGOL (Algorithmic Language)
- Friedrich L. Bauer
- Familia de los lenguajes imperativos
- Utilizado en el ámbito academico y científico
- EE.UU y Europa
- Impacto en lenguajes posteriores
- ALGOL 58
- Lenguaje universal, no para algo especifico.
- ALGOL 60
- Independiente hardware
- Parametros por nombre
- Gramáticas generativas de Chomsky
- Recursión
- Memoria Dinámica
- Tipos definidos por usuario
- if--then--else, for, while
- ALGOL W
- Da origen a Pascal
- ALGOL 68
- Incluye estructura case
-
Fortran (Formula Translation)
- John Backus, IBM.
- Primer lenguaje imperativo de alto nivel
- Calculos numericos y computación científica
- Desarrollado para la IBM 704
- Uso de las expresiones aritméticas
- Se sigue utilizando en la actualidad
- Pograma fortran:
- Rutina principal
- Subrutinas
- Ambientes global y local
- No hay memoria dinamica
- Control --> GOTO
- Luego se agregó if-then-else
- Parametros por referencia
- Tipos numéricos, booleano, arreglos, string, archivos
-
COBOL (Common Business Oriented Language)
- Grace Hopper, US Department of Defense
- Imperativo
- Lenguaje más utilizado en el mundo durante los 70s
- Lo más cercano posible al idioma inglés
- Programas muy largos
- Memoria estática
-
Lisp (List Processor)
- John McCarthy, MIT
- Familia: Declarativos, funcionales
- Aplicaciones no numéricas
- Calculo Lambda
- Dialectos: Common Lisp, Scheme
- El código se representa internamente como listas enlazadas
- Secuencia de expresiones a evaluar
- Interpretado
- Aportes:
- Garbage collection
- Programación de orden superior
- Administración dinámica de memoria
- Tipado dinámico
- Condicionales
- Recursión
-
Simula
- Kristen Nygaard, Ole-Johan Dahl, Instituto de Cómputo Noruego
- Imperativo, Orientado a Objetos
- Extensión de ALGOL 60
- Simulaciones de eventos discretos
- Colas, carga, tiempo de espera, etc
- Versiones
- Simula I
- Simula 67
- Primer lenguaje orientado a objetos
- Influyó en Samlltalk y C++
-
BASIC
-
PL/I
-
Pascal
- Niklaus Wirth
- Imperativo
- Simplificación de ALGOL W
- Enseñanza de programación estructurada y estructura de datos
- Utilizado en educación hasta finales de los 80s.
- Código intermedio --> P-code
- Máquina intermedia con arquitectura de pila
- Portabilidad
- Compilación directa
- Bloques de código
- Funciones anidadas
- Memoria dinámica
- Definición de tipos abstractos
- Manipulación de punteros
-
Prolog
- Alain Colmerauer
- Declarativo, lógico
- Basado en la teoría de deducción automatica
- Resolución
- SLD resolution
- Utilizado para prueba de teoremas, sistemas expertos, procesamiento de lenguaje natural.
-
SQL
-
Smalltalk
- Alan Kay, Xerox PARC
- Orientado a Objetos
- Conceptos de clase y objeto de Simula
- Encapsulamiento y ocultación de información
- Reglas de visibilidad
- Tipo primitivo
- Más que un lenguaje era un ambiente
-
C
- Denis Ritchie y Ken Thompson, AT&T Bell Laboratories
- Imperativo
- Lenguaje más importante de los 70s
- Hereda mucho de la familia de ALGOL
- Facilidad para programaas interactivos
- Creado en inicio para programar UNIX
- Influencio muchos lenguajes posteriores
- Sintaxis compacta
- Funcionalidad de bajo nivel
- Código de maquina eficiente
- Sinfunciones anidadas
- Tipado estatico
- Recursión
-
ML (Metalanguage)
- Robin Milner, Universidad de Edinburgo
- Declarativo, funcional
- Usado para diseño y manipulaciín de lenguajes
- Bioinformatica, sistemas finacieros, etc
- Caml, standard ML
-
Modula
-
Ada
- Jean Ichbiah, US Department of Defense
- Requerimientos de seguridad
- Basado en Pascal
- Programación en tiempo real y sistemas empotrados
- Mecanismos de sincronización y comunicación
-
PHP
-
C++
- Bjarne Stroustrup, AT&T Bell Laboratories
- Orientado a objetos, genérico
- Agrega clases y herencia a C sin afectar eficiencia y compatibilidad
- No hay garbage collector
- Herencia múltiple
-
Erlang
-
Eiffel
-
Oberon
-
Perl
-
Java
- James Gosling, Sun Microsystems
- Orientado a Objetos, genérico
- Basado en C++
- Inicialmente para computadoras limitadas en red y TV
- Navegador de red
- Potencial para internet : Mosaic
- Applet --> programa en cliente que le quita carga al servidor
- Portabilidad
- Seguridad
- Carga dinamica de clases
- Hilos
- Poco eficiente
- Garbage collector
-
Haskell
-
Python
- Guido van rossum, Centrum Wiskunde & Informatica
- Multiparadigma
- Facilidad de lectura, sintaxis compacta
- Interpretado
- Tipado dinamico
- Manejo de memoria automatico
- Entre los lenguajes más populares del mundo
- Bibliotecas extensas
-
Ruby
-
OCaml
-
C#
-
C#
-
Scala
-
Clojure
-
F#