Este documento describe diferentes niveles de lenguajes de programación, paradigmas de programación e interactividad. Explica que los lenguajes de bajo nivel como el lenguaje máquina usan secuencias de 0s y 1s, mientras que los lenguajes de alto nivel son independientes de la arquitectura. También cubre paradigmas como imperativo, declarativo y orientado a objetos, así como formas de ejecución como compilados e interpretados.
2. NIVEL DE ABSTRACCION
LENGUAJES DE BAJO NIVEL
El lenguaje maquina: este lenguaje ordena a la
máquina las operaciones fundamentales para su
funcionamiento. Consiste en la combinación de
0's y 1's para formar las ordenes entendibles por
el hardware de la maquina.
El lenguaje ensamblador es un derivado del
lenguaje maquina y esta formado por
abreviaturas de letras y números llamadas
mnemotécnicos
3. Lenguajes de alto nivel
Se tratan de lenguajes independientes de la
arquitectura del ordenador. Por lo que, en
principio, un programa escrito en un lenguaje de alto
nivel, lo puedes migrar de una máquina a otra sin
ningún tipo de problema.
Lenguajes de Medio nivel
Estos lenguajes se encuentran en un punto medio
entre los dos anteriores. Dentro de estos lenguajes
podría situarse C ya que puede acceder a los registros
del sistema, trabajar con direcciones de memoria.
4. paradigmas de programación
Paradigma Imperativo: describe la programación
como una secuencia instrucciones o comandos que
cambian el estado de un programa. El código
máquina en general está basado en el paradigma
imperativo.
Paradigma Declarativo: se enfoca en describir las
propiedades de la solución buscada, dejando
indeterminado el algoritmo (conjunto de
instrucciones) usado para esa solución.
Paradigma Estructurado: la programación se divide
en bloques (procedimientos y funciones) que pueden
o no comunicarse entre sí. Además la programación
se controla con secuencia, selección e interacción.
5. Paradigma Orientado a Objetos: está basado en
la idea de encapsular estado y operaciones en
objetos. En general, la programación se
resuelve comunicando dichos objetos a través
de mensajes (programación orientada a
mensajes).
Paradigma Funcional: este paradigma concibe a
la computación como la evaluación de
funciones matemáticas y evita declarar y
cambiar datos. En otras palabras, hace hincapié
en la aplicación de las funciones y composición
entre ellas, más que en los cambios de estados y
la ejecución secuencial de comandos
6. Interactividad.
Lenguajes orientados a sucesos: El flujo
del programa es controlado por la interacción con el
usuario o por mensajes de otros programas/sistema
operativo, como editores de texto, interfaces gráficos de
usuario (GUI) o kernels.
Lenguajes no orientados a sucesos: El
flujo del programa no depende de sucesos exteriores, sino
que se conoce de antemano, siendo los procesos batch el
ejemplo más claro (actualizaciones de bases de datos, colas
de impresión de documentos, etc.).
7. L
Manera de ejecutarse
Lenguajes compilados: Un programa traductor
traduce el código del programa (código fuente) en
código máquina (código objeto). Otro programa, el
enlazador, unirá los ficheros de código objeto del
programa principal con los de las librerías para
producir el programa ejecutable.
Lenguajes interpretados: Un programa (intérprete),
ejecuta las instrucciones del programa de manera
directa.