Vous êtes sur la page 1sur 7

Paradigmas y Lenguajes

Apunte de Ctedra Unidad I


Universidad Nacional de La Rioja Lic. Sebastin Torralba Lic. Mnica Gimnez

Contenido
Concepto de Lenguaje de Programacin ....................................................................................... 2 Historia de Los Lenguajes de Programacin ...................................................................................3 Sintaxis y Compilacin de Los Lenguajes de Programacin ............................................................3 Sintaxis: ......................................................................................................................................3 Semntica: ................................................................................................................................ 4 Pragmatismo: ............................................................................................................................ 4 Criterios de Diseo ........................................................................................................................ 4 Simplicidad ................................................................................................................................ 4 Extensibilidad ............................................................................................................................ 4 Eficiencia ................................................................................................................................... 4 Seguridad .................................................................................................................................. 5 Portabilidad ............................................................................................................................... 5 Concepto de Paradigma ................................................................................................................ 5 Principales Paradigmas ................................................................................................................. 5 Declarativo ................................................................................................................................ 5 Funcional ............................................................................................................................... 5 Lgico .................................................................................................................................... 6 Imperativos ............................................................................................................................... 6 Orientado a Objetos .................................................................................................................. 6

Paradigmas y Lenguajes

Bolilla 1

Pagina 1

Concepto de Lenguaje de Programacin


Es un lenguaje diseado para comunicarnos la computadora, y esta realice los procesos que le indicamos a travs de sentencias. Para ello el lenguaje debe ser claro ya sea para escribir el proceso, o para su posterior lectura. Los lenguajes de Programacin facilitan la creacin de programas debido a que solucionan ciertas falencias de los Lenguajes Naturales. Complejidad: Los Lenguajes Naturales poseen un gran abanico de palabras de las cuales solo usamos una pequea fraccin de ellas. Los Lenguajes de Programacin (y de hecho los procesadores tambin) tienen un juego reducidos de instrucciones, que facilita el conocimiento completo del lenguaje. Ambigedad: Ciertas palabras de Los Lenguajes Naturales poseen ms de un significado, que surgir a partir del contexto en el cual la palabra sea usada. Irregularidad: Si agrupamos las palabras segn cierto criterio, ese criterio debe mantenerse tanto para la agrupacin, como para cada palabra que la compone. En Los Lenguajes Naturales debido a su continua evolucin cada agrupacin tiene sus excepciones a la regla.

Expresividad: Para representar una idea, los lenguajes naturales requieren adems de muchsimo ms espacio fsico que en un lenguaje de programacin.

Paradigmas y Lenguajes

Bolilla 1

Pagina 2

Historia de Los Lenguajes de Programacin

Ilustracin 1 Simplificacin de la Historia de Los Lenguajes de Programacin

Sintaxis y Compilacin de Los Lenguajes de Programacin


Los Lenguajes de Programacin estn compuestos por tres elementos equivalentes a los de la lingstica natural:

Sintaxis:
Es la definicin de la estructura de las sentencias dentro de un lenguaje de programacin, para lo cual se utiliza una simbologa definida para cada lenguaje, la correcta combinacin de simbologa es lo que es concerniente la sintaxis. La simbologa esta categorizada de la siguiente manera: Palabras Reservadas Operadores Caracteres Especiales Identificadores Expresiones Bolilla 1 Pagina 3

Paradigmas y Lenguajes

Semntica:
Es el conjunto de reglas que le dan significado a las sentencias de programacin, es decir, es lo que hace el programa. Las siguientes sentencias tiene diferentes sintaxis debido a que son de diferentes lenguajes por la semntica es la misma 1) x += y; (C, Java, etc.) 2) x := x + y; (Pascal) 3) x = x + y (BASIC, FORTRAN)

Pragmatismo:
Es el Sentido de una sentencia, debido a que dos sentencias idnticas validas sintcticamente y semnticamente, varan debido al contexto de ejecucin. Esto toma una forma ms tangible cuando veamos el polimorfismo de algunos lenguajes de programacin.

Compilacin:
La Compilacin es la traduccin del cdigo fuente en el cdigo que una computadora es capaz de interpretar, dicha traduccin puede suceder de tres maneras diferentes 1. Interprete 2. Compilador 3. Compilador para Mquina Virtual

Criterios de Diseo
Simplicidad
Todo Lenguaje debe ser simple de leer y escribir programas facilitando el desarrollo y su posterior mantenimiento.

Extensibilidad
Debe permitir la creacin de nuevos objetos, tipo de datos, funciones, a partir de las primitivas propuestas por el Lenguaje

Eficiencia
Existen dos puntos de vistas, para determinar la eficiencia de un lenguaje de programacin: Paradigmas y Lenguajes Bolilla 1 Pagina 4

Para la maquina: una vez generado el cdigo mquina, su ejecucin de ser lo ms rpido posible y gestionar los recursos de la mejor manera Para el Programador: La eficiencia trabaja en forma conjunta con la Simplicidad y la Extensibilidad, para realizar una mejor abstraccin o representacin del proceso que se est construyendo a travs del lenguaje.

Seguridad
Debe proveer los mecanismos necesarios para prevenir, sentencias que violen la semntica del lenguaje, es decir, que verifique los tipos de datos utilizados, las llamadas a funciones, los accesos a memoria.

Portabilidad
Es la cualidad mas deseada en un lenguaje, para que el programa pueda ejecutarse no solamente en la plataforma para la cual fue creado. Dicha Portablidad estar dada ya sea por la recompilacion para la nueva plataforma, la implementacin del interprete o maquina virtual para los lenguajes de script (interpretados) o de cdigo intermedio respectivamente.

Concepto de Paradigma
Un paradigma es un modelo, una lnea de pensamiento o enfoque para la construccin de programas informticos.

Principales Paradigmas
Declarativo
Est basado en la declaracin previa de premisas, relaciones, reglas y restricciones que luego sern consultadas y/0 ejecutadas por el programa, en el cual no se especifica el orden de ejecucin de las sentencias. En otras palabras estamos programando el QUE; lo QUE lograremos con el programa Funcional Este paradigma es una subdivisin del declarativo, su principal caractersticas es resolver cuestiones relacionadas a la matemtica y al clculo numrico. Declarando para ello frmulas matemticas que pueden o no interactuar entre s, la salida de una funcin puede ser entrada de otra funcin. Introduce conceptos tales como: 1. Tipos de Datos y Operadores 2. Recursin 3. Polimorfismo Paradigmas y Lenguajes Bolilla 1 Pagina 5

4. Garbage Collection Implementaciones: LISP, HASKELL, MIRANDA Lgico Este paradigma est basado en relaciones e inferencia lgica. Donde postularemos nuestros axiomas (reglas y restricciones) y premisas, para luego plantearle objetivos (preguntas) Implementaciones: PROLOG

Imperativos
El modelo imperativo nos permite resolver los problemas mediante una secuencia de paso, en el cual podremos repetir un conjunto de ello y/o delegarlo a otra secuencia de paso.

Orientado a Objetos
Este paradigma fue y es la evolucin natural del paradigma imperativo, permitiendo una mejor modelacin (Abstraccin) de problemas o situaciones del mundo real, introduciendo el concepto de Objeto. Un Objeto es una entidad (Clase) bien definida de datos la cual posee propiedades y mtodos, para la interactuar con otros Objetos, provee adems ciertas caractersticas que facilitan el proceso de desarrollo de software las cuales enumeraremos a continuacin 1. Encapsulamiento. Los Datos (Variables) deben estar protegidos por una coraza de Mtodos (Funciones) para acceder a dichos datos. 2. Herencia. Crear objetos a partir de otros pudiendo extender su comportamiento. 3. Polimorfismo. A partir de un herencia dos Clases hijas de un mismo padre, ambas clases pueden tener los mismos mtodos, pero implementan un comportamiento diferente Todo esto brinda solucin a ciertas problemticas intrnsecas a los paradigmas anteriores, tales como independicia, reutilizacin, extencion y redefinicin de datos y mtodos.

Paradigmas y Lenguajes

Bolilla 1

Pagina 6

Vous aimerez peut-être aussi