1. Historia del software en computación aplicado a la informática educativa. 57
3. Evolución general
del software.
3.1. Introducción.[30][31][7][32]
Al principio, y como hemos visto anteriormente en las diferentes máquinas de
calcular, el software no tuvo demasiada importancia. Los computadores eran grandes,
caros y complejos, y el trabajo se desarrollaba con unos pocos programas. Sin embargo
hoy en día tiene más peso específico el software que el hardware, pues sin el software
el hardware quedaría inutilizado. Podemos decir que el software es la parte lógica de
un sistema informático con un conjunto de elementos lógicos que realizan las tareas
que se le manda. Todo elemento lógico se debe almacenar en un elemento físico,
siendo los soportes de las computadoras la memoria central y las memorias auxiliares.
El software asegura que el programa o sistema cumpla por completo con sus objetivos,
opere con eficiencia, este adecuadamente documentado, y sea suficientemente
sencillo de operar. Dicho de otro modo, el software nos ayuda a las personas a resolver
cierto tipo de problemas, nosotros se los contamos y ésta nos ofrece diversas
soluciones.
Como hemos dicho el software es distinto al hardware pues el primero es la parte
lógica y el segundo la parte física, sin embargo el software actual ha evolucionado a
partir de las placas base y otros dispositivos utilizados por otras computadoras como la
ENIAC. El matemático John von Neuman (1903-1957), en 1945 escribió un informe en
el que proponía que las instrucciones de cualquier programa se podían almacenar en la
memoria junto con los datos. Cada computadora creada desde entonces se ha basado
en el concepto de programa almacenado. Éste concepto estableció la industria del
software. Los programadores de hoy en día escriben programas en lugar de cambiar
interruptores o parchear cables introduciéndolos después en la memoria del
ordenador a través de teclados u otro dispositivo de entrada. Estos programas forman
el software de la máquina. He hablado de programa, a continuación voy a definirlo
más formalmente:
En la RAE hay diferentes definiciones de programa, pero nos quedamos con la
que nos interesa relacionada con el ámbito informático, un programa es un " conjunto
Daniel Merchán López. 2013
2. 58 Historia del software en computación aplicado a la informática educativa.
unitario de instrucciones que permite a un ordenador realizar funciones diversas, como
el tratamiento de textos, el diseño de gráficos, la resolución de problemas
matemáticos, el manejo de bancos de datos, etc." [33].
No se puede definir software formalmente de una sola manera, a continuación
expondremos varias definiciones de él:
La RAE define el software como el "conjunto de programas, instrucciones y
reglas informáticas para ejecutar ciertas tareas en una computadora" [3].
Según el estándar 729 del IEEE el software se puede definir como "el conjunto
de los programas de cómputo, procedimientos, reglas, documentación y datos
asociados que forman parte de las operaciones de un sistema de computación" [34].
Centrándonos en la definición del IEEE, el software no se limita únicamente a los
programas de computación en sus distintos estados: código fuente, binario o
ejecutable; hay que incluir su documentación, los datos que tenemos que procesar e
incluso la información de usuario, es decir, el software abarca todo lo intangible, o
dicho de otra manera todo lo que no es físico.
El término software fue utilizado por primera vez por John W. Tukey (1915-2000) en
1957. En la ingeniería de software y las ciencias de la computación, el software es toda
la información procesada por los sistemas informáticos: programas y datos. El
concepto de leer diferentes secuencias de instrucciones desde la memoria de un
dispositivo para controlar los cálculos fue introducido por Charles Babbage como parte
de su máquina diferencial. La teoría que forma la base de la mayor parte del software
moderno fue propuesta por Alan Turing en su ensayo de 1936, «Los números
computables», con una aplicación al problema de decisión.
Pero como podemos suponer, no todo el software es igual. Hay diferentes categorías
o tipos que se diferencian mucho entre sí (Fig. 35). Hay tres tipos más importantes y
que sin ellos las personas no podría utilizar las computadoras. Estamos hablando de
software de control, software de aplicación y los lenguajes de programación.
El software de Control o sistema de explotación es el software que controla el
funcionamiento de los programas que se ejecutan, y a la vez administra los
recursos del hardware, facilitando el uso del ordenador de una forma eficiente.
Dentro de este apartado se incluye el sistema operativo, el intérprete del
lenguaje de control, y el software de diagnóstico y mantenimiento.
Los programas de ampliación, o también llamado software de aplicación, es el
software diseñado y escrito para realizar una tarea específica, ya sea personal,
o de procesamiento. Aquí se incluyen las bases de datos, tratamientos de
textos, hojas electrónicas, gráficas, comunicaciones, etc. En este apartado se
incluyen los propios programas realizados por los usuarios. Hay paquetes
Daniel Merchán López. 2013
3. Historia del software en computación aplicado a la informática educativa. 59
comerciales que incluyen de forma integrada la mayoría de las aplicaciones
citadas anteriormente, que se suelen denominar paquetes integrados (distintas
aplicaciones o utilidades que se diseñan para lograr un objetivo y una filosofía
de utilidad común) de ofimática o suites de ofimáticas, aunque el ámbito de
uso de las mismas supera con creces el ámbito de la gestión administrativa. Un
ejemplo de paquete integrado es Microsoft Office, OpenOficce o LibreOffice.
Existe una cooperación entre los distintos módulos, es decir, dentro de una
aplicación se puede llamar a otra, para conseguir un fin compartido.
Por último, los lenguajes de programación son las herramientas empleadas por
el usuario para desarrollar programas, que después ejecutará el ordenador.
Estos lenguajes se utilizan para crear programas que controlen el
comportamiento físico y lógico de una máquina, expresar algoritmos con
precisión, o como modo de comunicación humana. Generalmente están
formados por un conjunto de símbolos, reglas sintácticas y reglas semánticas
que definen su estructura, el significado de sus elementos y de sus
expresiones. Los programas siempre siguen el mismo proceso, se escribe, se
prueba, se depura, se compila y se mantiene el código fuente de un programa
informático. A este proceso se le llama programación.
Fig. 35. Tipos de software.
Daniel Merchán López. 2013
4. 60 Historia del software en computación aplicado a la informática educativa.
Hoy en día hay software creado para la gestión económica, la esfera militar, las
investigaciones, el entrenamiento, la salud, la educación y otros muchos campos de
aplicación. Sin embargo, se ha logrado alcanzar una alta relevancia en la educación,
teniendo en cuenta, precisamente, el inmenso volumen de información de que
dispone el hombre en los momentos actuales y los propios factores que han motivado
una masividad en el uso de esta tecnología.
3.2. El software de Control.[7][30]
Como hemos dicho anteriormente, hay tres tipos de software de control: el
sistema operativo, el intérprete del lenguaje de control, y el software de diagnóstico y
mantenimiento.
El software de diagnóstico y mantenimiento está formado por los programas que
utilizan las personas responsables del mantenimiento e instalación del software y del
hardware del computador. Estos programas sirven para localizar automáticamente las
averías de un determinado dispositivo o componente, o las causas de un mal
funcionamiento de algún modulo del sistema operativo. Los programas de
mantenimiento los utilizamos para instalar un nuevo sistema operativo, versiones
mejoradas del mismo o para modificarlo y realizar cambios en el hardware. Este tipo
de programas se presentan en ventanas de menús o dialogo, a través de las cuales se
especifican los parámetros deseados por el correcto funcionamiento del sistema
operativo, y las características del hardware concreto de que dispone el computador.
El intérprete del lenguaje de control se dedica a coordinar el funcionamiento de todos
los recursos y elementos del ordenador, es decir, la información, las operaciones de
entrada/salida, la memoria, el procesador...; resumiendo, todo el entorno del sistema.
Este programa traduce las órdenes que introducen los usuarios, por medio de un
conjunto de instrucciones facilitadas por él mismo directamente al núcleo o kernel y al
conjunto de herramientas que forman el sistema operativo. Las instrucciones estas
divididas en grupos. Cada grupo está destinado a tareas diferentes. Uno de ellos
engloba la gestión del procesador, se encarga de preparar los programas del usuario
para ejecutarlos y asignar los tiempos en el procesador. También asigna los periféricos
cuando estos son solicitados por cualquier programa y relanzan los programas cuando
hay alguna interrupción. Otro grupo de instrucciones gestionan la memoria; asignan y
controlan el almacenamiento en la memoria interna y externa de la computadora
porque es un recurso escaso. Por último, gestionan la entrada/salida de los distintos
dispositivos.
Daniel Merchán López. 2013
5. Historia del software en computación aplicado a la informática educativa. 61
3.2.1. El sistema operativo.[32][35][36][37][38]
El sistema operativo es el software que controla la ejecución de todas las
aplicaciones y de los programas de software de sistema, es un programa que controla
la ejecución de los programas de aplicación y actúa como interfaz entre las
aplicaciones del usuario y el hardware de un computador.
Puede considerarse que un sistema operativo tiene tres objetivos, estos son:
comodidad, eficiencia y capacidad de evolución. La comodidad porque un sistema
operativo hace que un computador sea más cómodo de utilizar; la eficiencia, porque
un sistema operativo permite que los recursos de un sistema informático se
aprovechen de una manera más eficiente; y la capacidad de evolución porque un
sistema operativo debe construirse de modo que permita el desarrollo efectivo, la
verificación y la introducción de nuevas funciones en el sistema y, a la vez, no interferir
en los servicios que brinda.
Fig. 36. Funciones del sistema operativo.
Estructura de los sistemas operativos.
Un sistema operativo es un sistema grande y complejo compuesto por una
serie de componentes con funciones definidas. Dependiendo del sistema operativo
que sea estructurará estos componentes de una manera u otra. Hay dos grandes
grupos; los sistemas operativos monolíticos y los sistemas operativos estructurados.
Daniel Merchán López. 2013
6. 62 Historia del software en computación aplicado a la informática educativa.
Sistemas operativos monolíticos.
Un sistema operativo monolítico no tiene estructura. Todos sus componentes
están integrados en un único programa que ejecuta en un único espacio de
direcciones. Dicho de otro modo, el sistema operativo se escribe como un conjunto de
procedimientos, cada uno de ellos puede invocar a otro cuando lo necesite.
Cuando se quiere construir un programa, primero se deben compilar los
procedimientos individuales y después se vinculan en un solo archivo objeto usando el
linker del sistema. En éstos sistemas no hay ocultación de la información pues cada
procedimiento puede ser visto por los demás. Para solucionar este problema se dota
de una cierta estructura aunque anteriormente decía que no había. Las llamadas al
sistema proporcionadas por el sistema operativo se solicitan colocando los parámetros
en lugares definidos, y ejecutando después una instrucción de trampa especial
conocida como llamada al kernel o llamada al supervisor.
Estos sistemas han surgido de otros más pequeños y sencillos a los que se le añaden
funcionalidades. El problema de ello es que todas estas funcionalidades están al mismo
nivel. También es muy complicado modificar el sistema para añadir nuevas
funcionalidades, pues modificar una característica conlleva modificar un gran
programa compuesto por miles de líneas de código fuente y funciones. Dos sistemas
operativos de este tipo son MS-DOS y UNIX.
Sistemas operativos estructurados.
Hay dos tipos de sistemas estructurados; los sistemas por capas y los sistemas cliente-
servidor.
Sistemas por capas.
En este sistema el sistema operativo se organiza por capas de manera jerárquica, pues
cada una se construye sobre
la que está abajo de ella,
utilizando sus servicios y con
una interfaz clara y bien
definida. Su principal
ventaja es la modularidad y
la ocultación de la
información
Fig. 37. Sistema por capas del
sistema operativo THE.
Daniel Merchán López. 2013
7. Historia del software en computación aplicado a la informática educativa. 63
Una capa no necesita saber cómo se ha implementado la capa sobre la que está
construida, sino la interfaz que ofrece. Esto facilita la depuración verificación del
sistema, por lo tanto la capas se pueden ir construyendo y depurando de manera
independiente.
El primer sistema operativo que tuvo esta estructura fue el sistema THE construido en
la Technische Hogeschool Eindhoven de los países bajos por E.W. Dijkstra en 1968 y
sus estudiantes. Estaba formado por seis capas como podemos ver en la figura 37. Era
un sistema sencillo por lotes para la computadora holandesa Electrológica X8, que
tenía 32K de palabras de 27 bits.
La capa 0 se ocupaba del reparto del procesador, conmutando entre procesos cuando
ocurrían interrupciones. Las siguientes capas del sistema estaban compuestas por
procesos secuenciales independientes, pues cada uno de los cuales podían
programarse sin preocuparse por el resto. Esta capa se ocupaba de la
multiprogramación de la UCP.
La capa 1 repartía la memoria. Distribuía los espacios para la memoria principal y un
tambor de 512 palabras que se utilizaba para contener las diferentes partes de los
procesos que no cogían en la memoria principal. Sobre esta capa los procesos no
tenían que preocuparse de si estaban en la memoria o el tambor. La capa 2 manejaba
la comunicación entre cada proceso y la consola del operador. La capa 3 administraba
los dispositivos de E/S y colocaba en buffers las corrientes de información que tenían.
En la capa 4 se encontraban los programas de usuario y en la última capa se
encontraba el operador del sistema.
Otro ejemplo de sistema operativo por capas fue el OS/2, descendiente del MS-DOS.
Sistemas cliente servidor.
Fig. 38. Sistema cliente/servidor.
En este sistema la mayoría de los servicios y funciones del sistema están
implementados en procesos de usuario, dejando una parte pequeña del sistema para
que se ejecute en modo núcleo. Como podemos ver en la figura 38, el sistema
operativo está formado por varias partes y cada una se puede desarrollar por
Daniel Merchán López. 2013
8. 64 Historia del software en computación aplicado a la informática educativa.
separado. Aparte de esto, y como todos los servidores se ejecutan como procesos de
modo usuario, no tienen acceso directo al hardware. El trabajo el núcleo es manejar la
comunicación entre los clientes y los servidores.
Si se produce un error en el servidor de archivos, es posible que éste servicio se caiga,
pero no se caerá toda la máquina.
La principal desventaja de estos sistemas es que presentan una mayor sobrecarga en
el tratamiento de los servicios que los sistemas monolíticos. Esto ocurre porque los
distintos componentes de un sistema operativo de este tipo se ejecutan en espacios de
direcciones distintos, lo que hace que su activación requiera más tiempo.
Sistemas operativos de este modelo serian el Minix, Mach y Amoeba
Funciones de los sistemas operativos.
El sistema operativo realiza dos funciones que básicamente no están
relacionadas entre sí y, dependiendo de lo que tengamos que utilizar, empleamos una
función o la otra.
Sistema operativo como interfaz usuario/computador.
Cuando un usuario está trabajando con el ordenador es necesario interactuar
con el sistema operativo para poder llevar a cabo las diferentes operaciones. Por
ejemplo, ejecutar un programa o borrar un archivo son tareas que se pueden hacer
utilizando los servicios del sistema operativo sin necesidad de escribir un programa
que realice las tareas anteriores. Dicho de otro modo, el programa que oculta la
verdad acerca del software y presenta al usuario una vista sencilla de los archivos es el
sistema operativo. Al igual que oculta asuntos desagradables como interrupciones,
temporizadores, administración de memoria y otras funciones de bajo nivel, presenta
una interfaz sencilla orientada a archivos. Actúa como mediador, facilitándole al
programador y a los programas de aplicación el acceso y uso de todas estas
características y servicios. Por todo ello el sistema operativo es el programa de
sistemas más importante.
Como interfaz de usuario, la función del sistema operativo es presentar al usuario el
equivalente a una máquina virtual más fácil de programar que el hardware. No todo el
mundo que utiliza un sistema informático pretende realizar tareas de programación si
no únicamente trabajar de modo interactivo con él. La interfaz de usuario ha sufrido
grandes modificaciones a lo largo de los años. Esto viene condicionado porque un gran
número de personas no tienen conocimientos informáticos. Se ha pasado de interfaces
alfanuméricas, que requerían bastante conocimiento informático a interfaces gráficas,
que ocultan al usuario la complejidad del sistema. También ha evolucionado la
integración de la interfaz de usuario con el resto del sistema operativo. Antes el
Daniel Merchán López. 2013
9. Historia del software en computación aplicado a la informática educativa. 65
módulo que maneja la interfaz de usuario estaba dentro del núcleo del sistema
operativo, mientras que ahora esta función la realizan un conjunto de programas
externos al núcleo usando los recursos del sistema como cualquier programa.
Los principales servicios que ofrece la interfaz de usuario de un sistema operativo son los
siguientes:
Creación de aplicaciones: El sistema operativo debe disponer de editores,
ensambladores, enlazadores y depuradores (debuggers), para ayudar al
programador en la creación de aplicaciones. Generalmente, estos servicios son
formas de programas de utilidad, que realmente no forman parte del sistema
operativo, pero que son accesibles a través del mismo.
Ejecución de programas: El usuario tiene que poder ejecutar un programa y
controlar su ejecución pero para ello es necesario llevar a cabo un cierto
número de tareas. El sistema operativo es el que administra todas esas tareas
para el usuario.
Configuración de la interfaz: Cada usuario debe poder configurar el modo de
operación de la interfaz de acuerdo a sus preferencias.
Acceso a los dispositivos de E/S: Cada dispositivo de E/S requiere un conjunto
propio de instrucciones o de señales de control para su funcionamiento. El
sistema operativo proporciona una interfaz que oculta el conjunto de
instrucciones de modo que el programador pueda acceder a los dispositivos
utilizando lectura y escritura sencillas.
Manipulación de archivos y directorios: La interfaz debe proporcionar
operaciones para borrar, crear, renombrar y procesar archivos y directorios.
Acceso al sistema: en el caso de un sistema compartido o público, la interfaz
controla el acceso al sistema y a sus recursos. Las funciones de acceso
proporcionan seguridad a los recursos y a los datos ante usuarios no
autorizados y debe resolver los conflictos de la propiedad de los recursos. El
mecanismo de control natural se realizará mediante una contraseña, cada
usuario autorizado dispondrá de la suya.
Detección y respuesta de errores: cuando un sistema informático está en
funcionamiento pueden producirse una serie de errores. Entre estos se
incluyen los errores internos y externos del hardware, como los errores de
memoria, fallos o mal funcionamiento de dispositivos y distintos tipos de
errores de software, como el desbordamiento aritmético, el intento de acceder
a una posición prohibida de la memoria y la incapacidad del sistema operativo
para satisfacer la solicitud de una aplicación. En cada caso, el sistema operativo
debe dar una respuesta que elimine la condición de error con el menor impacto
posible sobre las aplicaciones que están en ejecución.
Sistema de ayuda interactivo: La interfaz debe incluir un entorno de ayuda
completo con toda la documentación del sistema.
Daniel Merchán López. 2013
10. 66 Historia del software en computación aplicado a la informática educativa.
El sistema operativo como administrador de recursos.
El ordenador está compuesto por un conjunto de recursos para el movimiento,
almacenamiento y proceso de datos y para el control de estas funciones. El sistema
operativo es el que administra éstos recursos. El sistema operativo visto como algo
cuya función primordial es ofrecer a los usuarios una buena interfaz es una visión
descendente. En esta visión como administrador, la misión del sistema operativo es
asegurar un reparto ordenado y controlado de los procesadores, memorias y
dispositivos de E/S entre los diferentes programas que compiten por ellos.
El sistema operativo realmente es un conjunto de programas de computador y como
otros programas, proporciona instrucciones al procesador. La diferencia clave está en
el propósito del programa. El sistema operativo dirige al procesador en el empleo de
los recursos del sistema y en el control del tiempo de la ejecución de otros programas
pero para que el procesador pueda hacer estas cosas, debe cesar la ejecución del
programa del sistema operativo y ejecutar otros programas. Así pues, el sistema
operativo cede el control al procesador, para hacer algún trabajo útil y luego lo
recupera el tiempo suficiente para preparar el procesador y llevar a cabo el siguiente
trabajo. Por poner un ejemplo, se da el caso de que tres programas quieren acceder
simultáneamente a la impresora, sin el control del sistema operativo sería un caos,
pues no pueden imprimir los tres a la vez. La solución que daría el sistema operativo
sería almacenar temporalmente en el disco todas las salidas destinadas a la impresora.
Cuando un programa haya terminado, el sistema operativo podrá copiar su salida del
archivo de disco donde se almacenó a la impresora, mientras que el otro programa
puede continuar generando salidas, ajeno al hecho de que dichas salidas no están
yendo directamente a la impresora.
Cuando un ordenador es multiusuario, la necesidad de administrar y proteger la
memoria, los dispositivos de E/S y demás recursos es aún mayor, ya que de otra
manera los usuarios podrían interferirse. Además, es frecuente que los usuarios
tengan que compartir no solo hardware, sino también información (archivos, bases de
datos, etc.).
3.3. Software de aplicación.
Como hemos dicho anteriormente este software es un conjunto de
instrucciones pre codificadas diseñadas para resolver problemas de muchos tipos
diferentes. Se puede decir que hay cuatro tipos: software de aplicación específica,
software de productividad, software de aplicación general y software integrado.
Daniel Merchán López. 2013
11. Historia del software en computación aplicado a la informática educativa. 67
3.3.1. Software de aplicación específica.
Hoy en día existen cientos de paquetes de este software para dar soporte a las
funciones específicas de los usuarios en empresas y otros contextos. Por ejemplo en
las empresas, respaldan usos gerenciales, empresariales y profesionales, como el
procesamiento de transacciones, apoyo para las decisiones, contabilidad, finanzas,
administración de recursos humanos y comercio electrónico. Por otra parte, para la
ciencia e ingeniería, el software específico desempeña un papel fundamental en la
investigación, el desarrollo de la industria y en el diseño de mejores procesos de
producción para productos de alta calidad. Y, por último, para la educación el uso de
este software es muy extenso. Se puede utilizar tanto para estudiar un examen como
para enseñar a contar. Estos programas utilizan técnicas como simulación, exámenes
prácticos y tutores computadorizados. Los juegos de computadora también se pueden
considerar como software de aplicación específica.
3.3.2. Software de productividad. [31][39]
Es un tipo de software que permite ahorrar tiempo en tareas que resultan
repetitivas. Dos ejemplos se pueden considerar los organizadores de escritorio y los
shell de DOS.
Los organizadores de escritorio incluyen calculadoras, cuadernos de notas,
marcadores automáticos y agendas colocado de tal manera que el usuario pueda
acceder de manera fácil y rápida. Todos éstos accesorios residen en la memoria RAM
por lo que no es necesario disponer de un dispositivo de almacenamiento. Solo hay
que darle a un comando. El primer organizador de escritorio fue SideKick, desarrollado
por Borland International. Este organizador desplegaba varios utensilios de escritorio
en distintas ventanas sobre la pantalla. El usuario podía utilizar la hoja de cálculo que
quisiera junto con la calculadora de Sidekick. Las computadoras de Apple Macintosh
tenían construido interiormente un conjunto de accesorios de escritorio que se podían
utilizar en cualquier momento. Incluían un reloj con alarma, un libro de notas y una
calculadora entre otras utilidades.
Los shell de DOS eran paquetes software que ayudaban a los usuarios que tenían
poco conocimiento de sistemas operativos. Con ellos se podían realizar tareas como la
copiar, mover y borrar archivos con un doble click. El shell de DOS fue uno de los
primeros intentos para administrar los archivos de Windows. Uno de los primeros shell
de DOS es PC Tools (Fig. 39), podía ser utilizado como respaldo de archivos o para
controlar una computadora desde el teclado de otra. Es una herramienta para trabajar
con el ordenador sin necesidad de lidiar con el modo consola, y usando un entorno
amigable en modo texto.
Daniel Merchán López. 2013
12. 68 Historia del software en computación aplicado a la informática educativa.
Este sistema también permitía listar, copiar, eliminar, visualizar, y editar archivos, así
como otras tantas
operaciones a nivel de disco.
En el año 1987 Central Point
Software dueña de la marca
lanza al mercado la versión 4,
empezándose a denominar PC
Tools Deluxe, y pasando a la
historia como el programa
más copiado de manera ilegal.
Por aquel entonces, PC Tools
era tan sencillo de utilizar,
que cualquiera podía usarlo
para copiarlo.
Fig. 39. Interfaz PC Tools versión 1.10.
En junio de 1994 PC Tools fue adquirido por su principal competidor Symantec que
finalmente suspendió la línea de productos. PC Tools fue el principal competidor de
Norton Utilities, que Symantec había adquirido en 1990.
3.3.3. Software de aplicación general.[40][31]
Esta clase de software puede ser utilizado por cualquier tipo de usuario y sirve
para resolver problemas de diferente índole. Aplicaciones que se incluyen en este tipo
son las hojas de cálculo, los procesadores de textos, manejo de bases de datos y
gráficas. Hoy en día, la mayoría del software para uso general se vende como paquete;
es decir con software y documentación para el usuario.
Las hojas de cálculo electrónicas permiten manipular datos numéricos y
alfanuméricos dispuestos en forma
de tablas compuestas por celdas las
cuales están organizadas en una
matriz bidimensional de filas y
columnas. La celda es la unidad
básica de información en la hoja de
cálculo, donde se insertan los valores
y las fórmulas que realizan los
cálculos. Habitualmente es posible
realizar cálculos complejos con
fórmulas, funciones y dibujar
distintos tipos de gráficas.
Fig. 40. Interfaz de la hoja de cálculo Excel.
Daniel Merchán López. 2013
13. Historia del software en computación aplicado a la informática educativa. 69
Hay hojas de cálculo que permiten importar o intercambiar información con otros
paquetes de aplicación. Esto permite realizar cálculos adicionales con datos ya
procesados. En la figura 40 podemos ver la interfaz de una hoja de cálculo de Excel.
Los procesadores de texto nos permiten crear o modificar documentos escritos por
medio de una computadora. Representa una alternativa moderna a la antigua máquina
de escribir, siendo mucho más potente y versátil que ésta. No reduce el tiempo que se
necesita para producir un informe desde el inicio, pero si proporciona los medios para
revisar y generar documentos sin faltas de ortografía pues todos los procesadores de
texto incluyen un corrector ortográfico. Disponen también de diccionarios multilingües
y de sinónimos que facilitan la redacción.
Fig. 41. Interfaz del procesador de texto OpenOficce.
Los procesadores de texto disponen de bloques que marcan una parte de texto para
borrarla, moverla, etc. Se pueden cambiar las fuentes de tamaño y aspecto para
imprimirlo como se desee. Hay gráficos que colocan texto, dibujos y gráficas en la
página. En la figura 41 podemos ver la interfaz del procesador de texto de
OpenOfficce.
También entran en este campo las bases de datos. Una base de datos se puede
definir según la RAE como un "conjunto de datos organizado de tal modo que permita
obtener con rapidez diversos tipos de información" [41].
Hay un tipo de software que se llama Sistema Gestor de Base de Datos (SGBD) que
forman un conjunto de programas que nos permiten almacenar y después procesar los
datos de la manera que nosotros deseemos. Estos paquetes software nos ahorran
mucho tiempo a la hora de acceder a la información desde un archivo. Estos datos
Daniel Merchán López. 2013
14. 70 Historia del software en computación aplicado a la informática educativa.
pueden ser accedidos por la mayoría de los usuarios, por ello, en algunos países se han
creado leyes para protegerlos. En España por ejemplo los datos están protegidos por
Ley Orgánica de Protección de Datos de Carácter Personal (LOPD). La primera base de
datos relacional creada para las microcomputadoras fue dBASE II.
Se puede decir que en un SGBD los datos tienen una independencia. Esto es debido a
que el SGBD proporciona dos
aspectos de los datos
almacenados en ellos: una visión
física y una visión lógica. La
visión física se relaciona con la
localización actual de los datos
en el dispositivo, mientras que la
visión lógica representa los
registros y los campos de datos a
medida que son necesarios para
el usuario o el programador.
Fig. 42. dBase II cargado en el
computador Commodore.
Un SGBD elimina la redundancia de los datos e incrementa la integridad de ellos, es
decir, si un elemento de los datos debe ser cambiado, sólo se debe hacer eso en un
lugar. Nos da una mayor seguridad en el manejo y normalización de reportes y
consultas.
Hay muchos paquetes software destinados a la realización de gráficas. Las gráficas
son más fáciles de
comprender por usuarios y
programadores que acceder
directamente a los datos.
Las gráficas aumentan la
facilidad de compresión y
velocidad en cuanto a la
recepción de información
respecto de la información
impresa. Algunos de los
paquetes software más
conocidos han sido Hardvard
Graphics, Applause II,
PowerPoint, Corel Draw y
Lotus1-2-3. Fig. 43. Interfaz de Hardvard Graphis.
Daniel Merchán López. 2013
15. Historia del software en computación aplicado a la informática educativa. 71
En el caso de Hardvard Graphis (Fig. 43) lanzó su primera versión en 1986 y fue una
de las primeras aplicaciones informáticas que le permitía a los usuarios incorporar
texto, gráficos y diagramas de flujo dentro de presentaciones en forma de diapositivas.
3.3.4. Software integrado.
El software integrado es la combinación de las aplicaciones generales, es decir,
integran en un sólo programa las funciones de procesador de texto, hoja de cálculo,
base de datos y, algunos de ellos, algunas capacidades gráficas y de
telecomunicaciones. En las últimas versiones de conocidos paquetes también se
incluye la opción de trabajar en red (local e Internet). Cada programa genera
productos informáticos en formato digital, tales como documentos, imágenes, música,
multimedia, etc, utilizando cada uno un entorno particular. Las funciones integradas,
generalmente, nos permiten crear, guardar, abrir y cerrar los archivos. Otras funciones
serian visualizar, editar, imprimir o reproducir los archivos. Los paquetes integrados
nos ofrecen varias ventajas. El precio es menor que el costo total de la compra de los
programas individuales y a la vez nos dan una apariencia similar a todas sus
aplicaciones, de modo que los usuarios no tienen que memorizar diferentes órdenes y
técnicas para efectuar tareas diferentes. El software integrado nos permite transferir
datos entre las aplicaciones con rapidez y facilidad. Uno de los paquetes software más
conocido es el paquete Office, que incluye programas para procesar textos, hojas de
cálculo, diseño de gráficas, etc.
Adicionalmente, algunos de estos productos están orientados al mercado
educacional, por lo que tienen un precio reducido y material de apoyo diseñado para
las escuelas, institutos y universidades. Sin embargo, es recomendable revisar este
material y producir documentos específicos en torno a ellos para cada realidad
educativa. Así, muchos conceptos básicos de uso de un software podrán ser comunes,
pero los ejemplos y sus aplicaciones dependerán del contexto social y educacional del
establecimiento.
3.4.Lenguajes de programación.[19][42][11]
Un lenguaje de programación es un conjunto de símbolos, caracteres y reglas
que combinados entre sí expresan algoritmos. Estos lenguajes posibilitan la
transmisión de instrucciones a la CPU. Poseen un léxico (vocabulario o conjunto de
símbolos permitidos), una sintaxis, que indica cómo se debe realizar las construcciones
del lenguaje, y una semántica que determina el significado de cada construcción
escrita correctamente.
Daniel Merchán López. 2013
16. 72 Historia del software en computación aplicado a la informática educativa.
Los símbolos que he citado anteriormente se deben traducir en un conjunto de
señales eléctricas representadas en código binario (0 y 1). El motivo por el que se
deben traducir estas señales es que las computadoras solo entienden el lenguaje
binario o código máquina.
El uso de la palabra programar (to program) para definir la acción de fijar las acciones
que debe realizar un compilador tiene su origen en los creadores del ENIAC en la
Moore School of Electrical Engineering, de la Universidad de Pensilvania. En ese
momento, la palabra más utilizada era configurar (to set up), pues el ENIAC se
programaba cambiando conexiones y activando interruptores. Con la separación de
hardware y software se forma la idea de programación.
Los lenguajes de programación se suelen clasificar mediante criterios. Uno de ellos es
el nivel. El nivel hace referencia a la proximidad a la máquina de la forma de redactar
las sentencias en él. Los lenguajes de bajo nivel son el ensamblador y el lenguaje
binario (de ceros y unos). Los lenguajes e alto nivel se pueden clasificar, atendiendo al
estilo de programación de cada uno, en dos grupos:
Por un lado están los lenguajes basados en la asignación de valores también
llamados lenguajes imperativos o procedurales. Éstos programas utilizan
variables para almacenar valores y realizan operaciones con los datos
almacenados. Lenguajes de este tipo son FORTRAN, COBOL y BASIC entre otros.
En este grupo se encuentran los lenguajes orientados a objetos, implantados en
la década de los 80. Los programas se descomponen en objetos que
implementan partes del sistema encapsulando los datos que almacenan su
estado junto con los métodos que se utilizan para acceder a ellos. Es una
ventaja porque así las distintas partes del programa son menos dependientes
entre sí. Lenguajes de este tipo son Objetive C, C++, PHP 5,etc.
Por otro lado se encuentran los lenguajes basados en la definición de funciones
o relaciones. No utilizan instrucciones de asignación lo que quiere decir que sus
variables no almacenan funciones. Los programas están formados por una serie
de definiciones de funciones como los lenguajes funcionales (LISP) o de
predicados, llamados lenguajes de programación lógica como PROLOG.
A un nivel más alto que el de los lenguajes de programación se encuentras los
lenguajes declarativos. En los lenguajes de órdenes, los programas están formados por
sentencias que ordenan qué es lo que se quiere hacer, no teniendo el programador
que indicar al computador el proceso detallado de cómo hacerlo. Lenguajes de este
tipo son NATURAL e IMS que recuperan información de la base de datos y SAS que
realiza cálculos estadísticos.
Daniel Merchán López. 2013
17. Historia del software en computación aplicado a la informática educativa. 73
Como los lenguajes de alto nivel no pueden ser leídos por la máquina se utilizan unos
traductores del lenguaje. El sistema encargado de traducir estos programas,
denominados programas fuentes, puede ser un ensamblador, intérprete o compilador.
Un ensamblador transforma los programas escritos en ensamblador a su equivalente
en código máquina o código binario para que la CPU los pueda ejecutar. Un intérprete
es un programa de software encargado de procesar y traducir cada instrucción o
sentencia de un programa escrito en un lenguaje de alto nivel a código máquina. La
CPU ejecuta la orden ya traducida y sin ningún error de sintaxis. La traducción y la
ejecución no se realizan cómo procesos independientes, sino en una misma operación
e instrucción por instrucción. En la imagen posterior podemos ver la diferencia entre
compilador e intérprete:
Fig. 44. Diferencia entre compilador e intérprete.
Un compilador traduce un programa fuente a un programa objeto, escrito en
lenguaje ensamblador o máquina. El programa fuente se encuentra en un archivo y el
programa objeto se almacena como archivo en memoria para ser procesado
posteriormente. Cuando el programa está traducido se ejecuta independientemente
del compilador. El proceso general para compilar seria, edición (escritura del programa
y grabación en un soporte), compilación (traducción del programa), linkado o montaje
(enlazar el programa objeto con rutinas internas del lenguaje) y ejecución (llamada del
programa ejecutable).
Daniel Merchán López. 2013