ACTIVIDAD 1
Visite las
siguientes bases de referencias más especializadas como: EBSCO, SAGE, ERIC,
MEDLINE, PsycINFO
ACTIVIDAD 2
1.- Seleccione un artículo de una revista
científica que contenga una investigación y analice su marco teórico.
Nombre del artículo:
Aplicación
de patrones de diseño: Diseño de un
interpretador orientado al objeto
Luego establezca lo siguiente:
¿Cuál es el índice (Explícito) del marco teórico de la
investigación?
Su índice
explicito que está muy bien realizado porque explica;
·
El nombre del patrón
·
El problema
·
La solución
·
Las consecuencias
·
Explica paso a paso de que se
trata este trabajo.
¿El marco teórico está completo?
No, faltan
algunas referencias para que esta investigación este bien sustentada.
¿Está relacionado con el problema de investigación?
Sí, porque
todo lo que se habla en el problema de investigación es que lo que se quieres
llegar a solucionar.
¿Cree usted que ayudó al investigador o los investigadores en su estudio?
No
¿De qué manera?
No he ayudado
en nada porque no he aportado en la investigación.
2.- Respecto al planteamiento del problema de
investigación que eligió busque, diez referencias y extraiga de ellas la
información pertinente
El
interpretador contribuirá al aprendizaje de construcción de intérpretes o
compiladores, sirviendo como un caso de estudio para aquellas personas que
tengan como objetivo profundizar en el tema, y por consiguiente un posible
punto de partida para futuros trabajos. Por otro lado, es necesario validar los
resultados obtenidos por el optimizador, así como la eficiencia de la forma
implementación escogida, por lo que se incluye también una experimentación
numérica que permite comprobar las hipótesis planteadas al inicio. (Intérprete para un lenguaje de
programación orientado a objetos, con mecanismos de optimización y modificación
dinámica de código, Gómez
Díaz, Renzo Gonzalo; Salamanca Guillén, Juan Jesús)
El modelo basado en prototipos es de hecho muy
interesante, pues llega a ser capaz de representar el modelo basado en clases. Pooi
(Prototype-based Object-Oriented Interpreter), un pequeño intérprete de objetos
cuyo fin último es el de servir de ejemplo sencillo del funcionamiento interno de
estos lenguajes, así como de ser una herramienta con la que los alumnos puedan
experimentar en su tiempo no presencial.
(Pooi, un intérprete de un
lenguaje orientado a objetos basado en prototipos para la educación, Francisco Ortín Soler y Baltasar García Perez-Schofield)
Un intérprete es
un programa que analiza y ejecuta simultáneamente un programa escrito en un lenguaje
fuente. Los intérpretes, por definición, realizan la fase de
análisis y ejecución a la vez, lo cual imposibilita tales optimizaciones. Por
esta razón, los sistemas interpretados suelen ser menos eficientes que los compilados.
No obstante, los nuevos avances informáticos aumentan la velocidad de
procesamiento y capacidad de memoria de los ordenadores. (Intérpretes y Diseño de
Lenguajes de Programación, José Emilio Labra Gayo, Juan, Manuel Cueva Lovelle,
Raúl Izquierdo Castañedo, Aquilino Adolfo Juan Fuente, Mª, Cándida Luengo Díez,
Francisco Ortín Soler)
Cuando se utiliza la programación Orientada
a Objeto el programa usuario se organiza en la memoria. Cada clase tiene una
zona de atributos y otra para los métodos. (Intérprete en lenguaje
ensamblador orientado a objeto para plcs, Ing. Elizabeth moca Ibarra)
La Programación Orientada a Objetos
es un paradigma de programación que usa objetos y sus interacciones para
diseñar aplicaciones y programas de computadora. La programación
orientada a objetos es una nueva forma de programar que trata de encontrarle
una solución a estos problemas. (Los
lenguajes de informática orientados a objetos y orientados a eventos, Ing. Emilio Cordero
Vindas)
Un buen software refleja su comportamiento durante su
ejecución y la estructura y la organización del código fuente y en la documentación asociada. (Ingeniería de software, Sommerville I,
editorial Addison-Wesley)
La programación orientada a objetos presenta una gran ventaja para el desarrollo de sistemas informáticos, especialmente para su mantenimiento y adaptabilidad de los cambios de procesos. (Fundamentos de programación, Ricardo Espín)
Las instrucciones de un programa son códigos numéricos almacenados en la memoria del computador. (Programación orientada a objeto Michael González Harbour, 23/sept/13)
Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción. (Compilador e interpretador Francisco J. Leal A. Ing. En telecomunicaciones)
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. (Intérpretes
y Compiladores, Daniel M. 2006)
3.- Elija dos o más teorías que hagan referencia al
mismo fenómeno y compárelas.
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. (Fundamentos de programación “Compiladores e intérpretes”, Héctor Valencia
Solórzano)
Los programas interpretados suelen ser más
lentos que los compilados debido a la necesidad de traducir el programa
mientras se ejecuta, pero a cambio son más flexibles como entornos
de programación y depuración (lo que se traduce, por
ejemplo, en una mayor facilidad para reemplazar partes enteras del programa o
añadir módulos completamente nuevos), y permiten ofrecer al programa interpretado
un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino
del propio intérprete (lo que se conoce comúnmente como máquina virtual). (Compilador e Interprete, José G. 2012)
Comparación:
en la primera referencia habla de que un intérprete permite utilizar funciones y
operadores más potentes pero en la segunda describe que los programas
interpretados suelen ser más lentos que los compilados debido a la necesidad de
traducir el programa mientras se ejecuta, pero a cambio de eso son más
flexibles.
4.-Construya un marco teórico pertinente para el problema de investigación que eligió desde el inicio.
Marco teórico
Lenguajes
de programación e Intérpretes
Lenguajes
de programación
Un lenguaje
de programación es un lenguaje formal
diseñado para expresar procesos que pueden ser llevados a cabo por
máquinas como las computadoras.
Los
primeros lenguajes
Los primeros lenguajes (llamados lenguajes
ensamblador) están basados en símbolos o nemónicos que se correspondían directamente
con instrucciones de código máquina (el código capaz de interpretar un
ordenador sin necesidad un intérprete o traductor)
Los
lenguajes C
Los lenguajes C son los de más repercusión
en la historia de los ordenadores y su sintaxis ha servido como punto de
partida para otros lenguajes como Java, C++ o C#.
Los
lenguajes orientados a objetos
Se trataba de una nueva forma de programar
hacía más fácil escribir y mantener código, porque se asemejaba más con la forma
de pensar del cerebro humano. Pronto los lenguajes evolucionaron a sus
respectivas versiones orientadas a objetos.
Los lenguajes utilizados actualmente
A pesar de su antigüedad el lenguaje C sigue
siendo muy utilizado, sobre todo en aplicaciones relacionadas muy directamente
con el hardware. El lenguaje cobol también se utiliza mucho también en
entidades bancarias y grandes empresas.
Para el desarrollo de aplicaciones
orientadas a internet, el lenguaje java y los lenguajes de la plataforma. Net de
Microsoft. Existen otros programas que cada vez cobran más importancia como
Ruby, Peerl, Phyton o PHP.
Años
que aparecieron los diferentes lenguajes de programación
En 1957 aparece el lenguaje fortran.
En 1960 aparece LISP.
En 1960 aparece COBOL.
En 1964 se crea el lenguaje
BASIC.
El lenguaje PASCAL aparece
por primera vez en 1971.
En 1972,
Kenneth L. Thompson y Dennis crean el lenguaje C.
En 1968
el lenguaje C++.
Java es
un lenguaje orientado a objetos diseñado
en 1990.
Interpretes
En ciencias de la computación, intérprete o interpretador es un programa informático capaz de analizar y
ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de
los compiladores
en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes
sólo realizan la traducción a medida que
sea necesaria, típicamente, instrucción por instrucción, y normalmente no
guardan el resultado de dicha traducción.
Un intérprete es
un programa que analiza y ejecuta simultáneamente un programa escrito en un lenguaje
fuente. Los intérpretes, por definición, realizan la fase de
análisis y ejecución a la vez, lo cual imposibilita tales optimizaciones. Por
esta razón, los sistemas interpretados suelen ser menos eficientes que los compilados.
No obstante, los nuevos avances informáticos aumentan la velocidad de
procesamiento y capacidad de memoria de los ordenadores. (Intérpretes y Diseño de
Lenguajes de Programación, José Emilio Labra Gayo, Juan, Manuel Cueva Lovelle,
Raúl Izquierdo Castañedo, Aquilino Adolfo Juan Fuente, Mª, Cándida Luengo Díez,
Francisco Ortín Soler)
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. (Fundamentos de programación “Compiladores e intérpretes”, Héctor Valencia
Solórzano)
Ventajas de un intérprete
·
Flexibilidad: permite realizar acciones complejas, imposibles o muy
difíciles con un compilador, como las siguientes:
o
Ejecución de cadenas de caracteres mediante operadores como
"execute", "interprete" o "evalquote".
o
Modificar sobre la marcha el significado de los símbolos e incluso
prescindir por completo de las declaraciones.
o
Obtener un ligamiento dinámico completo en los sistemas orientados a
objetos.
o
Simplificar la gestión de memoria en los programas fuente.
·
Facilidad de depuración de programas: la interpretación puede
interrumpirse en cualquier momento para examinar o modificar los valores de las
variables o la situación en la ejecución. La tabla de símbolos está disponible.
Se pueden corregir los errores y continuar. Trazas y paradas programadas.
Saltos en el programa. Abandonos de subrutinas.
·
Rapidez en el desarrollo.
Desventajas de un intérprete
- Velocidad: usualmente un orden de magnitud menor que la de un programa compilado.
- Tamaño del programa objeto, que exige añadir el intérprete al programa propiamente dicho.
Uso de los intérpretes
Los intérpretes se usan principalmente:
- Para el desarrollo de prototipos.
- Para la enseñanza.
- Cuando el lenguaje tiene características que exigen un intérprete (Lisp, APL, REXX, Smalltalk, Prolog).
- Cuando el lenguaje dispone de operadores muy potentes, lo que significa que la mayor parte del tiempo los programas están ejecutando código rápido prefabricado, más que los programas fuente del programador (APL, SNOBOL).
- Para obtener independencia de la máquina (JAVA).
- Para aumentar la seguridad (JAVA).
Tipos de estructura de intérpretes
- Algunos intérpretes utilizan una tabla de símbolos de tamaño fijo, cuyos elementos apuntan directamente a la memoria asignada a las variables.
- Otros tienen tablas de símbolos cuyo tamaño puede modificarse de forma dinámica.
- En algunos, la tabla de símbolos no apunta directamente a la memoria asignada a las variables, sino que lo hace a través de una tabla de referencias intermedia, que lleva la cuenta del número de punteros que apuntan en un momento dado al objeto de que se trate. Esto simplifica la recolección de desechos y la gestión de la memoria, a costa de aumentar el tiempo de acceso a las variables, pues hay que atravesar un direccionamiento indirecto más.
Conclusiones
Un intérprete es muy necesario porque permite
utilizar funciones y operadores más potentes. También analiza y ejecuta simultáneamente un programa
escrito en un lenguaje fuente. Los
intérpretes, por definición, realizan la fase de análisis y ejecución a la vez,
lo cual imposibilita tales optimizaciones. Por esta razón, los sistemas
interpretados suelen ser menos eficientes que los compilados. No obstante, los
nuevos avances informáticos aumentan la velocidad de procesamiento y capacidad
de memoria de los ordenadores.
Bibliografías
(Fundamentos de programación “Compiladores
e intérpretes”, Héctor Valencia Solórzano)
(Intérpretes
y Diseño de Lenguajes de Programación, José Emilio Labra Gayo, Juan, Manuel
Cueva Lovelle, Raúl Izquierdo Castañedo, Aquilino Adolfo Juan Fuente, Mª, Cándida
Luengo Díez, Francisco Ortín Soler)
No hay comentarios:
Publicar un comentario