Logo Studenta

Edson Ezequiel andi jipa-tarea individual 1

¡Estudia con miles de materiales!

Vista previa del material en texto

Lenguaje de programación IV 
Tarea Académica 1 
EDSON EZEQUIEL ANDI JIPA 
Responder las preguntas y los ejercicios propuestos: 
 1. ¿En qué se diferencia la programación declarativa de la programación orientada a objetos? 
 
La diferencia que podemos encontrar entre la programación declarativa y la programación orientada 
a objetos es que en la programación declarativa no se declara o no se especifica la secuencia o 
algoritmo para llegar a la solución, sino que la solución esta descrita mientras que en la 
programación orientada a objetos describe la secuencia que debe seguir el programa para resolver 
un problema dado. 
 2. ¿Cree que afecta la capacidad de expresión de un lenguaje en la eficiencia de programación 
en el mismo? 
 
Si, ya que nos permite expresar procesos y estructuras complejas que hace mas 
fácil la tarea de programar y más eficiente serán los programas, un mayor 
entendimiento del lenguaje de programación ayuda también al mantenimiento 
del software, pero al tener una expresividad muy alta puede haber un conflicto 
con la simplicidad. 
 
 
 3. Defina y aporte un ejemplo de cada uno de los tres principios en que se divide la eficiencia de 
un lenguaje de programación. 
 
Se mencionan tres tipos de principios de la eficiencia y estas son: 
 
▪ Eficiencia de traducción: Nos habla que el diseño del lenguaje debe ser de manera eficiente, 
para la traducción entre varios sistemas. Ejemplo: Pascal permite en su diseño de lenguaje 
escribir un compilador de una pasada, donde las variables deben ser declaradas antes de usarse. 
En Modula 2 el compilador requiere una segunda pasada para resolver referencias de 
identificadores. 
 
▪ Eficiencia en la implementación: Se refiere a la eficiencia con la cual puede ser escrito un 
compilador. Esto está relacionado con eficiencia de traducción, pero está en función de la 
complejidad de la definición del lenguaje. El éxito de un lenguaje puede decaer simplemente 
porque es muy difícil escribir un traductor o porque los algoritmos que realizan la traducción no 
son suficientemente bien comprendidos. Ejemplo: Una de las razones por las que ALGOL-6O no 
fue más usado en USA fue porque las estructuras basadas en pilas necesitadas por el sistema en 
tiempo de ejecución no eran ampliamente conocidas en esos tiempos. Eso mostro una serie de 
problemas entre los compiladores. 
 
▪ Eficiencia de la programación: Esto está relacionado al poder y generalidad del mecanismo de 
abstracción del lenguaje. Una sintaxis concisa y la evitación de detalles innecesarios, tales como 
declaraciones de variables, se considera a menudo como características importantes de esta 
clase de eficiencia. Ejemplo: LISP y Prolog son ideales por su sintaxis concisa, ausencia de 
declaraciones y muchos detalles de los cálculos pueden dejarse al sistema de tiempo de corrida. 
Esto, por supuesto, compromete otros principios del lenguaje como legibilidad, eficiencia de 
ejecución y confiabilidad. 
 
 
 4. Defina las tres propiedades en que se subdivide el principio de regularidad de un lenguaje de 
programación. 
 
1. La generalidad: Hace referencia a que un algoritmo debe resolver problemas generales, se 
consigue cuando el uso y la disponibilidad de los constructores no están sujetas a casos 
especiales y cuando el lenguaje incluye solo a los constructores necesarios y el resto se obtienen 
por combinaciones de constructores relacionados. 
2. La ortogonalidad: Se dice que un conjunto de instrucciones es ortogonal cuando se puede 
utilizar cualquier modo de direccionamiento en cualquier instrucción. La búsqueda de la 
ortogonalidad hace que el diseño de la unidad central de procesamiento sea más complejo, pero 
aporta una mayor facilidad de programación. 
3. Uniformidad: A representación de los objetos está presente tanto en el diseño como en la 
codificación. Finalmente indicar que las no uniformidades también pueden considerarse no 
ortogonalidades pues ocurren en contextos particulares y pueden considerarse interacciones 
entre constructores 
 
 
 5. Describa brevemente e incluya un ejemplo de las siguientes características que afectan al 
diseño de un lenguaje respecto a la eficiencia: (a) Eficiencia de código, (b) Eficiencia de 
traducción, (c) Eficiencia de programación, (d) Eficiencia de implementación 
 
Eficiencia de código: El código debe ejecutarse en eficientemente en tiempo y 
en uso de recursos. Por ejemplo: un código optimizado es el conjunto de fases 
de un compilador que transforman un fragmento de código en otro fragmento 
con un comportamiento equivalente y que se ejecuta de forma mas eficiente. 
Eficiencia de traducción: consiste en un traductor (intérprete) y un compilador. 
El traductor produce la ejecución el programa tomando en cuenta los datos de 
entrada, por su parte el compilador convierte el código fuente en un nuevo 
programa, que es el que puede ser ejecutado (si ya está en lenguaje máquina) 
sobre los datos. 
Eficiencia de programación: Capacidad de escribir un programa rápidamente y 
expresar procesos y estructuras complejas. Por ejemplo, de ello podría ser la 
creación de software eficiente, flexible y adaptable. 
Eficiencia de implementación: Eficiencia con la que se puede escribir un 
traductor, del cual depende de la complejidad del lenguaje. Un ejemplo de 
fracaso es el ML, ya que la inferencia de tipos sin declaraciones tuvo que esperar 
a la aplicación del algoritmo de unificación para que se utilizara de forma 
comprensible.

Continuar navegando