SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Mais conteúdo relacionado

Mais procurados

Mais procurados (18)

Software
SoftwareSoftware
Software
 
Taller
TallerTaller
Taller
 
Clase diez 2011
Clase diez  2011Clase diez  2011
Clase diez 2011
 
Informe en word
Informe en wordInforme en word
Informe en word
 
Informer_Yandira_ Lastra
Informer_Yandira_ LastraInformer_Yandira_ Lastra
Informer_Yandira_ Lastra
 
Lectura sistema operativo
Lectura sistema operativoLectura sistema operativo
Lectura sistema operativo
 
Software juan magallanes
Software juan magallanesSoftware juan magallanes
Software juan magallanes
 
Soportes logicos
Soportes logicosSoportes logicos
Soportes logicos
 
Tra.de manten
Tra.de mantenTra.de manten
Tra.de manten
 
informatica basica
informatica basicainformatica basica
informatica basica
 
Instructivo de TIC. Software
Instructivo de TIC. SoftwareInstructivo de TIC. Software
Instructivo de TIC. Software
 
Tra.de manten
Tra.de mantenTra.de manten
Tra.de manten
 
Software
SoftwareSoftware
Software
 
Software y el sistema operativo (1)
Software y el sistema operativo (1)Software y el sistema operativo (1)
Software y el sistema operativo (1)
 
Software definitivo. neymar y betsy
Software definitivo. neymar y betsySoftware definitivo. neymar y betsy
Software definitivo. neymar y betsy
 
Hardware y-software (1)
Hardware y-software (1)Hardware y-software (1)
Hardware y-software (1)
 
Hardware y-software
Hardware y-softwareHardware y-software
Hardware y-software
 
Equipo de rebeca
Equipo de rebecaEquipo de rebeca
Equipo de rebeca
 

Semelhante a 5. tipos de software

Introducción a la Programación.
Introducción a la Programación.Introducción a la Programación.
Introducción a la Programación.guestdf1874
 
Gianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compuGianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compugianna01
 
Gianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compuGianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compugianna01
 
Gianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compuGianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compugianna01
 
perez juarez mariela alejandra
perez juarez mariela alejandra perez juarez mariela alejandra
perez juarez mariela alejandra marielaperezjuarez
 
mauro hoyos software y sistemas operativos
mauro hoyos software y sistemas operativosmauro hoyos software y sistemas operativos
mauro hoyos software y sistemas operativosmaurohoy
 
Software y sistemas operativos
Software y sistemas operativosSoftware y sistemas operativos
Software y sistemas operativosmaurohoy
 
El software
El softwareEl software
El softwareGlezEsp
 
Unidad 1 Tema 3 Lección 5
Unidad 1 Tema 3 Lección 5Unidad 1 Tema 3 Lección 5
Unidad 1 Tema 3 Lección 5Kuepa
 
Aplicaciones Informáticas 2011. Parte II
Aplicaciones Informáticas 2011. Parte IIAplicaciones Informáticas 2011. Parte II
Aplicaciones Informáticas 2011. Parte IIEuler V. Terán Yépez
 

Semelhante a 5. tipos de software (20)

Introducción a la Programación.
Introducción a la Programación.Introducción a la Programación.
Introducción a la Programación.
 
Gianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compuGianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compu
 
Gianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compuGianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compu
 
Gianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compuGianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compu
 
perez juarez mariela alejandra
perez juarez mariela alejandra perez juarez mariela alejandra
perez juarez mariela alejandra
 
mauro hoyos software y sistemas operativos
mauro hoyos software y sistemas operativosmauro hoyos software y sistemas operativos
mauro hoyos software y sistemas operativos
 
Software y sistemas operativos
Software y sistemas operativosSoftware y sistemas operativos
Software y sistemas operativos
 
actividad_10
actividad_10actividad_10
actividad_10
 
El software
El softwareEl software
El software
 
Software
SoftwareSoftware
Software
 
Unidad 1 Tema 3 Lección 5
Unidad 1 Tema 3 Lección 5Unidad 1 Tema 3 Lección 5
Unidad 1 Tema 3 Lección 5
 
Software
SoftwareSoftware
Software
 
Tipos de software
Tipos de softwareTipos de software
Tipos de software
 
Aplicaciones Informáticas 2011. Parte II
Aplicaciones Informáticas 2011. Parte IIAplicaciones Informáticas 2011. Parte II
Aplicaciones Informáticas 2011. Parte II
 
Unidad 1,2,3
Unidad 1,2,3Unidad 1,2,3
Unidad 1,2,3
 
Unidades 1 2 3
Unidades 1 2 3Unidades 1 2 3
Unidades 1 2 3
 
Tarea 4 software
Tarea 4 softwareTarea 4 software
Tarea 4 software
 
Tarea 4 software
Tarea 4 softwareTarea 4 software
Tarea 4 software
 
Tarea 4 software
Tarea 4 softwareTarea 4 software
Tarea 4 software
 
Tarea 4 software
Tarea 4 softwareTarea 4 software
Tarea 4 software
 

Mais de Daniel Merchan

Mais de Daniel Merchan (20)

13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del software
 
12. virus y antivirus informáticos
12. virus y antivirus informáticos12. virus y antivirus informáticos
12. virus y antivirus informáticos
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del software
 
12. virus y antivirus informáticos
12. virus y antivirus informáticos12. virus y antivirus informáticos
12. virus y antivirus informáticos
 
11. quinta era
11. quinta era11. quinta era
11. quinta era
 
11. quinta era
11. quinta era11. quinta era
11. quinta era
 
10. cuarta era
10. cuarta era10. cuarta era
10. cuarta era
 
10. cuarta era
10. cuarta era10. cuarta era
10. cuarta era
 
9. tercera era
9. tercera era9. tercera era
9. tercera era
 
8. segunda era
8. segunda era8. segunda era
8. segunda era
 
7. primera era
7. primera era7. primera era
7. primera era
 
9. tercera era
9. tercera era9. tercera era
9. tercera era
 
8. segunda era
8. segunda era8. segunda era
8. segunda era
 
7. primera era
7. primera era7. primera era
7. primera era
 
6. software libre y software propietario
6. software libre y software propietario6. software libre y software propietario
6. software libre y software propietario
 
6. software libre y software propietario
6. software libre y software propietario6. software libre y software propietario
6. software libre y software propietario
 
5. tipos de software
5. tipos de software5. tipos de software
5. tipos de software
 
Modo de utilizar
Modo de utilizarModo de utilizar
Modo de utilizar
 
4. la etapa electromecánica
4. la etapa electromecánica4. la etapa electromecánica
4. la etapa electromecánica
 
4. la etapa electromecánica
4. la etapa electromecánica4. la etapa electromecánica
4. la etapa electromecánica
 

5. tipos de software

  • 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