Definición del término
Existen varias definiciones similares aceptadas para software, pero probablemente la más formal sea la siguiente:
-
Es 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. ExtraÃdo del estándar 729 del IEEE5
Considerando esta definición, el concepto de software va más allá de los programas de computación en sus distintos estados: código fuente, binario o ejecutable; también su documentación, los datos a procesar e incluso la información de usuario forman parte del software: es decir, abarca todo lo intangible, todo lo "no fÃsico" relacionado. El término "software" fue usado por primera vez en este sentido por John W. Tukey 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 (programa) 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.
Clasificación del software
Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los fines prácticos se puede clasificar al software en tres grandes tipos:
Software de la computadora
Software de sistema
Denominado también software de base, consiste en un software que sirve para controlar e interactuar con el sistema operativo, proporcionando control sobre el hardware y dando soporte a otros programas; en contraposición del llamado software de aplicación. Como ejemplos cabe mencionar a las bibliotecas, como por ejemplo OpenGL, para la aceleración gráfica; PNG, para el sistema gráfico; o demonios que controlan la temperatura, la velocidad del disco duro, como hdparm, o la frecuencia del procesador como cpudyn.
El software de sistema por antonomasia es Microsoft Windows, que entre todas sus versiones acumula cerca de un 90% de la cuota de mercado. Mención especial merece el proyecto GNU, cuyas herramientas de programación permitieron combinarse con el núcleo informático basado en Unix denominado Linux, formando entre ambos las conocidas como distribuciones GNU/Linux. A diferencia de la plataforma de Microsoft u otros ejemplos como Mac OS, es software libre.
Estos programas realizan diversas tareas, como la transferencia de datos entre la memoria RAM y los dispositivos de almacenamiento (disco rÃgido, unidades de discos ópticos, etc) entre otros.
Tipos de software de sistema
A continuación se listan algunos tipos de software de sistema existentes:
-
Sistemas operativos (y sus componentes, muchos de los cuales pueden considerarse como software de sistema)
-
Controladores de dispositivos
-
Herramientas de programación: compiladores, ensambladores, enlazadores, etc.
-
Entorno de escritorio / Interfaz gráfica de usuario (que pueden incluir Gestores de ventanas)
-
LÃnea de comandos
-
BIOS
-
Bootloaders (Gestor de arranque)
Si el software de sistema se almacena en una memoria no volátil tal como circuitos integrados, usualmente se lo denomina firmware.
Software de programación
Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica.
El software de programación es una subcategorÃa del software del sistema, pero por su demanda cada vez mayor se trata como una categorÃa separada, al nivel del software de aplicación y el software sistema.
Tipos de software de programación
A continuación se listan algunos tipos de software de programación (los más importantes):
-
Compiladores: son aplicaciones que traducen el código fuente a lenguaje de máquina, para que el equipo pueda entender las instrucciones recibidas. Los compiladores generan objetos que se combinan y se convierten en programas ejecutables.
-
Depuradores: utilizados para monitorear lÃnea a lÃnea la ejecución de un programa. El código fuente del programa es compilado y ejecutado parcialmente, lo que permite al programador hacer seguimiento a las instrucciones que se ejecutan en un momento dado. Permitiendo además controlar, cambiar o asignar valores a variables del programa.
-
Intérpretes: permiten ejecutar programas. Los intérpretes ejecutan el código fuente o el código precompilado a un lenguaje intermedio antes de la ejecución.
-
Entornos de Desarrollo Integrados (IDE): agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI).
![](https://static.wixstatic.com/media/4867cc_1fd172f7c3784deaa640f523f5a367c5.png/v1/fill/w_357,h_270,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/4867cc_1fd172f7c3784deaa640f523f5a367c5.png)
![](https://static.wixstatic.com/media/4867cc_109835c515c74252b62c66ca89f43715.png/v1/fill/w_86,h_92,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/4867cc_109835c515c74252b62c66ca89f43715.png)
![](https://static.wixstatic.com/media/4867cc_e071b6ff41024f1780a6b055832f6e85.png/v1/fill/w_83,h_43,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/4867cc_e071b6ff41024f1780a6b055832f6e85.png)
![](https://static.wixstatic.com/media/4867cc_9c36ec6a63cf4caca378ad60702e0fde.png/v1/fill/w_68,h_68,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/4867cc_9c36ec6a63cf4caca378ad60702e0fde.png)
Software de aplicación
Es un tipo de programa informático diseñado como herramienta para permitir a un usuario realizar uno o diversos tipos de trabajos. Esto lo diferencia principalmente de otros tipos de programas como los sistemas operativos (que hacen funcionar al ordenador), las utilidades (que realizan tareas de mantenimiento o de uso general), y los lenguajes de programación (con el cual se crean los programas informáticos).
Suele resultar una solución informática para la automatización de ciertas tareas complicadas como pueden ser la contabilidad, la redacción de documentos, o la gestión de un almacén.
Ciertas aplicaciones desarrolladas "a medida" suelen ofrecer una gran potencia ya que están exclusivamente diseñadas para resolver un problema especÃfico. Otros, llamados paquetes integrados de software, ofrecen menos potencia pero a cambio incluyen varias aplicaciones.
Algunas compañÃas agrupan diversos programas de distinta naturaleza para que formen un paquete (llamados suites o suite ofimática) que sean satisfactorios para las necesidades más apremiantes del usuario.
Actualmente, con el uso de dispositivos móviles se ha extendido el concepto APP, Aplicación informática para dispositivos móviles o tablets con multitud de funcionalidades. Desde juegos hasta aplicaciones para realizar tareas cotidianas.
Tipos de software de aplicación
A continuación se listan algunos tipos de software de aplicación:
-
Procesadores de textos
-
Hojas de cálculo
-
Base de datos
-
Multimedia
-
Presentaciones
-
Diseño gráfico
-
Finanzas
-
Navegador web
-
Compresión de archivos
![](https://static.wixstatic.com/media/4867cc_4e5ecd7ecadd4c5f9238a7bea6733de0.png/v1/fill/w_78,h_78,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/4867cc_4e5ecd7ecadd4c5f9238a7bea6733de0.png)
![](https://static.wixstatic.com/media/4867cc_fea94584756945489582a39c441efe10.png/v1/fill/w_78,h_78,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/4867cc_fea94584756945489582a39c441efe10.png)