C++

Description

Resumen acerca de la programacion
Erik Martinez
Note by Erik Martinez, updated more than 1 year ago
Erik Martinez
Created by Erik Martinez almost 7 years ago
1
0

Resource summary

Page 1

CETIS NO.64 GRAL. LAZARO CARDENAS DEL RIO PROGRAMACION ESTRUCTURADA APUNTE DE GENERACIONES DE LENGUAJES DE PROGRAMACION 2PAM ALUMNO: ERIK DALETH MARTINEZ RICO

Primera Generación – 1GL: Código máquina y Ensambladores La primera generación de lenguajes de programación consistía enteramente de una secuencia de 0s y 1s que los controles de la computadora interpreta como instrucciones, eléctricamente. Representan los primeros lenguajes de programación que la computadora podía entender, son conocidos como lenguaje máquina. Segunda Generación – 2GL: Primeros lenguajes de alto nivel, no estructurados – Fortran, Cobol, Basic 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 (1GL). Tercera Generación – 3GL: Lenguajes estructurados: Algol, Pascal, C, ADA. Lenguajes Específicos: Lisp, Prolog, Smalltalk 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. Todos los lenguajes de programación de software necesitan ser traducidos a código de máquina para una computadora para utilizar las instrucciones que contienen. Cuarta generación (4GL) Lenguajes Declarativos: SQL Generadores de aplicaciones, Herramientas CASE Programación Visual: Visual Basic, Visual C Lenguajes Orientados a Objeto  C++, Java, Eiffel La cuarta generación de lenguajes de programación avanza en la sintaxis utilizada. Lenguajes 4GL se utilizan típicamente para acceder a bases de datos. Quinta generación (5GL) Imitación de la mente humana La quinta generación de lenguajes de programación es utilizada para redes neuronales. Una red neuronal es una forma de inteligencia artificial que trata de imitar la mente humana. Primera Generación – 1GL: Código máquina y Ensambladores La primera generación de lenguajes de programación consistía enteramente de una secuencia de 0s y 1s que los controles de la computadora interpreta como instrucciones, eléctricamente. Representan los primeros lenguajes de programación que la computadora podía entender, son conocidos como lenguaje máquina. Segunda Generación – 2GL: Primeros lenguajes de alto nivel, no estructurados – Fortran, Cobol, Basic 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 (1GL). Tercera Generación – 3GL: Lenguajes estructurados: Algol, Pascal, C, ADA. Lenguajes Específicos: Lisp, Prolog, Smalltalk 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. Todos los lenguajes de programación de software necesitan ser traducidos a código de máquina para una computadora para utilizar las instrucciones que contienen. Cuarta generación (4GL) Lenguajes Declarativos: SQL Generadores de aplicaciones, Herramientas CASE Programación Visual: Visual Basic, Visual C Lenguajes Orientados a Objeto  C++, Java, Eiffel La cuarta generación de lenguajes de programación avanza en la sintaxis utilizada. Lenguajes 4GL se utilizan típicamente para acceder a bases de datos. Quinta generación (5GL) Imitación de la mente humana La quinta generación de lenguajes de programación es utilizada para redes neuronales. Una red neuronal es una forma de inteligencia artificial que trata de imitar la mente humana.  

Page 2

GENERACIONES DE LOS LENGUAJES DE PROGRAMACION

Primera Generación – 1GL: Código máquina y Ensambladores La primera generación de lenguajes de programación consistía enteramente de una secuencia de 0s y 1s que los controles de la computadora interpreta como instrucciones, eléctricamente. Representan los primeros lenguajes de programación que la computadora podía entender, son conocidos como lenguaje máquina. Segunda Generación – 2GL: Primeros lenguajes de alto nivel, no estructurados – Fortran, Cobol, Basic 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 (1GL). Tercera Generación – 3GL: Lenguajes estructurados: Algol, Pascal, C, ADA. Lenguajes Específicos: Lisp, Prolog, Smalltalk 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. Todos los lenguajes de programación de software necesitan ser traducidos a código de máquina para una computadora para utilizar las instrucciones que contienen. Cuarta generación (4GL) Lenguajes Declarativos: SQL Generadores de aplicaciones, Herramientas CASE Programación Visual: Visual Basic, Visual C Lenguajes Orientados a Objeto  C++, Java, Eiffel La cuarta generación de lenguajes de programación avanza en la sintaxis utilizada. Lenguajes 4GL se utilizan típicamente para acceder a bases de datos. Quinta generación (5GL) Imitación de la mente humana La quinta generación de lenguajes de programación es utilizada para redes neuronales. Una red neuronal es una forma de inteligencia artificial que trata de imitar la mente humana.

Su función es proporcionar instrucciones al sistema de la computadora para que pueda realizar una actividad de procesamiento Cada lenguaje de programación utiliza un grupo de símbolos o reglas que tiene un significado especifico a eso se le llama sintaxis   ESTANDAR Un estandar de lenguajes de programas es un grupo de reglas que describen como deben escribirse las sentencias y comandos de programación. Ejemplo, la regla de que los nombres tienen que comenzar con una letra, sales, payrate y total EVOLUCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN: Lenguajes de primera generación Lenguajes de segunda generación Lenguajes de tercera generación Lenguajes de cuarta generación Lenguajes de programación orientados a objetos Smalltalk C++ Java Lenguajes de programación visual Lenguajes de quinta generación LENGUAJES DE PRIMERA GENERACIÓN Lo constituyen los lenguajes maquina. Estos se consideran como de bajo nivel por que no existe un programa de codificación menos complicado que el que utiliza los símbolos binarios 1 y 0. Ascii, utiliza ceros y unos para representar letras del alfabeto. Como este es el lenguaje del CPU, los archivos de texto traducidos a los grupos binarios ASCII pueden leerse por casi cualquier plataforma de sistemas de computadoras. LENGUAJES DE SEGUNDA GENERACIÓN A estos se les denomió lenguaje ensamblador. Los lenguajes ensambladores usan códigos como a para agregar o mvc para mover, y asi sucesivamente. Los programas de software de sistemas tales como los sistemas operativos y los programas de utilidad se escriben con frecuencia en un lenguaje ensamblador. LENGUAJES DE TERCERA GENERACIÓN Estos son mas fáciles de aprender y usar que los lenguajes maquina y el lenguaje ensamblador, pues su similitud con la comunicación y comprensión humana cotidiana es mayor. Enunciados, Print, Total sales, Read normal Pay etc. Aunque son mas fáciles de programar, no son tan eficientes en términos de rapidez operacional y memoria.   LENGUAJES DE TERCERA GENERACIÓN Son relativamente independientes del hardware de la computadora. Esto significa que el mismo programa puede utilizarse en varias computadoras diferentes de distintos fabricantes   LENGUAJES DE CUARTA GENERACIÓN Son lenguajes que se relacionan menos con procedimientos y que son aun mas parecidos al ingles que los lenguajes de tercera generación. Algunas características incluyen capacidades de consulta y base de datos, de creación de códigos y capacidades gráficas. Ejemplos Visual C++, Visual Basic, Power Builder, Delphi, Forte y muchos otros. Lenguajes de consulta son utilizados para hacer preguntas ala computadora con frases parecidas alas de un idioma, ejemplo el inglés. Lenguaje de consulta estructurado. Lenguaje estándar que a menudo se usa para realizar consultas y manipulaciones ala base de datos. LENGUAJES DE PROGRAMACIÓN ORIENTADOS A OBJETOS Permiten la interacción de objetos de programación incluyendo elementos de datos y las acciones que se realizan en ellos. Un objeto denotar datos respecto a un empleado y todas las operaciones que se pudieran realizar sobre los datos (cálculo de nóminas). En la programación orientada al objeto, los datos, instrucciones y otros procedimientos de programación se agrupan en un elemento denominado objeto. Encapsulación. Receso de reagrupar elementos dentro de un objeto. Polimorfismo. Receso que le permite al programador desarrollar una rutina o grupo de actividades que operaran sobre objetos múltiples. Herencia. Propiedad utilizada para describir objetos en un grupo de este tomando características de otros en el mismo grupo o clase de objetos. Código reutilizable. Código de instrucciones dentro de un objeto que se puede usar repetidamente en diferentes programas de diversas aplicaciones. SMALLTALK Lenguaje de programación amplio uso, orientado a objetos.   C++ Es una versión mejorada del lenguaje de programación c original. Es un lenguaje de tiempo real, de propósito general, que se ha utilizado para aplicaciones empresariales y científicos.   JAVA Proporciona a los programadores un ambiente de programación con gran capacidad y las condiciones para desarrollar aplicaciones de trabajo a través de Internet. Para desarrollar pequeñas, Apletts, las cuales pueden insertarse en las páginas Web Internet. Incluye un depurador, un generador de documentación, un compilador, y un visualizador, para ejecutar aplicaciones Java sin navegador de Internet. LENGUAJES DE PROGRAMACIÓN VISUAL Lenguajes que usan el ratón, iconos o símbolos en la pantalla y menús despegables para desarrollar programas.   LENGUAJES DE QUINTA GENERACIÓN Alrededor de la mitad 1998 surgieron gripos de herramientas de lenguajes de quinta generación, los cuales combinan la creación de códigos basadas en reglas, la administración de reutilización y otros avances. Programación basada en conocimiento. Método para el desarrollo de programas de computación en el que se le ordena ala computadora realizar un propósito en vez de instruirla para hacerlo. SELECCIÓN DE UN LENGUAJE DE PROGRAMACIÓN El mejor lenguaje de programación para usarse en un programa en particular incluye equilibrar las características funcionales del lenguaje con aspectos como costo, control y complejidad. Un factor importante que debe considerarse al seleccionar cualquier lenguaje de programación es la cantidad de control directo que se necesita para operar el hardware. TRADUCTORES DE LENGUAJE Traductor de lenguaje. Software de sistemas que convierte un código fuente del programador en su equivalente en lenguaje maquina. Código fuente. Código de programación de nivel alto escrito por el programador. Código objeto. Otro nombre para el código de lenguaje maquina. Intérprete. Traductor de lenguajes que convierte, ala vez, una sentencia de programa a un código de máquina.

Page 3

LENGUAJES DE ALTO NIVEL, BAJO Y MEDIO

Existen dos tipos de lenguajes claramente diferenciados; los lenguajes de bajo nivel y los de alto nivel. El ordenador sólo entiende un lenguaje conocido como código binario o código máquina, consistente en ceros y unos. Es decir, sólo utiliza 0 y 1 para codificar cualquier acción. Los lenguajes más próximos a la arquitectura hardware se denominan lenguajes de bajo nivel y los que se encuentran más cercanos a los programadores y usuarios se denominan lenguajes de alto nivel. Lenguajes de bajo nivel Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas. Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo. Dentro de este grupo se encuentran: El lenguaje maquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Cnsiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la maquina. Este lenguaje es mucho más rápido que los lenguajes de alto nivel. La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible. El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, ñadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener. Lenguajes de alto nivel Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. Están dirigidos a solucionar problemas mediante el uso de EDD's. Nota: EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa. 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. Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la maquina. Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito especifico (como FORTRAN para trabajos científicos). Lenguajes de Medio nivel Se trata de un termino no aceptado por todos, pero q seguramente habrás oído. 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, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel. Generaciones La evolución de los lenguajes de programación se puede dividir en 5 etapas o generaciones. Primera generación: lenguaje maquina. Segunda generación: se crearon los primeros lenguajes ensambladores. Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol� Cuarta generación. Son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización d partes del código para otros programas. Ej. Visual, Natural Adabes� Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP

Page 4

COMPILADORES E INTERPRETES

Compilador: Proceso de traducción que convierte un programa fuente escrito en un lenguaje de alto nivel a un programa objeto en código máquina y listo por tanto para ejecutarse en la computadora. 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. Intérprete: que analiza el programa fuente y lo ejecuta directamente, sin generar ningún código equivalente. Es un traductor que realiza la operación de compilación paso a paso. Para cada sentencia que compone el texto de entrada, se realiza una traducción, ejecuta dicha sentencia y vuelve a iniciar el proceso con la sentencia siguiente. La principal ventaja del proceso de compilación frente al de interpretación es que los programas se ejecutan mucho más rápidamente una vez compilados; por el contrario, es más cómodo desarrollar un programa mediante un intérprete que mediante un compilador puesto que en el intérprete las fases de edición y ejecución están más integradas. La depuración de los programas suele ser más fácil en los intérpretes que en los compiladores puesto que el código fuente está presente durante la ejecución. Estas ventajas pueden incorporarse al compilador mediante la utilización de entornos de desarrollo y depuradores simbólicos en tiempo de ejecución. La interpretación es un buen método cuando se dan las siguientes circunstancias El programador está trabajando en forma interactiva, y quiere ver el resultado de cada instrucción antes de entrar la siguiente instrucción. El programa se va a utilizar solo una vez, y por tanto la velocidad de ejecución no es importante. Se espera que cada instrucción se ejecute una sola vez. Las instrucciones tienen un formato simple, y por tanto pueden ser analizadas de forma fácil y eficiente. La interpretación es muy lenta. La interpretación de un programa fuente, escrito en un lenguaje de alto nivel, puede ser 100 veces más lenta que la ejecución del programa equivalente escrito en código máquina. Por tanto la interpretación no es interesante cuando: El programa se va a ejecutar en modo de producción, y por tanto la velocidad es importante. Se espera que las instrucciones se ejecuten frecuentemente. Las instrucciones tienen formatos complicados, y por tanto su análisis es costoso en tiempo. Compilación vs interpretación de programas 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 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). 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.

Show full summary Hide full summary

Similar

Errores comunes en programación
Luciao Agustín Correa Sapiega
PROGRAMACION DE C++
JOHN FREDY MOSQU
Programa de regla de Cramer
Alfredo Mariaca
Lenguajes de programación
Samantha Gonzalez Lopez
Evaluación de programación (Ciclos).
luis programador
FUNCIONALIDAD DE JAVA
Yeferson Gallo
Evaluación de programación (Condicionales).
luis programador
Algoritmos y Estructuras de datos Avanzada
Diego Vázquez Campos
POO C++ (Programación Orientada a Objetos)
angel benitez
Ejemplo de Parametros
pcs.gael