2do PARCIAL
C/PASCAL PARALELOS: Programación en paralelo es:
Una computadora paralela es un juego de procesadores que pueden trabajar para resolver un problema computacional de manera cooperativa. Las computadoras paralelas son interesantes porque nos ofrecen el potencial para concentrar recursos computacionales como los procesadores, memoria, ancho de banda de I/O, en problemas computacionales importantes. El paralelismo a veces se ha visto como una subarea rara y exótica de la informática, interesante pero de relevancia pequeña para la mayoría de los programadores. El paralelismo está volviéndose oblicuo pero la programación en paralelo está convirtiéndose en el centro de la iniciativa de la programación. Los lenguajes Pascal© y C™ son clasificados como lenguajes de programación Procedimental o Procedural, y por esto las funciones en estos lenguajes tiene una importancia mayor que los datos. Estos lenguajes se construyen a partir de diagramas de flujo de datos, que muestran el flujo de datos a través de un sistema, dentro y fuera de las funciones ( o procedimientos). Mediante la evaluacion individual de sus caracteristicas de lenguaje C y el lenguaje PASCAL,se puede crear un paralelo entre ellos. EIFFEL: Es un programa orientado a objetos, lenguaje desarrollado por Bertrand Meyer para Software Interactivo que Diseña Inc., Goleta, CA, (www.eiffel.com). Corre en DOS, OS/2 y la mayoría las plataformas de UNIX. El compilador de Eiffel genera codigo C que puede modificarse y compilarse con un copilador de C. G++: Nombre de un software, simboliza las peculiaridades más destacadas de esta solución informática para empresas: 1. Sistema para la automatización de la Gestión Administrativa Empresarial 2. Soporta la adición (de ahí + + ), de tantos módulos como precise cada empresa, tanto diseñados por nosotros como estándares, como a medida para el cliente: Contabilidad, Recursos Humanos, Liquidación de Haberes, Intranet, Business to Business, Business to Consumer, etc... JAVA: Java es un lenguaje de programación expresamente diseñado para usarse en el entorno distribuido de Internet. Se diseñó para que se "pareciera" al lenguaje C++, pero es más sencillo de usar que éste y obliga a una visión de la programación completamente orientada a objetos. Java puede usarse para crear aplicaciones completas que corran en un sólo ordenador o se distribuyan entre servidores y clientes de una red. También puede usarse para construir pequeños módulos de aplicación o applets para utilizarlos como parte de una página web. Los applets hacen posible que el usuario de una página web interactúe con ella. Java fue lanzado por Sun Microsystems en 1995 e instantáneamente creó una nueva percepción de las posibilidades interactivas de la Red. Los dos principales navegadores incluyen una máquina virtual de Java. Casi todos los principales desarrolladores de sistemas operativos (IBM, Microsoft y otros) han añadido compiladores de Java como parte de su oferta de productos. Las principales características del Java son:
El script de Java o JavaScript no debe confundirse con Java. El JavaScript, que se originó en Netscape, se interpreta a un nivel más alto y es más fácil de aprender que Java, pero carece de parte de la portabilidad de Java y la velocidad del código de bytes. Dado que los applets de Java corren en casi cualquier sistema operativo sin requerir recompilación, y dado que el Java no tiene extensiones o variaciones específicas de un sistema operativo, generalmente se lo considera como el lenguaje más estratégico para el desarrollo de aplicaciones para la Red. (Sin embargo, JavaScript puede ser útil para aplicaciones muy pequeñas que corran en el cliente o servidor web.) MP3 PLAYERS:
SoundJamMP, Quicktime, GetRight, Yahoo Player, Kjofol, Wplay, Unreal PlayerFreeamp, etc... OPEN GL: Es un estándar gráfico empleado en estaciones de trabajo y sistemas de diseño asistido por el ordenador que también se utiliza en PCs. Open GL ha sido parte de OS/2 desde la aparición de Warp 4, pero el soporte de hardware para Open GL ha aparecido recientemente. Muchos fabricantes de tarjetas de vídeo han incorporado Open GL por hardware en sus tarjetas, y esta tecnología tienen una buena oportunidad para onvertirse en el API estándar para los juegos en Windows 9x. Puesto que IBM acaba de publicar el kit necesario para que los desarrolladores de controladores de dispositivos añadan Open GL por hardware a sus controladores, y dado que la cantidad de productos OS/2 que lo usan es relativamente pequeña, puede pasar un tiempo antes de que veamos alguna consecuencia de esto. PYTHON: Python es un lenguaje Interpretado, orientado a objetos semejante a Tcl y Perl que ha ganado a popularidad por su sintaxis y la clara legibilidad del código. Python es relativamente fácil de aprender y es portátil, esto significa que sus declaraciones se pueden interpretar en varios sistemas operativos, inclusive sistemas basados en UNIX, Mac OS, MS-DOS, OS/2, y varias versiones de Microsoft Windows. Python fue creado por Guido van Rossum, un residente de Holanda, cuyo grupo favorito de comedia en ese tiempo era el "Monty Python's Flying Circus". El código fuente está libremente disponible y abierto para la modificación y reuso. Python en la actualidad tiene un número significativo de usuarios .Una característica notable del Python es la "indentación" de su código que permite una facilidad para su lectura. El Python ofrece "dynamic data types", "ready-made classes", e interfaces a muchas llamadas del sistema y bibliotecas. Se puede extender, usando el lenguaje C o C++. TCL/TK: TCL (Tool Command Language) es un lenguaje de programación interpretado y multiplataforma. Fue creado por John K. Ousterhout y su equipo de la Universidad de California, pero actualmente es desarrollado por Sun Microsystems Laboratories ( en concreto por su gupo SunScript, que lidera el propio Ousterhout) y distribuido de forma totalmente gratuita, aunque su uso sea para aplicaciones comerciales, a través de Internet. El intérprete puede ser encontrado en diversas direcciones. Tcl es un lenguaje de comandos, cuyo intérprete recibe el nombre de tclsh (tclsh80 para Tcl/Tk 8.0), que tiene como una de sus principales características la gran facilidad con la que se pueden implementar funciones en C/C++ que pasan a ser nuevas instrucciones del intérprete. Es decir, se pueden embeber aplicaciones en C/C++ dentro del propio intérprete de Tcl; de esta forma es posible obtener nuevas versiones de Tcl, denominadas extensiones, que no dejan de ser otra cosa que intérpretes que aunan a los comandos originales de Tcl nuevos comandos escritos en C/C++. Algunas de estas extensiones son BLT (que permite hacer representaciones gráficas en 2D), Itcl (Incremental Tcl, Tcl orientado a objetos), OraTcl (Tcl capaz de manejar bases de datos ORACLE), etc. Comandos Tcl.-La sintaxis básica para un comando de tcl es : comando arg1 arg2 arg3 ... Cualquier manual de programación que se precie debe iniciarse con el típico ejemplo de "Hola Mundo!!". Esto es en Tcl: Ejemplo:
En este ejemplo simplemente se ha escrito la cadena "Hola Mundo!!!". Tcl/Tk proporciona dos intérpretes de comando: para Tcl, tclsh80; y para Tk, wish80. Cualquiera de estos dos puede ser utilizado para ejecutar los ejemplos de la primera parte de este trabajo, pero siempre resultará más cómodo utilizar wish80 que tclsh80, ya que el primero crea la ventana que se puede ver sobre estas líneas, mientras que el segundo lo correrá en una ventana de DOS. Para llamar al intérprete wish80 bastará con ejecutar wish80.exe; mientras que para el segundo se jecutará tclsh80.exe. En el caso de ejecutar el primero, además de la ventana que aquí se puede ver, denominada consola, aparecerá otra más, de color gris, y que de momento no va a tener mayor importancia. Tk es un toolkit para la programación bajo Windows. Inicialmente fue diseñado para el sistema X window, pero actualmente ha sido migrado a otros sitemas, entre ellos Windows 95 y NT. Tk provee un conjunto de comandos Tcl que permiten manipular widgets. Un widget es una ventana del interface gráfico que presenta un aspecto particular y una determinada utilidad. Entre los widgets se encuentran botones, barras de scroll, menús, y ventanas de texto. Tk también proporciona un widget de próposito general para el dibujo, denominado canvas, en el que pueden ser creados líneas, circulos, cuadrados, bitmaps, etc. El sistema X window soporta herencia entre ventanas, y esto se refleja en los comandos de Tk La herencia en Tk significa que existe una ventana primaria o principal, y dentro de ella (también fuera de ella) pueden existir un número de ventanas hijas. De igual forma, las ventanas hijas pueden contener otras ventanas, y así sucesivamente. Los widgets están bajo el control del geometry manager que controla su tamaño y posición en la pantalla. Hay numerosos geometry manager para Tk, pero en este trabajo va a utilizarse el más habitual, denominado packer. Para representar un widget en pantalla, primero debe ser incluido en una frame. Una frame es un widget que se encarga de contener otros widgets. Una vez creado un widget como hijo de una frame, estará creado pero no aparecerá en pantalla hasta que el packer lo coloque en su sitio. Una aplicación basada e Tk tiene un control del flujo por eventos. Para poder ejecutar comandos como respuesta a estos eventos, existe el comando bind, el cual asocia a un evento un determinado comando, que se ejecutará en el preciso momento de producirse dicho evento. Los widgets de Tk tienen algunos de estos eventos asociados a determinados comandos definidos por defecto. Un concepto importante es el foco; el widget que posea el foco será el que esté activo en ese momento. Tk proporciona comandos para cambiar el foco o pasarlo a otro widget. La estructura básica de una aplicación Tk empieza creando los widgets, situándolos con el geometry manager y asociando los bind para el control de los eventos. Wish80: Es el intérprete de Tk. Para ejecutarlo, lo más cómodo es crear en el escritorio un acceso directo a este fichero ejecutable, y llamarlo mediante un doble click sobre el icono de dicho acceso directo. Al ejecutarlo, aparecerá la denominada Consola, que es el equivalente bajo Windows de lo visto anteriormente para tclsh80. Desde ella se pueden ejecutar las aplicaciones mediante el comando source seguido del nombre de la aplicación, incluyendo el path. Por ejemplo:
Bugs conocidos :
Manejo de la consola : Una de las cosas que más sorprende a aquellas personas que se acercan a Tcl/Tk procedentes de algún lenguaje compilado es la consola. La consola de Tcl/Tk es una ventana similar a la que pudiera verse en las máquinas UNIX, que va a permitir ejecutar todas los comandos de Tcl y Tk desde ella, con lo que será posible comprobar si un comando funciona tal como se espera o no antes de insertarlo en el código de una aplicación, sin necesidad de escribir un fichero, grabarlo y ejecutarlo. Aunque desde la consola es posible ejecutar todos los comandos de Tcl/Tk, existen comandos que parecen especialmente indicados para utilizar desde ella. Algunos de estos son:
Por otra parte, todas las variables que se hayan declarado como globales en un procedimiento pueden ser vistas y modificadas desde la consola en tiempo de ejecución Tabla 1. Comandos de creación de widgets.
Tabla 2. Comandos de manipulación de widgets.
Ejemplo (Tk): En este ejemplo se crea un botón con el texto "Hola Mundo". El comando que jecutará al ser pulsado será escribir en la consola el texto "Hola Mundo !!!". Finalmente, se se sitúa dicho botón con el packer, dejando 20 pixels de separación en el eje horiontal entre el borde del botón y el borde de la ventana que lo contiene, y 10 en el vertical. Listado:
El resultado es este:
Ventajas de Tcl/Tk:
Inconvenientes de Tcl/Tk:
CONCLUSIONES: En esta investigacion me entere muchas cosas interesantes y de las cuales no estaba entereda como de la posibilidad de trabajar con C y Pascal en paralelo. De que Eiffel es un programa orientado a objetos que´puede correr en DOS, OS/2 y en UNIX y que genera codigo C que puede modificarse y compilarse con un copilador de C. Que existe un software, llamado G++ que nace como una solución informática para empresas. Investigue un poco de lo que es el lenguaje Java y me di cuenta de que este expresamente diseñado para usarse en el entorno distribuido de Internet. Casi todos los principales desarrolladores de sistemas operativos (IBM, Microsoft y otros) han añadido compiladores de Java como parte de su oferta de productos.Las principales características de Java son: Portabilidad, Compatibilidad, Seguridad, Objetos, Velocidad y Facilidad, y que el JavaScript se originó en Netscape y se interpreta a un nivel más alto y es más fácil de aprender que Java, pero carece de parte de la portabilidad de Java. Que un Mp3 Players es un reproductor de archivos de música comprimida de calidad casi digital (Mp3) y que aparte de existir programas existen aparatos portatiles para la reproduccion de los Mp3. Que el Open Gl es un estándar gráfico empleado en estaciones de trabajo y en Pc's. Que Python es un lenguaje interpretado, orientado a objetos semejante a Tcl y Perl. Y me llamo en especial la atencion lo que son TCL y TK que son lenguajes de programación interpretados y multiplataforma, de los cuales me pude dar cuenta que sin duda, la extensión más conocida, y que es distribuida junto con el propio Tcl, es Tk (Tool Kit), que Tk proporciona un intérprete denominado wish, que añade a los comandos de Tcl, comandos capaces de crean interfaces gráficos de usuario. Es decir, Tk permite crear ventanas, botones, menús, barras de scroll, y toda una serie de elementos, propios de la programación con ventanas.Tk se distribuye junto con Tcl en un paquete denominado Tcl/Tk, que proporciona los dos intérpretes. Y que intérprete de Tcl puede ser eliminado ya que se encuentra incorporado en el intérprete de Tk. REFERENCIAS: http://webopedia.internet.com/TERM/ http://www.lawebdelprogramador.com/diccionario/ http://www.buscamp3.com/software/reproductores.htm http://www.terra.com.ve/informatica/que-es/ http://www.aldeamac.com/links/mp3/ http://www.caballe.com/TeamOS2/test/documentos/traduccion/warpnt.htm |