viernes, 3 de octubre de 2014

TENDENCIAS ACTUALES DE COMPILADORES E INTÉRPRETES

Universidad Nacional Experimental de Guayana
Vicerrectorado Académico
Carrera: ingeniería en informática
Asignatura: informática

Sección 11





Profesora: Karla López.
Alumno: Daniel Carvajal


TENDENCIAS ACTUALES DE COMPILADORES E INTÉRPRETES
Un intérprete: es un programa que analiza y ejecuta simultáneamente un programa escrito en un lenguaje fuente.   Para una mejor comprensión, a continuación el esquema general de un intérprete visto como una caja negra. Cualquier intérprete tiene dos entradas: un programa P escrito en un lenguaje fuente LF (en lo sucesivo, se denotará P/LF) junto con los datos de entrada; a partir de dichas entradas, mediante un proceso de interpretación va produciendo unos resultados. (Ver figura 1).

 


Mientras que   los  compiladores: transforman el programa a un programa equivalente  en un código objeto (fase de compilación), y en un segundo paso generan los resultados a partir de los datos de entrada (fase de ejecución). (Ver figura 2).


Estructura de un intérprete
A la hora de construir un intérprete es conveniente utilizar una Representación Interna (RI) del lenguaje fuente a analizar. De esta forma, la organización interna de la mayoría de los intérpretes se descompone en los módulos:
§         Traductor a Representación Interna: Toma como entrada el código del programa P en Lenguaje Fuente, lo analiza y lo transforma a la representación interna correspondiente a dicho programa P.
§         Representación Interna (P/RI): La representación interna debe ser consistente con el programa original. Entre los tipos de representación interna, los árboles sintácticos son los más utilizados y, si las características del lenguaje lo permiten, pueden utilizarse estructuras de pila para una mayor eficiencia.
§         Tabla de símbolos: Durante el proceso de traducción, es conveniente ir creando una tabla con información relativa a los símbolos que aparecen. La información a almacenar en dicha tabla de símbolos depende de la complejidad del lenguaje fuente. Se pueden almacenar etiquetas para instrucciones de salto, información sobre identificadores (nombre, tipo, línea en la que aparecen, etc.) o cualquier otro tipo de información que se necesite en la etapa de evaluación.
§         Evaluador de Representación Interna: A partir de la Representación Interna anterior y de los datos de entrada, se llevan a cabo las acciones indicadas para obtener los resultados. Durante el proceso de evaluación es necesario contemplar la aparición de errores.
§         Tratamiento de errores: Durante el proceso de evaluación pueden aparecer diversos errores como desbordamiento de la pila, divisiones por cero, etc. que el intérprete debe contemplar.


Dependiendo de la complejidad del código a analizar, el intérprete puede contener módulos similares a los de un compilador tradicional: Análisis léxico, Sintáctico y Semántico.   Durante la evaluación, el intérprete interactúa con los recursos del sistema como la memoria, discos, etc. Muchos sistemas interpretados liberan al programador del manejo explícito de memoria mediante técnicas de recolección de basura.     
         A la hora de evaluar la representación interna, existen dos métodos fundamentales: la interpretación iterativa y la interpretación recursiva.
En general, la utilización de compiladores permite construir programas más eficientes que los correspondientes interpretados. Esto es debido a que durante la ejecución de código compilado no es necesario realizar complejos análisis (ya se hicieron en tiempo de compilación), además, un buen compilador es capaz de detectar errores y optimizar el código generado.
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. Actualmente, la eficiencia es un problema menos grave y muchas veces se prefieren sistemas que permitan un desarrollo rápido de aplicaciones que cumplan fielmente la tarea encomendada.
Tipos de intérpretes
§         Intérpretes  puros
§         Intérpretes avanzados
§         Intérpretes incrementales
§         Evaluadores Parciales
§         Compiladores “Just in Time”
§         Compilación Continua.

INGENIERO INFORMÁTICO
El Ingeniero Informático administra las tecnologías de información de las organizaciones (sistemas de telecomunicaciones y redes, sistemas de información, bases de datos, seguridad, infraestructura y servicios de cómputo); además formula, gestiona y evalúa el desarrollo de soluciones informáticas. A continuación menciono algunas de sus funciones:
ü      Analizar y diseñar sistemas de cómputo (hardware y software).
ü      Evaluar alternativas de diseño para sistemas de cómputo y diseñar lenguajes de programación y traducción.
ü      Producir el software y hardware correspondiente a las necesidades requeridas de la empresa.
üAplicar conocimientos científicos y tecnológicos en la solución de problemas en el área informática con un enfoque interdisciplinario, entre otros.


En cuanto a  las tendencias en los lenguajes de programación el estudio de los lenguajes de programación agrupa tres intereses diferentes; el del programador profesional, el del diseñador del lenguaje y del Implementador del lenguaje.  Además  han de realizarse dentro de las ligaduras y capacidades de la organización de una computadora y de las limitaciones fundamentales de la propia calculabilidad.
El programador, diseñador e implementador de un lenguaje de programación deben comprender la evolución histórica de los lenguajes para poder apreciar por que presentan características diferentes. Por ejemplo, los lenguajes "mas jóvenes" desaconsejan (o prohíben) el uso de las sentencias GOTO como mecanismo de control inferior, y esto es correcto en el contexto de las filosofías actuales de ingeniería del software y programación estructurada. Pero hubo un tiempo en que la GOTO, combinada con la IF, era la única estructura de control disponible; el programador no dispone de algo como la construcción WHILE o un IF-THEN-ELSE para elegir. Por tanto, cuando se ve un lenguaje como FORTRAN, el cual tiene sus raíces en los comienzos de la historia de los lenguajes de programación, uno no debe sorprenderse de ver la antigua sentencia GOTO dentro de su repertorio.
Lo más importante es que la historia nos permite ver la evolución de familias de lenguajes de programación, ver la influencia que ejercer las arquitecturas y aplicaciones de las computadoras sobre el diseño de lenguajes y evitar futuros defectos de diseño aprendido las lecciones del pasado. Los que estudian se han elegido debido a su mayor influencia y amplio uso entre los programadores, así como por sus distintas características de diseño e implementación. Colectivamente cubren los aspectos más importantes con los que ha de enfrentarse el diseñado de lenguajes y la mayoría de las aplicaciones con las que se enfrenta el programador. 


CUADRO COMPARATIVO

CUADRO COMPARATIVO



Robótica
La robótica es una ciencia de la tecnología, que estudia el diseño y construcción de máquinas capaces de desempeñar tareas realizadas por el ser humano
Asibot
Da Vinci
                    

Inteligencia artificial
Se define la inteligencia artificial como aquella inteligencia exhibida por artefactos creados por humanos (es decir, artificial).
hybrot
Cyborg
                                     Realidad virtual
Su fin es producir una apariencia de realidad que permita al usuario tener la sensación de estar presente en ella
Oculus Rift:
vrAse


Telemática
Es  una disciplina científica y tecnológica, originada por la convergencia entre las tecnologías de las Telecomunicaciones y de la Informática.
Chat
Intranets y Extranets.


Cibernética

Es el estudio interdisciplinario de la estructura de los sistemas reguladores.
Implante coclear, para la gente sorda.
Prótesis activadas por los nervios.
        


Nanotecnología
Es  un campo de las ciencias aplicadas dedicado al control y manipulación de la materia a una escala menor que un micrómetro
Nanobot
Nubots




Biotecnología
La biotecnología es un área multidisciplinaria, que emplea la biología, química y procesos, con gran uso en agricultura, farmacia, ciencia de los alimentos, ciencias forestales y medicina
Variación genética por cruzamiento o por mutagénesis.
Alimentos mejorados y sus beneficios para la salud. Productos biotecnológicos  hipoalergénicos


Eco tecnología
Conjunto de técnicas aplicadas, derivadas de algunas ciencias, que integra los campos de estudio de la ecología y la tecnología, usando los principios de la permacultura.
Energía eólica.
Calentador de agua solar (boiler).

PRESUPUESTO



PRESUPUESTO


Samsung galaxy tab 3

Características:

  • Sistema operativo: android 4.1.2 (jelly bean)
  • Procesador: doble nucleo de 1.2 ghz
  • Memoria flash: 4gb
  • Memoria ram:1gb
  • Camara trasera:3mp
  • Camara frontal:1.3mp
  • Pantalla: 7 wsvga
  • Resolucion: (1024x600)
  • Micro sd ; expandible hasta 64gb
  • Conectores: micro usb (11pin) / auriculares 3.5 mm
  • Gps
  • Wifi
  • Usb 2.0
  • Capacidad de bateria: 4000mah
  • Audio: mp3, ogg, ac3,aac,acc+,eaac+,wma,wav,flac
  • Video: mpeg4,h.263,h264,wmv,divx(reproduccion de video 1080p full hd
  • Peso: 306 gr
  • Medidas: 111,1x 188,0x 9,9
 Precio: 13.000 Bsf


UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA


UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA

Misión
Tiene  como misión  formar ciudadanos, intelectuales y líderes para la transformación socio-cultural y técnico-científica que aseguren el desarrollo social y económico sustentable, con respeto y protección al ambiente y a la diversidad biológica y cultural de la región Guayana para las generaciones futuras. 

La UNEG se constituye en un espacio de construcción colectiva de conocimientos y compartir de saberes, fomentando el arraigo cultural en el marco de la diversidad, fundamentada en la ética, la solidaridad, la paz, la libertad académica, la autorreflexión crítica y comprometida con la preservación y defensa de los valores que hacen posible la convivencia ciudadana y el respeto a los derechos humanos como patrimonio fundamental de la sociedad.


Visión
Se vislumbra una sociedad del conocimiento caracterizado por ser humanístico, científico y tecnológico, multidisciplinario, transdisciplinario, orientado a la transformación de la realidad, compartido y contextualizado a partir de la construcción colectiva del conocimiento y el compartir de saberes. En este sentido la Universidad debe prefigurar esa sociedad en activa interacción con su contexto regional, nacional e internacional.
El conocimiento, así, se reconoce presente en todos los sectores sociales. La UNEG valorará los saberes indígenas, campesinos, urbanos, en todas las edades y géneros. La Universidad compartirá en variados contextos, tanto locales como regionales, así como nacionales e internacionales, igualmente, se vinculará con otras instituciones afines y con los sectores productivos, culturales y gubernamentales de la sociedad enfatizando la función social en su quehacer académico.
La UNEG liderizará a las instituciones y procesos orientados a la formación de los profesionales necesarios para el desarrollo de la Región Guayana en el marco de la sustentabilidad.
Se aspira una institución autocrítica, reflexiva, con referencia propia. Con profundo respeto a la diversidad sujeto-sujeto. Se desechará cualquier tipo de dogmatismo y pensamiento único y se propiciará la flexibilidad y la tolerancia a la pluralidad de ideas.
Se propenderá a construir una universidad autónoma, autogestionaria, creativa en la búsqueda de su financiamiento, austera y eficiente en el aprovechamiento de sus recursos en función de optimizar la efectividad del esfuerzo institucional.
La UNEG está comprometida con la formación del ciudadano, que en el ejercicio de su desempeño, sea coherente con la demanda de una sociedad más humana y ambientalmente responsable. Está obligada, mediante las ejecutorias de sus políticas a dar respuestas satisfactorias y oportunas, a una comunidad que reclama mayor sensibilidad social y ambiental, espiritualidad, sentido de pertinencia, pro actividad, responsabilidad institucional y probidad. La UNEG tiene el reto circunstancial del entorno, para presentar resultados que la acrediten como una universidad de alto valor y prestigio.