Notes
LENGUAJES DE PROGRAMACION

Content of the notes (2)
Page 1
CENTRO DE ESTUDIOS TECNOLOGICOS industrial y de servicios
NO 64
GRAL LAZARO CARDENAS DEL RIO
PROGRAMACION
TEMA GENERACION DE LENGUAJE DE PROGRAMACION
ALUMNO
PERALTA VALLEJO MONSERRATH
DOCENTE AVEDAÑO TONIS LUIS ENRIQUE
GRUPO 2 PAM
Page 2
LENGUAJE DE PROGRAMACION
Generacion de lenguaje de programacion
PRIMERA GENERACION:
Los lenguajes de primera generación, o 1GL, lenguajes de bajo nivel que son lenguaje de máquina.
Cada computadora tiene sólo un lenguaje de programación que su procesador puede ejecutar; pues bien, éste es su lenguaje nativo o lenguaje de máquina.
Los programas en lenguaje máquina se escriben en el nivel más básico de operación de la computadora. Las instrucciones se codifican como una serie de unos (1) y ceros (0). Estos programas son complicados de leer y difíciles de escribir.
Segunda Geracion:
Los lenguajes de segunda generación, o 2GL, lenguajes de bajo nivel que generalmente consisten en lenguajes ensamblados
Los lenguajes naturales se asemejan más al lenguaje humano que sus antecesores, los lenguajes 4GL. Incluso algunos productos comerciales han empezado a incluir características del lenguaje natural. Cada vez hay más programas de bases de datos que pueden ser consultados utilizando herramientas de consulta en lenguaje natural.
Tercera Generacion:
Los lenguajes de tercera generación, o 3GL, lenguajes de alto nivel como C.
Los lenguajes naturales se asemejan más al lenguaje humano que sus antecesores, los lenguajes 4GL. Incluso algunos productos comerciales han empezado a incluir características del lenguaje natural. Cada vez hay más programas de bases de datos que pueden ser consultados utilizando herramientas de consulta en lenguaje natural.
Cuarta Generacion:
los lenguajes de cuarta generación, o 4GL, son idiomas que consisten en declaraciones similares a las declaraciones en un lenguaje humano.
Los lenguajes de cuarta generación se usan comúnmente en la programación de bases de datos y scripts.
Los lenguajes naturales se asemejan más al lenguaje humano que sus antecesores, los lenguajes 4GL. Incluso algunos productos comerciales han empezado a incluir características del lenguaje natural. Cada vez hay más programas de bases de datos que pueden ser consultados utilizando herramientas de consulta en lenguaje natural.
Quinta Generacion :
Los idiomas de quinta generación, o 5GL, son lenguajes de programación que contienen herramientas visuales para ayudar a desarrollar un programa.
Los lenguajes naturales se asemejan más al lenguaje humano que sus antecesores, los lenguajes 4GL. Incluso algunos productos comerciales han empezado a incluir características del lenguaje natural. Cada vez hay más programas de bases de datos que pueden ser consultados utilizando herramientas de consulta en lenguaje natural.

lenguajes de programacion:
Hay tres tipos de lenguaje de programación:
Lenguaje de máquina (lenguaje de bajo nivel
El lenguaje de la máquina es una colección de dígitos binarios o bits que la computadora lee e interpreta. Los lenguajes de máquina son los únicos idiomas que las computadoras entienden. Aunque las computadoras las entienden fácilmente, los lenguajes de máquina son casi imposibles de usar por los humanos, ya que consisten completamente de números.
Lenguaje ensamblador
El problema es que la computadora no comprende el código ensamblador, por lo que necesitamos una forma de convertirlo a código de máquina, que la computadora sí entiende. Los programas de lenguaje ensamblador se traducen al lenguaje de máquina mediante un programa llamado ensamblador.
Lenguaje de alto nivel.
Los idiomas de alto nivel nos permiten escribir códigos de computadora usando instrucciones que se asemejan al lenguaje hablado cotidiano (por ejemplo: imprimir, si, mientras) que luego se traducen al lenguaje de máquina para ser ejecutados. Los programas escritos en un lenguaje de alto nivel deben ser traducidos al lenguaje de máquina antes de que puedan ser ejecutados. Algunos lenguajes de programación usan un compilador para realizar esta traducción y otros usan un intérprete.si como se divide en segun sus diferencias

Compiladores y Interpretes
Existen dos tipos principales de traductores de los lenguajes de programación de alto nivel: Compilador e intérprete.
Existen dos tipos principales de traductores de los lenguajes de programación de alto nivel:
Compilador, que analiza el programa fuente y lo traduce a otro equivalente escrito en otro lenguaje (por ejemplo, en el lenguaje de la máquina). Su acción equivale a la de un traductor humano, que toma un libro y produce otro equivalente escrito en otra lengua.
Intérprete, que analiza el programa fuente y lo ejecuta directamente, sin generar ningún código equivalente. Su acción equivale a la de un intérprete humano, que traduce las frases que oye sobre la marcha, sin producir ningún escrito permanente. Intérpretes y compiladores tienen diversas ventajas e inconvenientes que los hacen complementarios
Un compilador suele generar programas más rápidos y eficientes, ya que el análisis del lenguaje fuente se hace una sola vez, durante la generación del programa equivalente. En cambio, un intérprete se ve obligado generalmente a analizar cada instrucción tantas veces como se ejecute (incluso miles o millones de veces).
El programa compilador traduce las instrucciones en un lenguaje de alto nivel a instrucciones que la computadora puede interpretar y ejecutar. Para cada lenguaje de programación se requiere un compilador separado. El compilador traduce todo el programa antes de ejecutarlo. Los compiladores son, pues, programas de traducción insertados en la memoria por el sistema operativo para convertir programas de cómputo en pulsaciones electrónicas ejecutables (lenguaje de máquina). Los compiladores pueden ser de:
una sola pasada: examina el código fuente una vez, generando el código o programa objeto.
pasadas múltiples: requieren pasos intermedios para producir un código en otro lenguaje, y una pasada final para producir y optimizar el código producido durante los pasos anteriores.
Optimación: lee un código fuente, lo analiza y descubre errores potenciales sin ejecutar el programa.
Compiladores incrementales: generan un código objeto instrucción por instrucción (en vez de hacerlo para todo el programa) cuando el usuario teclea cada orden individual. El otro tipo de compiladores requiere que todos los enunciados o instrucciones se compilen conjuntamente.
Ensamblador: el lenguaje fuente es lenguaje ensamblador y posee una estructura sencilla.
Compilador cruzado: se genera código en lenguaje objeto para una máquina diferente de la que se está utilizando para compilar. Es perfectamente normal construir un compilador de Pascal que genere código para MS-DOS y que el compilador funcione en Linux y se haya escrito en C++.
Compilador con montador: compilador que compila distintos módulos de forma independiente y después es capaz de enlazarlos.
Autocompilador: compilador que está escrito en el mismo lenguaje que va a compilar. Evidentemente, no se puede ejecutar la primera vez. Sirve para hacer ampliaciones al lenguaje, mejorar el código generado, etc.
Metacompilador: es sinónimo de compilador de compiladores y se refiere a un programa que recibe como entrada las especificaciones del lenguaje para el que se desea obtener un compilador y genera como salida el compilador para ese lenguaje. El desarrollo de los metacompiladores se encuentra con la dificultad de unir la generación de código con la parte de análisis. Lo que sí se han desarrollado son generadores de analizadores léxicos y sintácticos. Por ejemplo, los conocidos:
LEX: generador de analizadores léxicos
YACC: generador de analizadores sintácticos
desarrollados para UNIX. Los inconvenientes que tienen son que los analizadores que generan no son muy eficientes.
Descompilador: es un programa que acepta como entrada código máquina y lo traduce a un lenguaje de alto nivel, realizando el proceso inverso a la compilación.
funcion de compiladores
A grandes rasgos un compilador es un programa que lee un programa escrito es un lenguaje, el lenguaje fuente, y lo traduce a un programa equivalente en otro lenguaje, el lenguaje objeto. Como parte importante de este proceso de traducción, el compilador informa a su usuario de la presencia de errores en el programa fuente.
COMPILADOR:
Un intérprete permite utilizar funciones y operadores más potentes, como por ejemplo ejecutar código contenido en una variable en forma de cadenas de caracteres. Usualmente, este tipo de instrucciones es imposible de tratar por medio de compiladores. Los lenguajes que incluyen este tipo de operadores y que, por tanto, exigen un intérprete, se llaman interpretativos. Los lenguajes compilativos, que permiten el uso de un compilador, prescinden de este tipo de operadores.
Un intérprete facilita la búsqueda de errores, pues la ejecución de un programa puede interrumpirse en cualquier momento para estudiar el entorno (valores de las variables, etc.). Además, el programa puede modificarse sobre la marcha, sin necesidad de volver a comenzar la ejecución.
Un intérprete no genera un programa equivalente, sino que toma una sentencia del programa fuente en un lenguaje de alto nivel, la traduce al código equivalente y al mismo tiempo la ejecuta.
Un intérprete es un programa que analiza y ejecuta simultáneamente el programa fuente, es decir no producen un código objeto, siendo su ejecución simultánea a la del programa fuente.
Comportamiento de un Interprete
Un intérprete es como un compilador, solo que la salida es una ejecución. El programa de entrada se reconoce y ejecuta a la vez. No se produce un resultado físico (código máquina) sino lógico (una ejecución).
Además de que la traducción optimiza el programa acercándolo a la máquina, los lenguajes interpretados tienen la característica de que permiten construir programas que se pueden modificar a sí mismos.
Clasificación de Intérpretes
Intérpretes Puros
Interpretes Avanzados
Interpretes Incrementales


Information
- Description
- Note on LENGUAJES DE PROGRAMACION, created by MONSERRATH PERALTA on 14/03/2019.
- Created by
- MONSERRATH PERALTA
- Views
- 1
- Rating