1.2 Evolución de lenguajes de Programación
Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente. Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más.
Según la forma de ejecución, se dividen en dos tipos diferentes
-Lenguajes compilados
Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.
Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código.
-Lenguajes interpretados
Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instrucción del ciclo tendrá que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo). El intérprete elimina la necesidad de realizar una corrida de compilación después de cada modificación del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de producción.
No hay un único tipo de lenguajes, sino que se clasifican según las características que posean y según el paradigma y conceptos que soporten.
Por su nivel:
o Bajo nivel. No hay abstracciones de datos ni de procesos. Ejemplos: Assembler, editores hexadecimales.
o Alto nivel. Permite abstraer varios aspectos que simplifican la programación. En general son algo menos eficientes que los de bajo nivel. Ejemplos,Pascal, Ada, Java, C++, Prolog, etc.
Por su jerarquización:
o Primera generación. Fue el primer lenguaje. Se utilizan unos y ceros para representar los "cableados", que anteriormente se hacían a mano. Ej: Lenguaje máquina.
o Segunda generación. Se asignan nombres simbólicos para las distintas instrucciones, que internamente son combinaciones de unos y ceros. Ej: Assembler.
o Tercera generación. Lenguajes de alto nivel. Son los más populares y más fáciles de usar.
o Cuarta generación. Lenguajes 4GL, o de gestión de bases de datos; como SQL, QueryByExample, etc.
Por el manejo de las instrucciones:
o Imperativos: Un programa se especifica por medio de una secuencia de instrucciones que se ejecutan de esa manera, en secuencia. Ej: FORTRAN.
o Orientados a objetos: Soportan abstracciones de datos y procesos conocidas como objetos. Ej: C++, Ada, Java, Smalltalk.
o Funcionales: Especifican una solución como un conjunto y una composición de funciones. Ej: Miranda, Haskell, ML, Camel.
o Lógicos: Permiten obtener resultados lógicos o relaciones entre elementos. Ej: Prolog.
o Concurrentes, paralelos y distribuidos: Soportan procesamiento paralelo, es decir, al mismo tiempo. Pascal Concurrente, Java (hilos).
Por la programación:
o Imperativos: Incluye los paradigmas imperativo y orientado a objetos.
o Declarativos: Incluye los paradigmas funcional y lógico.
Video
conclusion:
en este tema logramos comprender como es un lenguaje de programacion y sus etapas de desarrollo 3, tambien sus tipos y clasificaciones.Esto nos sirve para saber que tipo de lenguaje podremos utilizar en cada uno de los problemas que se nos presenten
cuestionario:
1¿que es un lenguaje de programacion?
2¿menciona tres lenguajes de programacion?
3¿menciona por lo menos 5 clasificaciones de lenguajes de programacion?
4¿da un ejemplo basico de como se utiliza un lenguaje?
5¿que es un lenguaje compilado?
No hay comentarios:
Publicar un comentario