CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN.

POR GENERACION

PRIMERA GENERACION: Corresponde al lenguaje máquina. En sus inicios las primeras
computadoras electrónicas usaban el código binario y cada modelo aplicaba secuencias diferentes de tal código. Por consiguiente, programar para diversas computadoras requería conocer distintas versiones de este lenguaje.

SEGUNDA GENERACION: La segunda generación de lenguajes de programación consistía se identificaron como lenguajes ensambladores. Un lenguaje ensamblador convierte las secuencias de 0s y 1s a un lenguaje entendido por los seres humanos, como “añadir”, “sumar”, etc.
El código escrito en un lenguaje ensamblador se convierte en lenguaje de máquina.

TERCERA GENERACION: La tercera generación de lenguajes de programación se conoce como lenguajes de alto nivel. Un lenguaje de alto nivel tiene una gramática y sintaxis similar a las palabras en una oración. Un compilador se encarga de traducir el lenguaje de alto nivel a lenguaje ensamblador o código máquina.

CUARTA GENERACION: se clasifican las herramientas de desarrollo
que, más que un lenguaje, se trata de componentes prefabricados, los cuales no necesariamente se programan. Se les conoce como herramientas CASE (Computer Aided Software Engineering, Ingenieria de software asistida por computadora).
Su objetivo es aumentar la productividad en el desarrollo de software, reduciendo

NIVEL DE ABSTRACCION

LENGUAJE DE BAJO NIVEL: Lenguaje que entiende directamente la computadora, por lo tanto, se utiliza solo 0 y 1.Lenguaje maquina: instrucciones formador por 0 y 1 que se ejecuta directamente en el CPU (Procesador) del equipo.
Lenguaje ensamblador: este derivado del lenguaje máquina, sin embargo, utiliza letras y números para las instrucciones.

LENGUAJE DE MEDIO NIVEL: El código es enviado a un compilador que lo convierte al lenguaje máquina.
Por ejemplo: Lenguaje C.
C puede acceder a registros del sistema y direcciones de memoria, todas propias de lenguajes de bajo nivel.

LENGUAJE DE ALTO NIVEL: Es más cercano al lenguaje humano, manejando conceptos, tipos de datos, etc. sin importar la computadora.
Es indispensable utilizar un interprete o compilador que traduzca las instrucciones al lenguaje máquina.
Son lenguajes independientes de una computadora, puedes migrar tu código a otro y seguir trabajando sin problemas.

paradigma de programación

se relaciona con términos: modelo y ejemplo cada paradigma es basado en los anteriores, por consiguiente no son excluyentes. ejemplos: imperativa, declarativa, lógica, funcional, modular, estructurada, orientada a objetos. Los paradigmas más conocidos se refieren a la programación estructurada y a la programación orientada a objetos. La miniaturización de dispositivos en conjunto con los dispositivos y protocolos de comunicación originaron la computación ubicua. Los nuevos materiales como el grafeno permitirán el desarrollo de dispositivos muy flexibles y versátiles.

propósito

Identificando el propósito como el tipo de problema que puede resolver, un lenguaje
puede ser de propósito especifico o general. Los lenguajes de propósito especifico,
como su nombre lo indica, únicamente se pueden utilizar para un tipo de situación. Los lenguajes de propósito general o multipropósito son aquellos que se pueden

utilizar en todas las tareas, como C o Java. Lo mismo sirven para hacer una aplicación
que para hacer un sistema operativo o algún otro lenguaje de programación.

FORMA DE EJECUCION

Cuando se escribe un programa utilizando un lenguaje de programación se genera un archivo llamado código fuente, el cual pasa por una serie de revisiones y validaciones, cuyo resultado es un archivo llamado código objeto o ejecutable.

POR AMBIENTE DE EJECUCION

El entorno de ejecución de Java (JRE, Java Runtime Environment) es el ambiente de software en l cual los programas compilados para una implementación de JVM típica pueden correr. estado de máquina virtual que suministra servicios para los procesos de un programa de computadora que se está ejecutando. Puede pertenecer al mismo sistema operativo, o ser creado por el software del programa en ejecución.