lenguajes de programación

13
UNIVERSIDAD NACIONAL PEDRO RUÍZ GALLO FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS ESCULA DE INGENIERÍA DE COMPUTACIÓN E INFORMÁTICA “LENGUAJES DE PROGRAMACION” DOCENTE: Ing. Luis Reyes Lescano. PRESENTADO POR: Custodio Garnique Roberto. Diaz Nuñez Hanks.

Upload: carlo-ld

Post on 14-Dec-2015

9 views

Category:

Documents


3 download

DESCRIPTION

Los tipos de lenguajes de Programacion

TRANSCRIPT

Page 1: Lenguajes de Programación

UNIVERSIDAD NACIONAL PEDRO RUÍZ GALLO

FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS

ESCULA DE INGENIERÍA DE COMPUTACIÓN E INFORMÁTICA

“LENGUAJES DE PROGRAMACION”

DOCENTE:

Ing. Luis Reyes Lescano.

PRESENTADO POR:

Custodio Garnique Roberto.

Diaz Nuñez Hanks.

Larrea Dupis Carlo.

Zuñe Salazar Giancarlos.

LAMBAYEQUE – PERÚ

2014

Page 2: Lenguajes de Programación

¿QUE ES UN LENGUAJE DE PROGRAMACION?

Aquí tenemos algunas definiciones:

Un lenguaje de programación consiste en un conjunto de órdenes y

comandos que describen el proceso deseado. Cada lenguaje tiene

instrucciones y enunciados verbales propios, que se combinan para

formar los programas de cómputo.

Un lenguaje de programación es un conjunto de símbolos y reglas

sintácticas y semánticas que definen su estructura y el significado de

sus elementos y expresiones y es utilizado para controlar el

comportamiento físico y lógico de una máquina.

Un lenguaje de programación permite especificar de manera precisa

sobre qué datos debe operar una computadora, como estos datos

deben ser almacenados o transmitidos y que acciones debe tomar bajo

una variada gama de circunstancias.

Todo esto, a través de un lenguaje que intenta estar relativamente

próximo al lenguaje humano o natural, tal como sucede con el lenguaje

léxico.

Los lenguajes de programación no son aplicaciones, sino herramientas

que permiten construir y adecuar aplicaciones.

El desarrollo de Lenguajes de Programación adecuados permite el uso

óptimo de los recursos de hardware con que se cuenta.

EVOLUCIÓN DE LOS LENGUAJES DE

PROGRAMACIÓN

Los lenguajes de programación han pasado por 4 diferentes generaciones en

las que han evolucionado notablemente. Las 2 primeras son llamadas de bajo

nivel, porque son dependientes de la máquina, están diseñados para

ejecutarse en una determinada computadora; y las 2 más recientes, las de

alto nivel, son independientes de la máquina y se pueden utilizar en una

variedad de computadoras.

Primera Generación: Lenguaje de Maquina

Segunda Generación: Lenguajes Simbólicos

Page 3: Lenguajes de Programación

Tercera Generación: Lenguajes de Alto Nivel

Cuarta Generación: Programación Orientada a Objetos

Quinta Generación: Lenguajes de Inteligencia Artificial

Primera Generación:

Empieza en los años 1940-1950. Consiste en un sistema de códigos

directamente interpretable por un circuito micro programable, compuesto por

un conjunto de instrucciones que determinan acciones a ser tomadas por la

máquina. Son sistemas digitales, lo que significa que trabajan con dos únicos

niveles de tensión. Dichos niveles, por abstracción, se simbolizan con el cero,

0, y el uno, 1, por eso el lenguaje de máquina sólo utiliza dichos signos. Todas

las instrucciones y mandatos se escribían valiéndose de cadenas de estos

dígitos.

Segunda Generación:

El Lenguaje Simbólico, constituye la representación más directa del código

máquina específico para cada arquitectura de computadoras legible por un

programador. Fue usado principalmente en los inicios del desarrollo de

software, cuando aún no se contaba con los potentes lenguajes de alto nivel.

Un programa escrito en lenguaje Simbólico consiste en una serie de

instrucciones que corresponden al flujo de órdenes ejecutables que pueden

ser cargadas en la memoria de un sistema basado en microprocesador. Salen

al mercado a fines de los años ‘50’.

Tercera Generación:

Estos lenguajes, Estos son más fáciles de aprender y usar que los lenguajes

máquina y el lenguaje Simbólico, pues su similitud con la comunicación y

comprensión humana cotidiana es mayor. Se crean enunciados tales como,

Print, Total sales, Read normal Pay etc. Aunque son más fáciles de

programar, no son tan eficientes en términos de rapidez operacional y

memoria. Entre ellos se encuentran C, Fortran, Smalltalk, Ada, C++, C#,

Cobol, Delphi, Java, etc.

Cuarta Generación:

Su característica distintiva es el énfasis en especificar qué es lo que se debe

hacer, en vez de como ejecutar una tarea. Las especificaciones de los

programas se desarrollan a un más alto nivel que en los lenguajes de la

generación anterior. La característica distintiva es ajena a los procedimientos,

Page 4: Lenguajes de Programación

el programador no tiene que especificar cada paso para terminar una tarea o

procesamiento. Son lenguajes que se relacionan menos con procedimientos y

que son aún más parecidos al inglés.

Quinta generación:

Se llama así a veces a los lenguajes de la inteligencia artificial, aunque con el

fracaso del proyecto japonés de la quinta generación el nombre ha caído en

desuso.

Clasificación de los lenguajes de

programación

1- Según el nivel de abstracción

a. Lenguaje de máquina y de bajo nivel

Los lenguajes de maquina están escritos en códigos (código

maquina) directamente inteligibles por la maquina

(computadora), siendo sus instrucciones cadenas binarias (0 y

1). “Lenguaje de maquina” hace referencia al lenguaje específico

de una computadora, mientras que “código maquina” hace

referencia al modo en que se escriben los diferentes lenguajes

de máquina.

Los lenguajes de bajo nivel son lenguajes de programación que

se acercan al funcionamiento de una computadora.

Los lenguajes de más bajo nivel son los lenguajes máquina. A

este nivel le sigue el lenguaje ensamblador, ya que al programar

en ensamblador se trabajan con los registros de memoria de la

computadora de forma directa.

La programación en un lenguaje de bajo nivel tiene como

ventajas una mayor adaptación al equipo, además de la

posibilidad de obtener la máxima velocidad con el mínimo uso de

memoria.

Page 5: Lenguajes de Programación

Sin embargo tiene importantes inconvenientes, como la

imposibilidad de escribir código independiente de la máquina y

la mayor dificultad en la programación y en comprensión de los

programas.

b. Lenguaje de medio nivel

Minoritariamente en algunos textos se diferencias algunos

lenguajes como de medio nivel, como el lenguaje C, ya que

tienen ciertas características que los acercan a los lenguajes de

bajo nivel, como gestión de punteros de memoria y registros,

pero con sintaxis, vocabulario y gramática de alto nivel.

c. Lenguaje de alto nivel y de muy alto nivel

Los lenguajes de programación de alto nivel se caracterizan por

expresar los algoritmos de una manera adecuada a la capacidad

cognitiva humana, en lugar de estar orientados a su ejecución en

las máquinas.

Los lenguajes de alto y bajo nivel requieren de conocimientos

específicos de programación y del lenguaje concreto

(vocabulario, gramática y sintaxis) para realizar las secuencias

de instrucciones lógicas.

Los lenguajes de muy alto nivel se crearon para que el usuario

común pudiese solucionar ciertos problemas sencillos de

procedimiento de datos de una manera más fácil y rápida.

2- Según su forma de ejecución

Los procesadores usados en las computadoras son capaces de

entender y actuar según lo indican programas escritos en un

lenguaje fijo para cada arquitectura, llamado lenguaje de máquina.

Page 6: Lenguajes de Programación

Todo programa escrito en un lenguaje de alto nivel puede ser

ejecutado de dos maneras.

a. Lenguajes compilados

Antes de poder utilizarse el programa debe utilizarse un

traductor llamado “compilador” que se encarga de traducir

(“compilar”) el programa original (“código fuente”) al programa

equivalente escrito en lenguaje de maquina o ensamblador

(“binario”). Los binarios son los programas ejecutables y los

únicos necesarios para el funcionamiento del programa.

b. Lenguajes interpretados

Cada vez que se usa el programa debe utilizarse un traductor

llamado “interprete” que se encarga de traducir (“interpretar”)

las instrucciones del programa original (“código fuente”) a

código maquina según van siendo utilizados. Para el

funcionamiento del programa siempre es necesario disponer del

código original y del intérprete.

3- Según el paradigma de programación

Un paradigma de programación representa un enfoque particular o

filosofía para la construcción del software. Si bien puede

seleccionarse la forma pura de estos paradigmas a la hora de

programar, en la práctica es habitual que se mezclen, dando lugar a

la programación multiparadigma.

a. Algorítmico, imperativo o por procedimientos

El más común y está representado, por ejemplo, por C o por

BASIC.

Describe la programación en términos del estado del programa y

sentencias que cambian dicho estado.

Page 7: Lenguajes de Programación

Los programas imperativos son un conjunto de instrucciones que

le indican al computador como realizar una tarea.

La implementación de hardware de la mayoría de computadoras

es imperativa ya que el hardware está diseñado para ejecutar

código de máquina que es imperativo.

b. Orientada a objetos

Cada vez más utilizado, sobre todo en combinación con el

imperativo. De hecho los lenguajes orientados a objetos

permiten la programación imperativa. Algunos ejemplos de

lenguajes orientados a objetos son C++, Java, Python. Usa

objetos y sus interacciones para diseñar aplicaciones y

programas de computadora. Está basado en varias técnicas,

incluyendo herencia, modularidad, polimorfismo y

encapsulamiento.

EVOLUCIÓ N DE LOS LENGUAJES DE PROGRAMACION EN

CISC Y RISC

a. CISC (computador de conjunto de instrucciones complejo)

Lenguaje de bajo nivel

La función principal del lenguaje de bajo nivel radica en que

trabaja directamente con el microprocesador; por lo cual se

debe de conocer el funcionamiento interno de este, tiene la

ventaja de que en él se puede realizar cualquier tipo de

programas que en los lenguajes de alto nivel no lo pueden

realizar. Otro punto sería que los programas ocupan menos

espacio en memoria.

Ventajas

Velocidad,como trabaja directamente con el microprocesa

dor al ejecutar un programa, pues como este lenguaje es

Page 8: Lenguajes de Programación

el más cercano a la máquina la computadora lo procesa

más rápido.

Eficiencia de tamaño,

un programa en ensamblador no ocupa mucho espacio en

memoria porque no tiene que cargan librerías y demás

como son los lenguajes de alto nivel.

Flexibilidad,

es flexible porque todo lo que puede hacerse con una má

quina, puede hacerse en el lenguaje ensamblador de esta

máquina; los lenguajes de alto nivel tienen en una u otra

forma limitantes para explotar al máximo los recursos

dela máquina.

Desventajas

Tiempo de programación, como es un lenguaje de bajo nivel requiere más instrucciones para realizar el mismo proceso, en comparación con un lenguaje de alto nivel.

Programas fuente grandes, por las mismas razones que aumenta el tiempo, crecen los programas fuentes; simplemente requerimos más instrucciones primitivas para describir procesos equivalentes.

Peligro de afectar recursos inesperadamente, que todo error que podamos cometer, o todo riesgo que podamos tener, podemos afectar los recursos de la máquina.

b. RISC(computador de conjunto de instrucciones reducidas)

Page 9: Lenguajes de Programación

Lenguaje de alto nivel

Los lenguajes de alto nivel son aquellos en los que las

instrucciones o sentencias son escritas con palabras similares a

las de los lenguajes humanos (en la mayoría de los casos, el

inglés). Su función principal es facilitar la escritura y

comprensión del código al programador.

Existen muchos lenguajes de alto nivel, por citar algunos:

- ADA

- BASIC

- COBOL

- FORTRAN

- C

- Modula-2

- Pascal

- Java

Estos lenguajes permiten al programador olvidarse por

completo del funcionamiento interno de la máquina 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

máquina.

Ventajas

Genera un código más sencillo y comprensible.

Escribir un código válido para diversas máquinas y, posiblemente, sistemas operativos.

El tiempo de formación de los programadores es relativamente corto comparado con otros lenguajes.

La escritura de programas se basa en reglas sintácticas similares a los lenguajes humanos.

Desventajas

Page 10: Lenguajes de Programación

Reducción de velocidad al ceder el trabajo de bajo nivel a la máquina.

Algunos requieren que la máquina cliente posea una determinada plataforma.

Incremento del tiempo de puesta a punto al necesitarse diferentes traducciones del programa fuente para conseguir el programa definitivo.

No se aprovechan los recursos internos de la máquina que se explotan mucho mejor en lenguajes máquina y ensambladores.

Aumento de la ocupación de memoria.

El tiempo de ejecución de los programas es mucho mayor

Compiladores

Es el tipo de traductor más conocido. Se trata de un programa

que traduce código fuente escrito en un lenguaje de alto nivel

(Pascal) en código máquina (no siempre). Son más rápidos que

los intérpretes pero presentan mayor dificultad a la hora de

detectar errores.