Apuntes
GENERACIÓNES DE LENGUAJES DE PROGRAMACIÓN
Contenido del apunte (7)
Página 1
GENERACIÓNES DE LOS LENGUAJES DE PROGRAMACIÓN
REALIZADO POR .
DURAN ROMERO VIRGINIA ABIGAIL
SANCHES DE NOVA EMMANUEL
Página 2
GENERACIONES DE LOS LENGUAJES DE PROGRAMACION
¿QUE ES UN LENGUAJE DE PROGRAMACIÓN?
Un lenguaje de programación es cualquier lenguaje artificial,el cual se utiliza para definir adecuadamente una secuencia de instrucciones que puedan ser interpretadas y ejecutadas por una computadora.Pueden usarse para crear programas que controlen el comportamiento lógico y físico de una maquina ,para expresar algoritmos con precisión , o como modo de comunicación humana.
GENERACIONES DE OS LENGUAJES DE PROGRAMACIÓN:
Los lenguajes de programación han pasado por cuatro diferentes generaciones en las que han evolucionado notablemente. Las dos primeras son llamadas de bajo nivel, porque son dependientes de la maquina, están diseñados para ejecutarse en una determinada computadora y las dos mas recientes, las de alto nivel. Son independientes de la maquina y se pueden utilizar en una variedad de computadoras.
- Primera generación. Lenguaje de maquina
- Segunda generación. Lenguajes simbólicos
-Tercera generación. Lenguajes de alto nivel
-Cuarta generación. Programación orientada o objetos
-Quinta generación. Lenguajes de inteligencia artificial
PRIMERA GENERACIÓN
Empieza en los años 1940 -1950.Consiste en un sistema de codigos directamente interpretables por un circuito micro programables, concepto por un conjunto de instrucciones que determinen acciones al ser tomadas por la maquina.
Son sistemas digitales, lo que significa que trabajan con dos unicos niveles de tencion.Dichos niveles por abstraccion se simbolosan con el cero ,0, y por el uno ,1, por eso el lenguaje de maquina solo utiliza dichos signos. Todas las instrucciones y mandatos se describen valiendoce de cadenas de estos digitos.
SEGUNA GENERACION:
El lenguaje simbolico, cnstituye a las representaciones directas del codigo aquina especifica para cada arquitectura de computadoras legible por un programador. Fue usado principalmente en los inicios del desarrollo del software, cuando aun no se contaba con los potentes lenguajes de alto nivel. Un programa escrito en lenguaje simbolico consiste en una serie de instrucciones que corresponden al flujo de ordenes ejecutables que pueden ser cargadas en la memoria de un sistema basado en microprocesador, sale al mercado a fines de los años '50.
TERCERA GENERACION:
Estos lenguajes. Estos son mas faciles de aprender y usar que los lenguajes de maquina y lenguaje simbolico, pues su similitud con la comunicacion y comprencion humana cotidiana es mayor. Se crean enunciados tales como Print, Total sales, Read normal Pay, etc. Aunque son mas faciles de programar, no son tan eficientes en terminos rapidez operacional y memoria. Entre ellos se encuentra: C, Fortran, Smallttalk, Ada, C++, C#, Cobol, Delphi,Java, etc.
CUARTA GENERACION:
Su caracteristica distintiva es el enfasis en especificar que se debe hacer, en vez de como ejecutar la tarea. Las especificaciones de los programas se desarrollan a una mas alto nivel que en los lenguajes de la generacion anterior.
La caracteristica distintiva es ajena a los procedimientos, el programador no tiene que especificar cada paso para terminar una tarea o procedimiento. Son lenguajes que se relacionan menos con procedimientos y que son mas pareciods al ingles.
QUINTA GENERACION:
Alrededor de la mitad 1998 surgen grupos de herramientas de lenguajes de quinta generacion los cuales combinan la creacion de codigos basados en regla, la administracion de reutilizacion y otros avances.
Progarmacion basada en conocimientos. Metodo para el desarrollo de programas de computacion el que se le ordena a la computadora un proposito en vez de instruirla para hacerlo.
Es una clasificacion para los lenguajes de programacion que influyen aquellas que emplean la programacion con restricciones para reslover problemas, en lugar de emplear algoritmos escritos por el programador.
La mayoria de los lenguajes basados en resticciones, los lenguajes de programcion logico y los declarativos, son lenguajes de quinta generacion.
Página 3
Lenguajes de alto nivel
Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad con que los ejecutan las máquinas. Estos lenguajes permiten una máxima flexibilidad al programador a la hora de abstraerse o de ser literal. Permiten un camino bidireccional entre el lenguaje máquina y una expresión casi oral entre la escritura del programa y su posterior compilación. Por lo general suelen estar orientados a objetos, a eventos o a funciones, pudiendo estos combinarse. Asimismo, pueden ser compilados o interpretados. Algunos ejemplos son: Java, PHP, Python, Javascript, C#.
En los primeros lenguajes, la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales o lenguajes de bajo nivel. Otra limitación de estos es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema de procesamiento de datos de una manera más fácil y rápida.
Por esta razón, a finales de los años 1950 fue fundada en 1950 y surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman de tercera generación o de nivel alto, en contraposición a los de bajo nivel o de nivel próximo a la máquina.
Página 4
LENGUAJE DE MEDIO NIVEL
¿Qué es el lenguaje de bajo nivel?
Como decimos, la ciencia informática se basa en diferentes lenguajes de programación para que todas las funciones se lleven a cabo de forma adecuada.
Son muchos los tipos de lenguaje con los que podemos trabajar, pero nosotros vamos a centrarnos en el de bajo nivel. Aunque la palabra “bajo” pueda sonarte a algo de menor calidad, en esta ocasión bajo no va a tener nada que ver con un aspecto negativo. Cuando hablamos de lenguaje de este tipo nos vamos a referir a aquel cuyas pautas de actuación están muy ligadas a las instrucciones del hardware y además suele depender de los ordenadores que utilizan dicho lenguaje.
Principalmente el aspecto que más va a incidir de la computadora es el físico. El lenguaje de bajo nivel apenas se separa del hardware al que acompaña, pero no por ello va a ser menos potente, simplemente lo utilizaremos para otro tipo de tareas.
En cualquier caso hay que tener en cuenta que este lenguaje funciona en mayor medida gracias a un proceso de instrucciones muy elaborado, por lo que es un tipo de lenguaje que revisa hasta el más mínimo detalle.
Tipos de lenguaje de bajo nivel
Al hablar de lenguaje de bajo nivel no nos referimos a uno en concreto, de hecho este término engloba a tres tipos diferentes de lenguaje de bajo nivel, aunque todos ellos comparten características similares.
El primero que nos encontramos es el famoso Código Binario. Seguro que has oído hablar en más de una ocasión de él y es que es el lenguaje más básico que forma parte de todos los sistemas informáticos. Es muy habitual por ser bastante sencillo de utilizar. Tan solo se usan dos números para formar el código, el 1 que representa al “todo” y el 0 que por el contrario es el “nada”.
En un segundo escalón se encuentra el lenguaje máquina. También bastante utilizado puesto que, como su propio nombre indica, este va a ser el código por el que se va a comunicar instrucciones a la máquina. Es indispensable el uso de este lenguaje, ya que con él se envían de forma literal todas las tareas que hay que llevar a cabo.
Por último tenemos el lenguaje ensamblador, algo más complicado porque los códigos que utiliza no los descifra directamente el ordenador, por lo que habrá que pasarlo a lenguaje de máquina para que la computadora entienda la orden que estamos queriendo transmitirle. Es un tipo de lenguaje muy ligado al hardware y además necesita herramientas especiales para convertirlo a otro lenguaje.
Características a valorar
El lenguaje de bajo nivel suele presentar bastantes ventajas, puesto que utiliza un código sencillo con instrucciones directas, de fácil conversión y es muy adaptable, además de que trabaja a gran velocidad.
En contraposición a estas características positivas podemos encontrarnos algunas pequeñas desventajas, como es el caso de que este lenguaje está demasiado ligado al hardware, lo que hace que sea complicado estructurar algunos programas. De igual modo, también se necesita una especial atención en el momento de usarlo para no cometer errores que puedan aumentar de forma sensible el trabajo y la revisión que se haga del código.
A día de hoy, con lo bueno y con lo malo, el lenguaje de bajo nivel se ha establecido como uno de los referentes para los profesionales de la industria tecnológica. Tiene una importancia extrema y es conveniente dominarlo en todas sus vertientes para poder desenvolvernos con eficacia bajo todo tipo de situaciones. Con él muchos grandes proyectos tecnológicos se llevan a cabo con muy buenos resultados y aporta importantes características que no tiene el lenguaje de alto nivel.
Página 5
LENGUAJE DE MEDIO NIVEL
Un lenguaje de programación de medio nivel se encuentra entre los lenguajes de alto nivel y los lenguajes de bajonivel.
Suelen ser clasificados de alto nivel, pero permiten ciertos manejos de bajo nivel. Son precisos para ciertasaplicaciones como la creación de sistemas operativos, ya que permiten un manejo abstracto (independiente de lamáquina, a diferencia del lenguaje ensamblador), pero sin perder mucho del poder y eficiencia que tienen loslenguajes de bajo nivel.
Una característica distintiva, por ejemplo, que convierte al lenguaje de programación C en un lenguaje de medio nively al lenguaje de programación Pascal en un lenguaje de alto nivel, es que en el primero es posible manejar las letrascomo si fueran números (en Pascal no), por el contrario, en Pascal es posible concatenar las cadenas de caracterescon el operador suma y copiarlas con la asignación (en C es el usuario el responsable de llamar a las funcionescorrespondientes).
Una de las características más peculiares del lenguaje de programación C es el uso de apuntadores, los cuales sonmuy útiles en la implementación de algoritmos como listas enlazadas, tablas hash y algoritmos de búsqueda yordenamiento que para otros lenguajes de programación (como en el lenguaje de programación Java, por ejemplo) suelen ser un poco más complicados de implementar.
Lenguaje de medio nivel es un lenguaje de programación informática como el lenguaje C, que se encuentran entre los lenguajes de alto nivel y los lenguajes de bajo nivel.
Suelen ser clasificados muchas veces de alto nivel, pero permiten ciertos manejos de bajo nivel. Son precisos para ciertas aplicaciones como la creación de sistemas operativos, ya que permiten un manejo abstracto (independiente de la máquina, a diferencia delensamblador), pero sin perder mucho del poder y eficiencia que tienen los lenguajes de bajo nivel.
Una característica distintiva, por ejemplo, que convierte a C en un lenguaje de medio nivel y al Pascal en un lenguaje de alto nivel es que en el primero es posible manejar las letras como si fueran números (en Pascal no), y por el contrario en Pascal es posible concatenar las cadenas de caracteres con el operador suma y copiarlas con la asignación (en C es el usuario el responsable de llamar a las funciones correspondientes).
Una de las características mas peculiares del lenguaje de programación C; es el uso de “apuntadores”, los cuales son muy útiles en la implementación de algoritmos como Listas ligadas, Tablas Hash y algoritmos de búsqueda y ordenamiento que para otros lenguajes de programación (como Java por ejemplo) les suele ser un poco mas complicado implementar.
Página 6
COMPILADORES
Un compilador es un pequeño programa informático, que se encarga de traducir (compilar) el código fuente de cualquier aplicación que se esté desarrollando. En pocas palabras, es un software que se encarga de traducir el programa hecho en lenguaje de programación, a un lenguaje de máquina que pueda ser comprendido por el equipo y pueda ser procesado o ejecutado por este.
Un concepto un poco más elaborado es el siguiente: Un compilador es un programa que convierte o traduce el código fuente de un programa hecho en lenguaje de alto nivel, a un lenguaje de bajo nivel (lenguaje de máquina).
Partes de un compilador
Básicamente, un compilador cuenta con dos partes fundamentales: El Front End y el Back End. Estas partes se complementan para lograr el objetivo del compilador. A continuación, describiremos cada una de estas partes:
Front End: El Front End es la parte del compilador que interactúa con el usuario y por lo general, es independiente de la plataforma en la que se trabaja. Se encarga de realizar el análisis del código fuente a compilar y verifica que este sea válido, así como también, genera el árbol de derivación y rellena los valores de la tabla de símbolos.
Back End: Esta parte del compilador es la encargada de generar el código en formato de máquina, a partir del trabajo hecho por el Front End.
Tipos de compiladores
Existen varios tipos de compiladores, los cuales se adecuan a los requerimientos de los programadores. Podemos destacar los compiladores cruzados, compiladores optimizadores, compiladores de una sola pasada y de varias pasadas, compiladores JIT y los conocidos intérpretes, que traducen el código del programa en tiempo real.
Cada uno de estos compiladores, se adecua a un lenguaje en específico o a varios. Algunos son de código abierto, otros son de licencia propietaria. La versatilidad de unos los hace mucho más populares que otros, pero a grandes rasgos, el escoger un determinado compilador dependerá de los requerimientos de cada usuario.
Importancia de los compiladores
La importancia de los compiladores radica en que, sin estos programas no existiría ninguna aplicación informática, ya que son la base de la programación en cualquier plataforma.
Página 7
INTERPRETES
En computación, un intérprete es un programa de computadora que ejecuta o lleva a cabo instrucciones escritas en un lenguaje de programación.
La interpretación es una de las formas de ejecución de los programas de computadoras, la otra es la compilación.
El término "intérprete" puede hacer referencia al programa que ejecuta el código fuente que acaba de ser traducido a una forma intermedia, o puede hacer referencia al programa que lleva a cabo tanto la traducción como la ejecución.
Intérpretes vs compiladores
Cualquier lenguaje puede ser ejecutado tanto vía intérprete o vía compilador, pero algunos lenguajes suelen asociarse más a una vía que a la otra, y por esto son llamados "lenguajes interpretados" o "lenguajes compilados" respectivamente.
También puede darse que un programa contenga partes que son implementadas via intérprete y otras vía compilador.
También existen intérpretes que incluyen cierta "compilación" en el medio. Son aquellos que compilan a un código intermedio llamado bytecode, que es más eficiente de ejecutar que hacerlo directamente desde el código fuente.
En general, la principal desventaja de los intérpretes, es que cuando un programa es interpretado, suele ejecutarse más lento que si el mismo programa estuviese compilado. Esto se debe a que el intérprete debe analizar cada sentencia en el programa en cada ejecución (un análisis en tiempo real). También el acceso a variables es más lento en un intérprete, porque mapear los indentificadores para almacenar las localizaciones debe hacerse repetidas veces en tiempo real.
Información
- Descripción
- Apunte sobre GENERACIÓNES DE LENGUAJES DE PROGRAMACIÓN, creado por Emmanuel Sanchez De Nova el 14/03/2019.
- Creado por
- Emmanuel Sanchez De Nova
- Visitas
- 9
- Valoración
Más sobre Historia de los lenguajes de programación