Está en la página 1de 7

Nombre: Mario Daniel Camposeco Cárdenas

Carné: 201314651
Lenguajes Formales y de Programación
Sección: A-

HISTORIA DE LOS LENGUAJES DE PROGRAMACIÓN

NOMBRE DEL AUTOR AÑO DE ORIENTACION VENTAJAS DESVENTAJAS


LENGUAJE PUBLICACIÓN

Algebra de George Boole 1854 Circuitos Lógicos -Reducción de -Solo da resultados


Boole Expresiones para definitivos.
crear circuitos -Compleja,
desconocida y toma
un tiempo aprenderla.
LENGUAJE DE Charles Siglo XIX y XX Programación -Dio paso a la -Requiere Sintaxis
BAJO NIVEL Babagge y (1791-1871) creación de los predefinida.
Ada Lovedby (1815-1852) siguientes niveles -Trabaja solo con
-No necesita código binario.
compilador o -Dificultad y Lentitud
interprete. en la codificación.

ENSAMBLADOR IBM 1950 Microcontroladores -Mayor facilidad de -Dependencia total de


codificación la máquina.
-Velocidad de -Requiere
Calculo conocimientos sobre
el hardware
-Sus aplicaciones son
muy reducidas.
-Necesita un
traductor.
LENGUAJE DE Jhon Backus 1954 -El tiempo es corto -Aumento de la
ALTO NIVEL (IBM) comparado con ocupación de
otros lenguajes. memoria.
-Es independiente -Necesita un traductor
de la máquina. para ser ejecutado.
-Se basa en reglas
sintácticas similares
a los lenguajes
humanos.
-Transportabilidad.
Jhon Backus 1954 Calculo Numérico. -Potencia en -No es muy usado
FORTRAN (IBM) En la actualidad Cálculos numéricos. fuera de los campos
soporta P.O.B de la informática y el
análisis numérico
LISP Jhon 1958 Multiparadigma. -Puede razonar -La ejecución de los
McCarthy (Después se aplicó al matemáticamente. programas es más
uso de inteligencia lenta.
artificial).
-Compatibilidad con -Código difícil de
sistemas comprender.
operativos. -Dificultad para
-Programación depurarlo.
Corta y Sencilla.
SCHEME Guy L. Steele 1975 Funcional, -Scheme, como El estándar de Scheme
Y Gerald Jay Multiparadigma. todos los dialectos es realmente
Sussman de Lisp, tiene una minimalista y
sintaxis muy específico en sí. Ello
reducida, provoca que existan
comparado con multitud de
muchos otros implementaciones
lenguajes. No diferentes, cada una
necesita reglas de de las cuales introduce
precedencia, ya extensiones y
que, en esencia, bibliotecas propias
carece de que las hace
operadores: incompatibles entre sí.
usa notación -
prefija para todas
las llamadas a
función.
- los
procedimientos
son objetos de
primera clase. Ello
permite la
definición
de funciones de
orden superior, que
facilitan un mayor
grado de
abstracción en los
programas.
También es posible
la creación de
procedimientos
anónimos.
ALGOL Comité 1958 Algoritmos -Utiliza bloques de -No es muy conocido.
Internacional declaraciones entre
paréntesis y fue el
primer lenguaje en
emplear los
términos BEGIN y
END para
delimitarlos.

COBOL Defensa de 1960 Negocios. -Auto -En PC ha caído en


EEUU. documentación. desuso, reemplazado
CODASYL -Buena Gestión de por sistemas de
archivos. programación visuales.
BASIC Alan Cooper 1978 Principiantes

PASCAL NickLaus 1970 Estructurado Pascal utiliza el -el tipo de una variable
Wirth símbolo := para la se fija en su definición;
asignación en vez la asignación a
de =. variables de valores de
Esta sintaxis tipo incompatible no
conduce a muchos están autorizadas
errores
o bugs difíciles de
rastrear en código
C. Dado que Pascal
no permite
asignaciones dentro
de expresiones y
utiliza sintaxis
distinta para
asignaciones y
comparaciones, no
sufre estos errores.
ADA Jean Ichbia 1980 Programacion -La sintaxis, -Tiene ciertas
Orientada a objetos. inspirada en Pascal, características bajas,
es bastante legible por ejemplo, no
incluso para tiene conversión
personas que no
chequeada.
conozcan el
lenguaje. Es un
-El orden de la
lenguaje que no elaboración de las
escatima en la unidades de la
longitud de las biblioteca es un
palabras clave, en problema.
la filosofía de que -El lenguaje tiene
un programa se relativamente pocas
escribe una vez, se inseguridades
modifica decenas considerando su
de veces y se lee
gran tamaño; de
miles de veces
(legibilidad es más
hecho el tamaño y la
importante que complejidad es
rapidez de probablemente la
escritura). preocupación
principal.
C Dennis Ritchie 1972 Programación de -Gran facilidad para -Lleva tiempo
Sistemas. escribir código aprender.
compacto y sencillo - No es orientado a
a su misma vez. objetos.
-En el lenguaje C no
tenemos
procedimientos
como en otros
lenguajes
solamente tenemos
funciones los
procedimientos los
simula y esta
terminante mente
prohibido escribir
funciones,
procedimientos y
los comandos en
mayúscula todo se
escribe en
minúsculas.
C# Dennis Ritchie 1972 Datos Estáticos -Declaraciones en el Las desventajas que se
espacio de derivan del uso de
nombres: al este lenguaje de
empezar a programación son que
programar algo, se en primer lugar se
puede definir una o tiene que conseguir
más clases dentro una versión reciente
de un mismo de Visual Studio .NET,
espacio de por otra parte se tiene
nombres. que tener algunos
-Tipos de datos: en requerimientos
C# existe un rango mínimos del sistema
más amplio y para poder trabajar
definido de tipos de adecuadamente tales
datos que los que como contar con
se encuentran en C, Windows NT 4 o
C++ o Java. superior, tener
-Métodos virtuales alrededor de 4 gigas
y redefiniciones: de espacio libre para
antes de que un la pura instalación,
método pueda ser etc.
redefinido en una
clase base, debe
declararse como
virtual. El método
redefinido en la
subclase debe ser
declarado con la
palabra override
PYTHON Guido Van 1989 Orientación a -Desarrollo más * Lentitud : Los
Rossum Objetos, imperativa rápido: Puedes programas
y programación escribir un interpretados son más
funcional programa, salvarlo lentos que los
y ejecutarlo. En un compilados. Sin
lenguaje compilado embargo, los
tienes que pasar programas
por los pasos de interpretados suelen
compilar y ligar el ser cortos, en los que
software, lo cual la diferencia es
puede ser un inapreciable.
proceso lento.
- Multiplataforma :
El mismo código
funciona en
cualquier
arquitectura, la
única condición es
que disponga del
intérprete del
lenguaje. No es
necesario compilar
el código una vez
para cada
arquitectura.
JAVA Sun 1996 Programacion -*Manejo *Menos Eficiente,
Mycrosistems Orientada a Objetos. automático de la comparado a C/C++.
memoria. (para *Requiere un
los que vienen de interprete.
*Algunas
C/C++) " Si, no
implementaciones y
hay punteros! librerías pueden tener
WOW!". El código rebuscado.
manejo de la *Una mala
memoria se hace implementación de un
automáticamente programa en java,
y utilizando el puede resultar en algo
garbage collector. muy lento.
Esto ahorra *Algunas
SIGNIFICANTE herramientas tienen
un costo adicional.
tiempo de
programación.
-*Lenguaje Multi-
plataforma: El
código que
escrito en java es
leído por un
interprete, por lo
que su programa
andará en
cualquier
plataforma.
*Programación
Orientada a
Objetos:
Paradigma muy
utilizado hoy en
dia que facilita y
organiza mucho la
programación.
*Puede correr en
el explorador y en
dispositivos
móviles.
*Sintaxis similar a
C/C++, pero mas
simple.
*Fácil de
aprender.
C++ Bjarne 1980 Programacion - Lenguaje de - Uso de DLLs
Stroustrup Orientada a Objetos. programación (librerías dinámicas)
orientado a muy complejo. Java
objetos. y .Net han
- Lenguaje muy
evolucionado estos
didáctico, gracias a
este lenguaje
conceptos
puedes aprender manipulando las
muchos otros DLLs mediante los
lenguajes con gran frameworks que
facilidad, como C#, proveen. En cambio,
Java, Visual Basic, en C++ el
Javascript, PHP, desarrollador debe
entre otros. encargarse de cargar
- Actualmente, y liberar de memoria
puede compilar y
estas librerías, y
ejecutar código de
C, ya viene con
correr los riesgos
librerías para por el manejo de
realizar esta labor. esta memoria.
- Elaborar un
sistema en C++ es
como construir un
rascacielos: tiene
buen soporte y es
robusto, pero si
existen errores en
los pisos inferiores
toda la parte
superior se viene
abajo
terriblemente.
- Manejo de
punteros y memoria
respecto a ello.
Claro, esta también
es una gran ventaja
porque permite un
mejor control de la
memoria y una
buena
administración de
recursos de
computadora, pero
la inexperiencia de
los desarrolladores o
la pérdida de
costumbre con este
tipo de variables
(sobre todo cuando
son dobles o triples
punteros, inclusive
de mayor orden) los
lleva al desastre.
- No es
recomendable para
desarrollo de
páginas Web.

También podría gustarte