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