facultad de ciencias exactas y naturales y agrimensura -...

16
Introducción a la Informática 2009 Tema Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 1 9 Software 1. Introducción. En un sistema informático, para que el hardware o parte material pueda realizar el trabajo para el que ha sido construido, es necesario tener un conjunto de normas y órdenes que coordinen todos los procesos que se realicen. Este conjunto de órdenes se denomina software o parte inmaterial del sistema. Por ello, a través del software (integrado por un gran número de programas que interactúan unos con otros) pueden ser manejados todos los recursos de un sistema informático para resolver cualquier problema. El término software (del inglés: producto etéreo, pensamiento), lo constituye un conjunto de ideas, producto de la inteligencia de las personas para solucionar problemas de muy diversos tipos. Todos los programas que conforman el software pueden ser divididos en dos grupos bien diferenciados según su función: Software de sistema. Compuesto por el conjunto de programas imprescindibles para el funcionamiento del hardware, más otros programas cuya misión es la de facilitar el uso del sistema y optimizar sus recursos. Entre estos se destaca el sistema operativo como elemento fundamental para el funcionamiento de una computadora. Software de aplicación. Es el conjunto de programas que se desarrollan para que una computadora realice cualquier trabajo controlado por el usuario. Estos programas pueden ser de uso estandarizado, como por ejemplo, los procesadores de texto, planillas de cálculo, etc, o diseñados para un uso específico como, por ejemplo, un programa de monitoreo cardíaco, un programa de gestión contable, etc. En la siguiente figura se representa gráficamente la relación entre los dos grupos anteriores y el hardware de un sistema. La siguiente tabla muestra la clasificación del software y los principales componentes de cada categoría. Software Software de sistema Software de aplicación Sistemas operativos Software estándar Programas traductores Paquetes integrados Programas de mantenimiento del sistema Software a medida

Upload: others

Post on 10-Feb-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 1

9

Software

1. Introducción.

En un sistema informático, para que el hardware o parte material pueda realizar el trabajo para el que ha sido construido, es necesario tener un conjunto de normas y órdenes que coordinen todos los procesos que se realicen. Este conjunto de órdenes se denomina software o parte inmaterial del sistema. Por ello, a través del software (integrado por un gran número de programas que interactúan unos con otros) pueden ser manejados todos los recursos de un sistema informático para resolver cualquier problema.

El término software (del inglés: producto etéreo, pensamiento), lo constituye un conjunto de ideas, producto de la inteligencia de las personas para solucionar problemas de muy diversos tipos.

Todos los programas que conforman el software pueden ser divididos en dos grupos bien diferenciados según su función:

• Software de sistema. Compuesto por el conjunto de programas imprescindibles para el funcionamiento del hardware, más otros programas cuya misión es la de facilitar el uso del sistema y optimizar sus recursos. Entre estos se destaca el sistema operativo como elemento fundamental para el funcionamiento de una computadora.

• Software de aplicación. Es el conjunto de programas que se desarrollan para que una computadora realice cualquier trabajo controlado por el usuario. Estos programas pueden ser de uso estandarizado, como por ejemplo, los procesadores de texto, planillas de cálculo, etc, o diseñados para un uso específico como, por ejemplo, un programa de monitoreo cardíaco, un programa de gestión contable, etc.

En la siguiente figura se representa gráficamente la relación entre los dos grupos anteriores y el hardware de un sistema.

La siguiente tabla muestra la clasificación del software y los principales componentes de cada categoría.

Software

Software de sistema Software de aplicación

Sistemas operativos Software estándar

Programas traductores Paquetes integrados

Programas de mantenimiento del sistema Software a medida

Page 2: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 2

9

2. Software de sistema

2.1. Sistemas Operativos

Un sistema operativo (SO) ó OS (System Operating) en un programa pero un programa diferente al resto de los programas que pueden encontrarse en una PC.

El sistema operativo es el software que controla el hardware del sistema e interactúa con el usuario y el software de aplicaciones. El SO es el programa de control maestro de la computadora. El SO proporciona las herramientas (comandos) que permiten la interacción del usuario con la computadora, traduce el comando en código que la computadora pueda entender y asegura que el resultado de las acciones se muestren en la pantalla o en la impresora, por ejemplo.

También el SO actúa como el mecanismo de control principal del hardware de la computadora.

Entonces, como interfaz del usuario con la computadora:

Un sistema operativo es un conjunto de programas y funciones que controlan el funcionamiento del hardware ocultando sus detalles, ofreciendo al usuario una vía sencilla y flexible de acceso a la computadora.

Por otra parte, una computadora es una máquina que posee un conjunto de elementos que denominaremos recursos, que deben ser racionalmente distribuidos y utilizados para obtener de ellos el mejor rendimiento. Estos recursos son los siguientes:

• El procesador. Como sabemos, es el lugar donde se ejecutan las instrucciones y por ello deben controlarse los programas que se ejecuten y su secuenciamiento.

• La memoria interna. Todo programa que se ejecute en una computadora, así como todo dato que se desee procesar, debe residir en la memoria interna, por tanto, es necesario regular su uso y ocupación.

• La entrada/salida. Todo programa, en general, necesita realizar operaciones de entrada/salida sobre sus unidades periféricas para el control y direccionamiento de las mismas.

• La información. Los datos, sus tipos, tamaños y métodos de representación tienen que estar perfectamente controlados para evitar operaciones erróneas o falsas interpretaciones.

Desde el punto de vista del control de los recursos de una computadora podemos establecer la siguiente definición:

Page 3: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 3

9

Un sistema operativo es el administrador de los recursos ofrecidos por el hardware para alcanzar un eficaz rendimiento de los mismos.

2.1.1. Funciones del sistema operativo De acuerdo a lo descripto anteriormente, un SO realiza las siguientes funciones básicas:

• Despliega los elementos de la pantalla que conforman la interfaz de usuario.

• Carga los programas (por un ejemplo, un procesador de texto, una planilla de cálculo, un navegador de Internet, un juego, un reproductor de MP3) en la memoria de la computadora de manera que se puedan utilizar.

• Coordina la forma en que los programas trabajan con el hardware de la computadora y con otros tipos de programas.

• Controla la manera en que se almacena y recupera la información de los discos u otros soportes de almacenamiento de datos.

2.1.2. Tipos de sistemas operativos

Los sistemas operativos se pueden organizar en cuatro tipos principales:

Sistemas operativos de tiempo real: Es un SO muy rápido y relativamente pequeño. Generalmente están integrados en los circuitos de un dispositivo y no se cargan desde una unidad de disco. Son necesarios en aplicaciones de tiempo real. Este tipo de aplicación se caracteriza por responder a ciertos tipos de entrada en forma extremadamente rápida. Ejemplo de aplicaciones de tiempo real: equipos de diagnóstico médico, sistemas de soportes a las funciones vitales, instrumentos científicos y sistemas industriales.

Sistemas operativos monousuario/monotarea: Este tipo de SO sólo permite que un usuario realice una sola tarea a la vez, esto es que sólo puede realizar un proceso por vez. El MS-DOS es un SO de una sola tarea así como un sistema Palm OS. Si bien estos SO son limitados por estas características, existe un uso específico para ellos, debido a que ocupan muy poco espacio en disco o en la memoria cuando se están ejecutando y no requieren de una computadora poderosa y de alto costo.

Sistemas operativos monousuario/multitareas: Estos SO permiten que un solo usuario realice dos ó más funciones a la vez. Las computadoras personales actuales utilizan este tipo de SO, entre los que se incluyen Windows de Microsoft, el sistema operativo Macintosh y Linux. Las características de multitarea de estos sistemas operativos incrementan la productividad de las personas. Por ejemplo, un oficinista puede ejecutar varios programas a la vez, por ejemplo, una planilla de cálculo y un procesador de texto, incluso puede intercambiar información entre ambos, puede realizar un gráfico en la planilla y agregarlo al documento de texto. Como desventajas de este tipo de SO podría mencionarse el tamaño y la complejidad crecientes que necesitan para proporcionar soporte a las múltiples tareas. Sistemas operativos multiusuarios/multitareas: Permite que múltiples usuarios ejecuten programas que funcionen de manera simultánea en un solo servidor de red. En un sistema multiusuario, el sistema operativo le ofrece a cada usuario un entorno completo llamado sesión de usuario en el servidor. Cada aplicación de usuario se ejecuta dentro de su propia sesión de usuario dentro del servidor de manera separada de las demás sesiones de usuario. En el entorno de un sistema operativo multiusuario/multitarea, todos o la mayoría de los procesos se realizan en el servidor. Ejemplos: UNIX y sistemas operativos para mainframe. La ventaja de estos sistemas operativos es que pueden administrarse haciendo cambios en el servidor en lugar de hacerlo en cada una de las computadoras de escritorio. También permite que los usuarios trabajen con aplicaciones que requieren computadoras más poderosas. Como desventaja puede mencionarse que cuando falla la conexión de red el usuario no puede trabajar con las aplicaciones que están en el servidor.

Page 4: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 4

9

2.1.3. Interfaz de usuario

La interfaz de usuario está constituida por un conjunto de elementos que están en la pantalla. Los dos tipos más comunes de interfaz de usuario son las gráficas y las de línea de comando. a) Interfaz gráfica de usuario

La mayoría de los sistemas operativos actuales, incluyendo todas las versiones de Windows, el sistema operativo Macintosh, el OS/2, además de algunas versiones de UNIX y Linux, proporcionan una interfaz gráfica de usuario ó GUI (Graphic User Interface).

Una GUI tiene ese nombre porque utiliza el mouse (ó algún otro tipo de dispositivo de señalamiento) para trabajar con objetos gráficos (por ejemplo, ventanas, menús, iconos, botones y otras herramientas. Estas herramientas gráficas representan distintos tipos de comandos. La ventaja de las GUI es que permiten emitir comandos a la computadora a través de la utilización de objetos visuales en lugar de escribir comandos.

Windows es una de las distintas GUI que utiliza la metáfora de escritorio. El fondo de la GUI es el escritorio, éste tiene herramientas gráficas y puede almacenar su trabajo.

Las imágenes pequeñas o iconos, llamados también accesos directos, representan vínculos a los recursos de la PC o en una red. Por ejemplo, programas, carpetas, archivos.

b) Interfaz de línea de comando

Algunos sistemas operativos más viejos (por ejemplo MS-DOS) y algunas versiones actuales de UNIX y Linux, incluyen una interfaz de línea de comandos, la cual utiliza comandos escritos en lugar de lugar de objetos gráficos para ejecutar tareas.

La mayoría de las personas prefieren trabajar con una interfaz gráfica pero la interfaz de línea de comandos es más rápida para introducir comandos.

2.1.4. Ejecución de programas

El sistema operativo brinda una interfaz entre los programas de aplicación y el usuario. También es la interfaz entre esos programas y otros recursos de la computadora, por ejemplo, la memoria, la impresora u otro programa. Los programadores escriben programas con instrucciones integradas conocidas cono “llamadas al sistema”. Por ejemplo, cuando un programa necesita acceder a un archivo hace una llamada al SO, quién cumple con el pedido y devuelve el control a la aplicación. Algunas de las tareas que los SO realizan como servicio a los programas son:

- Guardar el contenido de los archivos en el disco.

- Leer un archivo y disco y colocar los datos en la memoria

- Enviar un documento a la impresora y activarla.

- Asignar la RAM entre los programas que se ejecutan

- Reconocer las teclas que se han presionado o los clic del mouse y desplegar caracteres o imágenes en la pantalla.

2.1.5. Compartir información

Para que las aplicaciones compartan información, por ejemplo, agregar un gráfico Excel en un documento Word, algunos sistemas operativos realizan esta tarea mediante el Portapapeles.

El portapapeles es un espacio de almacenamiento temporal (dentro de la memoria de la computadora) para los datos que se copian o mueven. Con el comando Copiar ó Cortar los datos se guardan en el portapapeles y con el comando Pegar, se colocan en el lugar donde está posicionado el cursor de inserción.

Page 5: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 5

9

2.1.6. Administración de hardware

Cuando los programas se ejecutan, necesitan utilizar la memoria, discos, monitor, impresora, etc. El sistema operativo actúa de intermedio entre los programas y el hardware. En una red de computadoras, el sistema operativo también está entre su computadora y los demás dispositivos de red.

Interrupciones de procesamiento

El SO responde a solicitudes para utilizar memoria y otros dispositivos, mantiene el registro de los programas que accedieron a los dispositivos y coordina el funcionamiento del hardware de manera que las actividades no se traslapen, mediante las solicitudes de interrupción (IRQ), explicadas en el tema 3 (CPU).

2.1.7. Sistemas operativos para PC

La computadora personal (PC) ha evolucionado rápidamente en un tiempo relativamente corto y mucho del progreso se debe a los sistemas operativos. Estos programas han permitido que las computadoras sean cada vez más fáciles de manejar, más flexibles y más confiables. Los sistemas operativos se encuentran presente en las computadoras más poderosas como así también en los dispositivos de tipo handheld (PDA) y teléfonos celulares.

La sección siguiente proporciona una breve descripción de los distintos sistemas operativos que se utilizan en las computadoras de escritorio. A pesar de que algunos de estos sistemas operativos (por ejemplo, DOS y Windows 95) se consideran descontinuados, se siguen utilizando en determinados ambientes y por ello se incluyen aquí.

DOS

DOS (sistema operativo en disco) aun se utiliza por distintas razones. Originalmente, la utilización de DOS se extendió en los años ochentas. La primera versión fue PC DOS, la cual fue incluida en las computadoras IBM. La otra fue la versión de DOS de Microsoft, conocida como MS-DOS (Microsoft DOS), la cual fue utilizada en millones de PC "compatibles con IBM" o "clones". (Estos términos describen a cualquier PC que este basada en la misma arquitectura que utilizaban las computadoras personales de IBM.)

A pesar de su dominio en el mercado de la PC durante más de una década, DOS tenía algunas debilidades. Por ejemplo, sólo proporcionaba soporte para un usuario a la vez y sólo ejecutaba un programa al mismo tiempo. No incluía el soporte integrado para el trabajo en redes y los usuarios tenían que instalar de forma manual los controladores cada vez que deseaban añadir un componente de hardware nuevo en sus PC. Además, DOS está limitado en la cantidad de memoria RAM y espacio de almacenamiento que podía utilizar. Por último, incluso hoy en día, DOS sólo proporciona soporte para programas de 16-bits, de manera que no pueda aprovechar el poder de los procesadores modernos de 32-bits (y 64-bits). Además, DOS utiliza interfaz de línea de comando que obliga a los usuarios a recordar nombres de comandos.

Por que DOS se sigue utilizando hoy en día? Las dos razones son su tamaño y simplicidad. No requiere de mucha memoria o espacio de almacenamiento y no necesita una computadora poderosa. Por tanto, se utiliza frecuentemente como un SO integrado a dispositivos que ejecutan aplicaciones muy simples que sólo realizan una tarea. Otra razón para que siga siendo utilizado es que muchas empresas aun cuentan con aplicaciones personalizadas que fueron escritas como una aplicación particular para sus compañías o para sus necesidades especiales.

Windows 9x

El término Windows 9x se utiliza para referirse a cualquiera de los miembros de este trío: Windows 95, Windows 98 y Windows Me. A pesar de que estas versiones de Windows están consideradas como obsoletas son utilizado por usuarios que tienen PCs antiguas.

Page 6: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 6

9

En 1995, Microsoft lanzó al mercado Windows 95, un sistema operativo completo (no necesitaba que fuera instalado MS-DOS antes de su propia instalación), a diferencia de sus predecesores Windows 95 instala los componentes necesarios del sistema operativo MS-DOS que necesita y tiene un código de programación adicional que aprovecha las capacidades más avanzadas de los CPU modernos además de mantener una interfaz grafica de usuario.

Windows 95 mejoró la capacidad de ejecutar múltiples tareas en comparación con las versiones anteriores de Windows y fue la primera versión de Windows en proporcionar soportes para el estándar Plug and Play para conectar hardware nuevo. Incorpora también soporte para redes integrado y mejoras en la GUI, como, por ejemplo, la barra de tareas y el botón Inicio.

Windows 98 (llamado así por el año en que fue lanzado al mercado, 1998) es una actualización de Windows 95. Como cambio importante este SO presenta la integración del navegador Internet Explorer con una nueva característica, el Active Desktop, que permite a los usuarios navegar en Internet y la computadora local de la misma forma. El Active Desktop permite que los usuarios integren los recursos de Internet.

En el 2000, Microsoft lanzó al mercado Windows Millenium (el último miembro de la familia Windows 9x). Windows Me ofrece algunas mejoras notables sobre sus predecesores, por ejemplo, capacidades multimedia avanzadas, soporte integrado para edición de video digital y mejoras en las características de Internet. Pero al igual que Windows 95 y Windows 98, Windows Me continua utilizando una gran cantidad de código de 16 bits que proporciona soporte para las aplicaciones DOS y Windows 3.x antiguas. Como resultado, Windows Me no fue mucho más estable o robusto que Windows 95 o 98 y estaba sujeto a caídas frecuentes del sistema.

Windows XP

Windows XP fue introducido en octubre de 2001. El escritorio tiene una apariencia más tridimensional con esquinas redondeadas y mas sombreados. Con Windows XP, Microsoft consolidó sus sistemas operativos de escritorio para usuarios hogareños y empresas en un solo entorno. Algunas las características que se han actualizado en Windows XP:

- Soporte para medios digitales. Por medio del uso de Windows Media Player provee el soporte para ediciones digitales además de la creación de video y audio para proyectos multimedia.

- Capacidades de red y comunicaciones avanzada: aprovecha el soporte universal para el estándar Plug and Play, el cual permite que la PC encuentre y utilice hardware que está conectado por medio de una red sin tener que forzar al usuario a configurar el sistema o instalar controladores. También utiliza la herramienta Internet Connection Sharing, la cual permite que los usuarios conecten varias computadoras a Internet con una sola conexión.

El sistema operativo Macintosh

El sistema operativo Macintosh (o Mac OS) sólo funciona en las computadoras Macintosh y esto se considera su principal desventaja. Sin embargo, a pesar de que sólo cuenta con una pequeña parte del mercado, las computadoras Macintosh son la opción preferida de editores, desarrolladores de multimedia y artistas gráficos, por sus reconocidas capacidades de tratamiento gráfico. La versión actual se llama Mac OS System X (diez), el cual cuenta con cuatro versiones principales. La última versión es Mac OS X Panther, también conocida como versión 10.3.

UNIX para sistemas de escritorio

El SO UNIX se puede ejecutar en una amplia variedad de computadoras, desde laptops a supercomputadoras. A pesar de que UNIX no tiene un lugar importante en el mercado de los sistemas operativos de escritorio, gracias a su poder y atractivo para los ingenieros y

Page 7: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 7

9

otros usuarios de software CAD (Diseño Asistido con Computadora) y CAM, UNIX se utiliza en las estaciones de trabajo de alto poder.

UNIX se caracteriza por utilizar interfaz de línea de comandos, instrucciones difíciles y el hecho de que requiere de muchos comandos para hacer incluso tareas simples. Sin embargo, el poder y estabilidad de este SO son muy destacados.

Linux para sistemas de escritorio

A pesar de que Linux es considerado como un sistema operativo "freeware", se destaca por su poder, capacidades y amplio conjunto de características. Linux es un sistema operativo multitareas completamente de 32-bits y proporciona soporte para múltiples usuarios y procesadores. Linux se puede ejecutar en casi cualquier computadora y puede funcionar con casi cualquier tipo de aplicación. Utiliza una interfaz de línea de comandos, pero también existen entornos GUI basados en ventanas conocidos como shells.

La principal diferencia no técnica entre UNIX y Linux es el precio. Cualquier persona puede obtener una copia gratuita de Linux en Internet o en libros y revistas de computación. Las versiones comerciales de Linux, las cuales son poco costosas cuando se comparan con el precio de otros sistemas operativos, también se pueden adquirir dentro de una variedad de fabricantes que ofrecen el código de Linux gratuitamente y aplican cargos por las características adicionales, por ejemplo, las herramientas, la interfaz GUI y la documentación.

Por estas razones, Linux se ha vuelto un sistema operativo muy usado en muchos ambientes. Estudiantes y profesores han optado por Linux no sólo por sus avances técnicos , sino que también para participar en la comunidad global que se ha creado a partir de este sistema operativo. Esta comunidad invita a los usuarios de Linux y desarrolladores a contribuir con modificaciones y mejoras, además comparte de manera gratuita información acerca de Linux y asuntos relacionados. Aunque normalmente se considera a Linux como una plataforma de servidor, las empresas de software están generando aplicaciones para escritorio nuevas o modificando las que tienen para que puedan ser utilizadas en Linux.

2.1.8. Sistemas operativos de red (NOS Netware Operating System)

Un sistema operativo de red (NOS) está diseñado para trabajar en un servidor dedicado a proveer distintos servicios a otras computadoras de la red. Las otras computadoras se conocen como computadoras “cliente”, cada computadora que se conecta a un servidor de red debe ejecutar un software de cliente diseñado para solicitar un servicio especifico. Por ejemplo, si se conecta a un servidor para almacenar y recuperar archivos, la computadora debe contar con el software de cliente que le permite conectarse a ese servidor para ese propósito. Algunos de estos NOS más utilizados se enumeran a continuación: Windows NT Server, Windows 2000, Windows Server 2003, Netware de Novell, Unix para servidores, Linux para servidores

2.1.9. Sistemas operativos integrados

Un sistema operativo integrado es aquel que esta integrado en los circuitos de los dispositivos electrónicos, a diferencia de un sistema operativo para PC, el cual reside en un disco magnético. Los sistemas operativos integrados se encuentran actualmente en una amplia variedad de dispositivos, incluyendo aparatos domésticos, automóviles, lectores de códigos de barras, teléfonos celulares, equipos médicos, asistentes digitales personales (PDA). Los sistemas operativos integrados más utilizados son: Windows XP Embedded, Windows CE .NET, Palm OS, Pocket PC OS, Symbian.

2.2. Programas traductores Los programas traductores son metaprogramas que toman como entrada un programa escrito en lenguaje simbólico alejado de la máquina denominado programa fuente y proporcionan como salida otro programa equivalente escrito en un lenguaje comprensible

Page 8: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 8

9

por el hardware de la computadora denominado programa objeto. En algunos casos, un programa objeto necesita antes de su ejecución una pequeña preparación y la inclusión de rutinas del propio lenguaje. Esta preparación la realiza un programa que complementa al traductor, denominado montador, produciéndose finalmente un programa listo para ser ejecutado que se denomina programa ejecutable. En la siguiente figura podemos ver el esquema general del proceso de traducción de un programa fuente a un programa ejecutable. Existen tres tipos de programas traductores: los ensambladores, los compiladores y los intérpretes:

2.2.1. Programas ensambladores:

Convierten programas fuente escritos en lenguajes simbólicos de bajo nivel (denominados lenguajes ensambladores o assemblers), en programas objeto, escritos en lenguaje máquina y ejecutables directamente por el hardware de la computadora. La traducción del programa de usuario se efectúa de forma que cada instrucción en lenguaje fuente se transforma en una única instrucción en lenguaje objeto. Se puede decir que el lenguaje ensamblador es una simplificación simbólica del lenguaje máquina y el programa ensamblador es su traductor.

2.2.2. Programas compiladores:

Convierten programas fuente escritos en lenguaje simbólico de alto nivel en programas objeto escritos en lenguaje máquina. La traducción no suele ser directa, apareciendo un paso intermedio situado en un nivel similar al de ensamblador. Una característica fundamental de este tipo de traductores es que se realiza la traducción completa, y en el caso de no existir errores se pasa a la creación del programa objeto. La traducción del programa fuente se efectúa, además, de forma que cada instrucción del programa fuente se transforma en una o más instrucciones en el programa objeto.

2.2.3. Programas intérpretes:

Convierten programas fuente escritos en lenguaje de alto nivel en programas objeto escritos en lenguaje máquina. En estos programas intérpretes la traducción se realiza de forma que después de transformar una instrucción del programa fuente en una o varias instrucciones en lenguaje máquina no esperan a traducir la siguiente instrucción, sino que inmediatamente la ejecutan.

3. Software de aplicaciones

El software de aplicación desvía el enfoque de las computadora hacia las personas, porque está diseñado para ayudar a los usuarios a ser productivos, por esto este tipo de programas se conoce también como “software de productividad”. Existen tantos tipos distintos de software de aplicación como tareas diferentes que se pueden realizar en una PC.

3.1. Software Estándar y Software a Medida

En los inicios de la Informática, y durante bastante tiempo, se diseñaba de forma específica y aislada todo el software que necesitaba cualquier entidad o empresa para cada actividad concreta que se debía realizar con una computadora. Solamente las grandes organizaciones tenían la capacidad, el personal y las grandes computadoras (mainframes) necesarios para

Programa fuente

Traductor

Programa objeto

Programa objeto

Montador

Prog. ejecutable

Page 9: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 9

9

poder diseñar y disponer de estas aplicaciones, entre las cuales, se encuentran aplicaciones contables, financieras, estadísticas, control de inventarios, nóminas y otras muy diversas.

Con el avance y desarrollo de las tecnologías de la información se han identificado algunas de estas aplicaciones de uso común en la mayoría de las organizaciones, como son el proceso de texto, hojas de cálculo, gráficos estadísticos, etc., de manera tal que los fabricantes han diseñado y puesto en el mercado aplicaciones para ser utilizadas por un gran número de usuarios y en diferentes sistemas. A estas aplicaciones de uso general se denomina software estándar, es decir, a aquellos programas que se pueden adquirir normalmente en establecimientos del ramo, dispuestos para su uso inmediato en una gran variedad de sistemas, sin necesitar la intervención de personal informático.

3.2. Aplicaciones estándar Es muy numerosa la gama de aplicaciones estándar existentes en el mercado cubriendo una gran cantidad de actividades, desde juegos hasta sistemas de contabilidad y gestión de pequeñas y medianas empresas. En general, los programas se comercializan en disquetes o CDROM, acompañados de un Manual de Usuario y una Guía de Referencia, junto con un contrato de protección legal del copyright, de tal manera que un usuario no especializado en Informática puede instalarlas en su computadora. Dentro de los programas que se compran se pueden distinguir los siguientes tipos:

3.2.1. Software comercial En esta categoría caen los programas que hay que pagar de alguna manera y pueden ser:

- Programas independientes: Corresponde a las aplicaciones que hacen una sólo tipo de tareas, por ejemplo, un programa de retoque fotográfico.

- Suite o “paquetes” de software: Programas de uso frecuentes, por ejemplo, procesadores de texto, planillas de cálculo, etc., se agrupan y se venden como “suite de software”. Ejemplos: Office de Microsoft, suite Corel para tratamiento de imágenes.

- Programas shareware: Generalmente corresponde a herramientas específicas que se compran por una pequeña suma de dinero para que el usuario pueda probarlo. En este caso, el software se habilita una cierta cantidad de días y luego requiere su registración.

3.2.2. Software Freeware y software de dominio público Un software freeware es cualquier programa que se pone a disposición de los usuarios en forma gratuita. Es decir, el usuario no lo paga para usar pero no es dueño del software. Tanto en el caso de software shareware y freeware, el autor original mantiene un interés de propiedad sobre el producto, por lo tanto quien lo utiliza debe aceptar los términos de una licencia que prohíbe que se hagan cambios al programa o venderlo a otra persona. En el caso del software de dominio público, el código fuente es gratuito y se puede utilizar para cualquier propósito y cualquier persona.

3.2.3. Software de código abierto (open source) Es un software de cualquier tipo cuyo código fuente está disponible para los usuarios en forma editable, así como las distintas bibliotecas de desarrollo que se utilizan. Los usuarios u otros desarrolladores de software pueden modificar este código y personalizarlo siguiendo los lineamientos dados por el autor original. Este tipo de software se puede ofrecer en forma comercial o gratuita. Ejemplo, OpenOffice.org es una suite de aplicaciones de código abierto.

3.2.4. Software de Ofimática: El software estándar más difundido está compuesto por aplicaciones del área de la Ofimática (programas orientados a la gestión de datos en las oficinas), tales como:

• Procesador de textos

• Hoja electrónica de cálculo

Page 10: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 10

9

• Programas de presentación

• Gestor de base de datos

• Programas para la planificación de proyectos

• Programas para la realización de gráficos

3.3. El software a medida

Esta categoría de software queda constituido por las aplicaciones específicas que por corresponder a actividades más especializadas es necesario encargar a los profesionales del software, como puede ser un sistema de control de tráfico o un sistema de monitorización de pacientes en un hospital. Este tipo de software es más caro pues está dirigido a un solo cliente.

4. Desarrollo o creación de software Cualquiera sea la categoría del software, para la creación del mismo se requiere que un programador codifique las instrucciones que representan la solución o programa que automatizará el procesamiento de los datos de un determinado problema para lograr un resultado determinado. Por ejemplo: la gestión contable de un empresa, un monitor cardíaco, un video juego. Repasaremos el conceptos de programa y algunas de las extensiones más usuales de archivos de programas.

4.1. Qué es un programa de computadora?

Un programa de cómputo es un conjunto de instrucciones o declaraciones (también conocidas como código) que debe realizar la CPU de una computadora.

Los programas, o software, toman distintas formas. Hemos visto que los programas se pueden dividir en tres categorías principales: sistemas operativos, herramientas y aplicaciones.

Un programa normalmente esta compuesto de un módulo principal y submódulos. Estos módulos están almacenados como un conjunto de archivos; los programas grandes pueden contener miles de archivos individuales, cada uno para un propósito especifico. Algunos de los archivos contienen instrucciones para la computadora mientras que otros archivos contienen datos.

Para las PC basadas en Windows, algunas extensiones comunes para los archivos de programas son las siguientes:

• Archivos ejecutables. Un archivo ejecutable (.exe, .com) contiene los comandos que se envían al procesador. De hecho, cuando ejecutamos un programa, ejecutamos el archivo ejecutable. Los archivos ejecutables normalmente (pero no siempre) tienen la extensión .exe.

• Archivos de biblioteca dinámica de vinculos. Un archivo de biblioteca dinámica de vínculos (.dll) es un archivo .exe parcial. Un archivo .dll no puede ejecutarse por si mismo; sus comandos son accedidos por otro programa que esta ejecutándose. Se utilizan para dividir programas grandes en componentes pequeños que son reemplazables. Permiten que el programa completo sea más fácil de actualizar. LOs archivos .dll pueden ser compartidos por distintos programas al mismo tiempo.

• Archivos de inicialización. Un archivo de inicialización (.ini) contiene información sobre configuraciones, por ejemplo, el tamaño y punto de inicio de una ventana, el color del fondo, el nombre del usuario y otros aspectos. Contienen información que los programas pueden utilizar cuando se ejecutan.

• Archivos de ayuda. Un archivo de ayuda (.hlp, .chm) contiene información en formato indexado y con vínculos cruzados. Se utilizan para proporcionar al usuario información de ayuda en línea.

Page 11: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 11

9

4.2. Codificación de programas

El término código se refiere a las declaraciones escritas en cualquier lenguaje de programación, por ejemplo, en Java, Visual Basic ó Pascal. Hemos visto en el tema 2 que las computadoras operan en binario, por lo tanto, las instrucciones de un programa también estarán en binario. El lenguaje de programación se utiliza para escribir las instrucciones a la computadora que luego serán traducidas al código de máquina.

La codificación puede ser una tarea tediosa pero también muy emocionante. Es tediosa porque los lenguajes de programación, al igual que los idiomas, tienen un conjunto de reglas obligatorias. Si las personas cometen errores de gramaticales igual pueden comunicarse con las personas, sin embargo, esto no ocurre con el código. Para que pueda ejecutarse debe estar libre de errores de sintaxis.

Por otra parte, la programación puede ser emocionante porque es una tarea creativa e implica siempre el desafío de resolver un problema. El problema puede ser tan simple como calcular un valor o tan complejo como determinar la ruta de un satélite en órbita.

4.3. Metodologías de Programación Cuando un programador escribe un programa primero realiza un diseño de la solución, mediante un diagrama de flujo o un seudocódigo. Luego debe escribir las instrucciones en un lenguaje de programación, para ello puede seguir algunas de las metodologías más comunes, como son la “programación estructurada” o la “programación orientada a objetos”. Existen otros métodos o “paradigmas”, pero estos dos son los más utilizados:

4.3.1. Programación estructurada Esta metodología de programación surgió en los años 70. El nombre se refiere a la práctica de crear programas utilizando módulos pequeños que son fáciles de leer y entender. Las prácticas de la programación estructurada se pueden utilizar con cualquier lenguaje de programación. Existen tres estructuras de control:

- La estructura secuencial define el flujo de control predeterminado de un programa. Ejecuta líneas de código en el orden en que fueron escritas.

- Las estructuras de selección utilizan construcciones de un flujo de programa especial llamadas declaraciones condicionales. Una declaración condicional es una prueba que determinará lo que hará a continuación el programa. Cuando el programa toma una decisión utilizando una declaración condicional, el flujo del programa frecuentemente se dirige en una de dos direcciones distintas.

- Las estructuras de repetición (ó estructuras de ciclo) están basadas en construcciones llamadas bucles. Un bucle es un fragmento de código que se repite una y otra vez hasta que se cumpla la condición de salida del bucle.

Las estructuras mencionadas se visualizan en la siguiente imagen:

Page 12: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 12

9

4.3.2. Programación orientada a objetos

Los conceptos de la programación orientada a objetos, como por ejemplo, objetos y clases, pueden parecer abstractos al principio, pero para muchos programadores, la POO (programación orientada a objetos) ofrece una manera intuitiva de modelar el mundo. Las ventajas se traducen en programas más sencillos, una programación más rápida y reducción de las tareas de mantenimiento. Concepto de Objeto

Si miramos alrededor nuestro podemos ver que estamos rodeados de objetos: libros, computadora, plantas, etc. En general, percibimos los objetos como una unidad (por ejemplo un auto), sin tener en cuenta los asientos, volante, etc.

Pero, si tuviéramos que describir el objeto auto a otra persona, seguramente comenzaríamos describiendo sus atributos, por ejemplo, el color, tamaño, forma, velocidad y otros aspectos. Un atributo describe las características de un objeto. También podría decir lo que el auto puede hacer, es decir describir sus funciones. Por ejemplo, se mueve hacia delante, en reversa, abre las ventanas, y otras funciones. En conjunto, las funciones y los atributos definen al objeto.

En la POO, todos los objetos tienen atributos y funciones que pueden encapsular (contener) otros objetos. Por ejemplo, el sistema de tracción, incluye un motor, transmisión, eje delantero y trasero. De manera que un objeto puede ser una unidad entera o un componente de otros objetos. La siguiente figura muestra un objeto auto, con atributos, funciones y otros objetos encapsulados.

En un programa se definen los objetos, que representan datos, y se definen las acciones ó métodos entre ellos para obtener los resultados deseados.

5. Lenguajes de programación

Un lenguaje de programación es una notación para escribir programas, permiten la comunicación con el hardware y dar así las órdenes adecuadas para la realización de un determinado proceso. Un lenguaje está definido por una gramática o conjunto de reglas que se aplican a un alfabeto constituido por el conjunto de símbolos utilizados.

Actualmente, los programadores pueden elegir entre muchas herramientas de desarrollo que difieren en capacidad, flexibilidad y facilidad de uso. Sin embargo, a pesar de sus diferencias, la mayoría de los lenguajes de programación comparten una característica: cada lenguaje de programación requiere que el programador siga un conjunto de reglas muy estrictas. En general, los lenguajes de programación requieren que los desarrolladores:

- Proporcionen información en un orden y estructura específicos

- Utilicen símbolos especiales

- Utilicen puntuaciones (en algunos casos)

Estas reglas se conocen como la sintaxis del lenguaje de programación y pueden variar de un lenguaje a otro.

Page 13: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 13

9

Ejemplo de código en el lenguaje C: If (d > 15)

{

Do

{

d--;

} while (d > 1);

}

5.1. Clasificación de los lenguajes de programación

Cientos de lenguajes de programación se usan en todo el mundo. Algunos son altamente especializados y se usan solamente en una rama de la ciencia o la industria, mientras que otros son bien conocidos y se utilizan en muchos lugares. Algunos lenguajes son obsoletos y únicamente se utilizan para mantener los sistemas más viejos, mientras que otros son tan nuevos que muchos programadores no lo conocen.

Debido a esta diversidad se pueden establecer distintos criterios para clasificar los lenguajes de programación. Sin embargo, los lenguajes de programación se agrupan normalmente de acuerdo a su historia evolutiva, en tres categorías o niveles.

El nivel hace referencia a lo próxima que la forma de expresar las sentencias esté al hombre (o sea, al lenguaje natural), o a la máquina (el lenguaje de unos y ceros de los circuitos electrónicos).

• Lenguajes de bajo nivel (máquina)

• Lenguajes intermedios (ensambladores)

• Lenguajes de alto nivel (evolucionados)

5.1.1. Lenguaje máquina El lenguaje máquina es el único que entiende directamente la computadora. Utiliza el alfabeto binario, que consta de los dos únicos símbolos 0 y 1, denominados bits (abrevia-tura inglesa de dígitos binarios). Fue el primer lenguaje utilizado en la programación de computadoras, pero dejó de utilizarse por su dificultad y complicación, siendo sustituido por otros lenguajes más fáciles de aprender y utilizar, que además reducen la posibilidad de cometer errores. Generalmente, en la codificación de los programas, se empleaba el sistema hexadecimal para simplificar el trabajo de escritura. Ejemplo: Instrucciones en lenguaje máquina y sus equivalentes en sistema hexadecimal.

5.1.2. Lenguaje ensamblador El lenguaje ensamblador es el primer intento de sustituir el lenguaje máquina por otro más fácil de usar por las personas. En este lenguaje cada instrucción equivale a una instrucción en lenguaje máquina, utilizando para su escritura palabras mnemotécnicas en lugar de cadenas de bits. Ejemplo: Instrucciones en lenguaje ensamblador:

0000 0001 1010 0001 01 Al

1000 1001 1001 1010 89 9A

0011 1010 1001 1100 3A 9C

INICIO: ADD B, 1

MOV A, B

CMP A, E

JE FIN

JMP INICIO

FIN: END

Page 14: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 14

9

Este lenguaje presenta la mayoría de los inconvenientes del lenguaje máquina:

• Cada modelo de computadora tiene un lenguaje ensamblador propio diferente de los demás, por lo cual un programa sólo puede utilizarse en la máquina para la que se programó.

• El programador tiene que conocer perfectamente el hardware del equipo, ya que maneja directamente las posiciones de memoria, registros del procesador y demás elementos físicos.

• Todas las instrucciones son elementales, es decir, en el programa se deben describir con el máximo detalle todas las operaciones que se han de efectuar en la máquina para la realización de cualquier proceso.

Por otro lado, tanto el lenguaje máquina como el ensamblador tienen la ventaja de mínima ocupación de memoria y mínimo tiempo de ejecución en comparación con el resultado de la compilación del programa equivalente escrito en otros lenguajes.

5.1.3. Lenguajes de alto nivel Los lenguajes de alto nivel, también denominados lenguajes evolucionados, fueron diseñados para que la programación sea más sencilla. Se llaman de alto nivel porque la sintaxis requerida es más parecida al idioma humano que al de la máquina. Además, persiguen otros objetivos, entre otros: 1. Lograr independencia de la máquina, pudiendo utilizar un mismo programa en diferentes

equipos con la única condición de disponer de un programa traductor o compilador que permita obtener el programa ejecutable en lenguaje binario de la máquina que se trate.

2. Aproximarse al lenguaje natural, para que el programa se pueda escribir y leer de una forma más sencilla.

3. Incluir rutinas de uso frecuente, como las de entrada/salida, funciones matemáticas, manejo de tablas, etc., que figuran en una especie de librería del lenguaje, de manera que se puedan utilizar siempre que se quiera sin necesidad de programarlas cada vez.

5.2. Generaciones de lenguajes de programación Los lenguajes de programación son discutidos con frecuencia, en término de generaciones. Las últimas generaciones incluyen lenguajes que son más fáciles de usar y más poderosos. Atendiendo a esta clasificación, los lenguajes de máquina o de bajo nivel, corresponden a la primera generación y los ensambladores a la segunda generación. Los lenguajes de alto nivel comenzaron con la tercera generación:

5.2.1. Lenguajes de tercera generación (3GL):

Los lenguajes de tercera generación hacen que sea más fácil escribir programas y permiten que los programadores compartan el desarrollo.

Algunos lenguajes de tercera generación y sus características son:

C: En un lenguaje poderoso que produce código rápido y eficiente. Es de propósito general, es decir, capaz de resolver cualquier tipo de problema. Es muy usado entre los desarrolladores profesionales.

C++: Es la implementación orientada a objetos de C, mantiene su característica de poderoso y eficiente. Es utilizado por las empresas desarrolladoras de software.

Java: Es un entorno de programación orientado a objetos para crear programas que funcionen en distintas plataformas. Nación como un entorno de programación para Internet, con facilidades para crear programas interactivos y dinámicos para páginas Web, denominados Applets. Luego se extendió a programas que no se ejecutaran en un navegador.

ActiveX: La respuesta de Microsoft a Java fue ActiveX. El código de ActiveX crea funciones autocontenidas similares a los applets de Java, que pueden ser accedidas y ejecutadas por cualquier otro programa compatible con ActiveX.

Page 15: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 15

9

5.2.2. Lenguajes de cuarta generación (4GL):

Los lenguajes de cuarta generación son más fáciles de usar que los de tercera generación. Puede presentarse como entorno de texto o entorno visual.

En un entorno de texto, el programador utiliza palabras del idioma inglés para generar el código, normalmente una sola declaración de un lenguaje 4GL puede realizar las mismas tareas que varias líneas de un lenguaje 3GL.

En un entorno visual 4GL, el programador utiliza barras de herramientas para arrastrar y soltar distintos elementos como, por ejemplo, botones, etiquetas y cuadros de texto con el fin de crear una definición visual de una aplicación (por ejemplo, el diseño de la pantalla que se ofrece al usuario). Una vez realizado este diseño, el programador puede asignar acciones a los objetos de la pantalla. Por ejemplo, puede colocar un botón en la pantalla y asignarle la acción “abrir tabla de clientes”.

La mayoría de los 3GL y 4GL, permiten que el programador trabaje en un entorno de desarrollo integrado o IDE (por sus siglas en inglés). Los IDE ofrecen todas las herramientas necesarias para desarrollar aplicaciones. Visual Studio de Microsoft y Java Studio de Sun, son dos IDE profesionales.

Entre los lenguajes de cuarta generación se incluyen:

.NET: es el nuevo producto de Microsoft en el mundo de la programación. Combina varios lenguajes de programación en un IDE. Los lenguajes incluidos son: Visual Basic, c++, C# y J#. Este entorno permite escribir programas para Windows, para la Web y para Pocket PC (versión de Windows para PDAs).

Entornos de autoría: Son herramientas de programación de propósitos especiales para crear aplicaciones multimedia, programas de capacitación por computadora, páginas Web y otras aplicaciones. Un ejemplo es el programa Macromedia Director que utiliza el lenguaje de secuencia de comandos Lingo. Permite crear productos multimedia combinando clips musicales, texto, animación, imágenes y otros elementos.

Los programas que se utilizan para crear páginas Web caen en esta categoría: Microsoft Frontpage, Netscape Visual JavaScript, etc.

5.2.3. Lenguajes de quinta generación: Los expertos no están de acuerdo en la definición de esta generación, algunos consideran que los entornos de autoría más avanzados caerían en esta categoría. Otros consideran que un 5GL debería utilizar técnicas de inteligencia artificial.

5.3. Lenguajes de desarrollo de la WWW (Word Wide Web)

Pocos componentes tecnológicos han afectado la cultura como Internet y la WWW, como veremos el tema siguiente en esta materia. Internet ha evolucionado de mensajes simples a sitios Web complejos, visuales e interactivos. De la misma manera, las herramientas de desarrollo que se relacionan con la Web han evolucionado en poder y capacidades. Por tanto, al hablar de programación y desarrollo, hay tener en cuenta estas herramientas:

5.3.1. Lenguaje de marcación de hipertexto (HTML).

Se utiliza para crear documentos para la Web. La estructura de una página Web utiliza atributos y etiquetas. Las etiquetas proporcionan vínculos otra parte del documento o a otro documento. Permiten también insertar imágenes y otros elementos multimedia. En realidad por la simplicidad del HTML no se lo considera un lenguaje de programación.

Otras herramientas de desarrollo para la Web son: Dreamweaver, Flash, Director, todos de la empresa Macromedia.

Page 16: Facultad de Ciencias Exactas y Naturales y Agrimensura - Softwareexa.unne.edu.ar/informatica/introduccion/public_html/... · 2015-03-20 · • Carga los programas (por un ejemplo,

Introducción a la Informática 2009 Tema

Licenciatura en Sistemas de Información –FACENA-UNNE Pág. 16

9

5.3.2. Lenguajes de secuencias de comandos

HTML crea páginas Web con mucho atractivo visual pero de tipo estáticas. Esto quiere decir, que su contenido no se modifica. Es apropiada para documentos que no cambian casi nunca, por ejemplo, la información institucional de una empresa u organización. Pero, si la página Web tiene que mostrar, por ejemplo, la temperatura de la ciudad, no puede ser estática. Para visualizar estos valores cambiantes se utilizan los lenguajes de secuencia de comandos.

Existen distintos lenguajes de secuencia de comandos para la Web. Estos lenguajes tienen la capacidad de crear páginas Web dinámicas. Las páginas dinámicas pueden cambiar de acuerdo con la información que proporcionan al usuario. En los sitios de venta de productos, un lenguaje de secuencia de comandos lee una base de datos para desplegar los productos.

Entre estas herramientas se encuentran:

- JavaScript: Está diseñado para trabajar dentro del HTML. Permite la verificación de páginas, animaciones sencillas y cálculos.

- Páginas de Active Server (ASP): Es el producto de Microsoft para páginas Web dinámicas. ASP se basa en Visual Basic y es particularmente apropiado para bases de datos Microsoft. Funciona sólo en servidores Windows. La versión actual es ASP.NET.

- Preprocesador de hipertexto (PHP): Se ejecuta en servidores UNIX/Linux ó Windows. PHP es adecuado para acceder a bases de datos Oracle o MySQL. El compilador y el software se ofrecen como open source, lo cual hace que su uso sea gratuito.

5.4. Paradigmas de programación Un paradigma de programación es una colección de modelos conceptuales que modelan el proceso de diseño y determinan la estructura de un programa. Esa estructura conceptual de modelos está pensada de forma que esos modelos determinan la forma correcta de los programas y controlan el modo en que se formulan las soluciones. Para que este proceso sea efectivo las características del lenguaje deben reflejar adecuadamente los modelos conceptuales de ese paradigma. Cuando un lenguaje refleja bien un paradigma particular, se dice que soporta el paradigma.

5.4.1. Tipos de paradigmas Se agrupan en tres categorías de acuerdo con la solución que aportan para resolver el problema:

5.4.1.1. Lenguajes imperativos o procedurales:

Utilizan instrucciones como unidad de trabajo de los programas (COBOL, PASCAL, C, ADA). La mayoría de los lenguajes son de este tipo.

5.4.1.2. Lenguajes funcionales o lógicos:

Basados en la definición de funciones o relaciones. No utilizan instrucciones de asignación (sus variables no almacenan valores). Los programas están formados por una serie de definiciones de funciones (Lenguajes funcionales, como LISP) o de predicados ó expresiones lógicas (Lenguajes de programación lógica, como PROLOG).

5.4.1.3. Lenguajes orientados a objetos.

Los programas se descomponen en objetos que implementan parte del sistema encapsulando los datos que almacenan su estado junto con los métodos que se utilizan para acceder a ellos. De este modo, las distintas partes del programa son menos dependiente entre sí, lo que facilita el mantenimiento de las aplicaciones. (Lenguajes SMALLTALK, C++, Java).