¿Qué es Software?
Es el conjunto de programas de cómputo,
procedimientos, reglas, documentación y datos asociados que forman parte de las
operaciones de un sistema de computación.
Considerando esta definición, el concepto
de software va mas 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 relaciona do.
El termino “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.
Tipos y Clasificación de Software
1. Software de sistema: Es el que nos permite establecer una interacción
con un hardware, a través de programas que administran los recursos y
proporcionan una interfaz de uso. El mejor ejemplo en este sentido son los
populares sistemas operativos como Windows, Linux o Mac OS.
Incluye
entre otros:
Sistemas operativos: Un sistema operativo (SO) es el programa o conjunto
de programas que efectúan la gestión de los procesos básicos de un sistema
informático, y permite la normal ejecución del resto de las operaciones.
Uno
de los propósitos del sistema operativo que gestiona el núcleo intermediario
consiste en gestionar los recursos de localización y protección de acceso del
hardware, hecho que alivia a los programadores de aplicaciones de tener que
tratar con estos detalles. La mayoría de aparatos electrónicos que utilizan
microprocesadores para funcionar, llevan incorporado un sistema operativo.
Controladores de dispositivos: Un controlador de dispositivo, llamado normalmente
controlador (device driver) es un programa informático que permite al sistema
operativo interactuar con un periférico, haciendo una abstracción del hardware
y proporcionando una interfaz posiblemente estandarizada para usarlo.
Debido
a que el software de controladores de dispositivos se ejecuta como parte del
sistema operativo, con acceso sin restricciones a todo el equipo, resulta
esencial que solo se permitan los controladores de dispositivos autorizados.
Herramientas de diagnostico: Una herramienta de diagnostico es un software que
permite monitorizar y en algunos casos controlar la funcionalidad del hardware,
como: computadoras, servidores y periféricos, según el tipo y sus funciones.
Estos dispositivos pueden ser, la memoria RAM, el procesador, los discos duros,
tarjetas de red, entre muchos dispositivos más.
Servidores: Un servidor es una computadora que, formando parte
de una red, provee servicios a otros computadores denominadas clientes.
Utilidades: Una utilidad es una herramienta que realiza tareas
de mantenimiento, soporte para la construcción y ejecución de programas, tareas
en general; en donde se incluyen las bibliotecas de sistema, middleware,
herramientas de desarrollo, entre otros.
2. Software de programación: Como su nombre lo indica, es el software que nos
permite programar o desarrollar un programa informático a través de uso de
reglas lógicas y un lenguaje específico, los cuales nos permiten darle forma.
De esta manera, podemos crear una herramienta que nos ayude a resolver un
problema o realizar una actividad o tarea específica. Los mejores ejemplos al
respecto son los editores de texto, los compiladores, los intérpretes y los
entornos de desarrollo integrados.
Editores de texto: Un editor de texto es un programa que permite crear
y modificar archivos digitales compuestos únicamente por texto sin formato,
conocidos comúnmente como archivos de texto o texto plano. El programa lee el archivo
e interpreta los bytes leídos según el código de caracteres que usa el editor.
Hoy en día es comúnmente de 7- ó 8- bits en ASCII o UTF-8, rara vez EBCDIC. Por
ejemplo, un editor ASCII de 8 bits que lee el numero binario 0110 0001(decimal
97 ó hexadecimal 61) en el archivo lo representará en la pantalla por la figura
“a” que el usuario reconoce como la letra “a” y ofrecerá al usuario las funciones
necesarias para cambiar el numero binario en el archivo. Los editores de texto
son incluidos en el sistema operativo o en algún paquete de software instalado
y se usan cuando se deben de crear o modificar archivos de texto como archivos
de configuración, scripts o el código fuente de algún programa. El archivo
creado por el editor de texto incluye por convención en DOS y Microsoft Windows
la extensión “.txt”, aunque pueda ser cambiada a cualquier otra con
posterioridad. Tanto Unix como Linux dan al usuario total libertad en la
denominación de sus archivos.
Compiladores: Un compilador es un programa informático que
traduce un programa escrito en un lenguaje de programación a otro lenguaje de
programación, generando un programa equivalente que la maquina será capaz de interpretar.
Usualmente el segundo lenguaje es lenguaje de maquina, pero también puede ser
simplemente texto.
Este
proceso de traducción se conoce como compilación. Un compilador es un programa
que permite traducir el código fuente de un programa en lenguaje de alto nivel,
a otro lenguaje de nivel inferior. De esta manera un programador puede diseñar
un programa en un lenguaje mucho mas cercano a como piensa un ser humano, para
luego compilarlo a un programa mas manejable por una computadora.
Interpretes: En ciencias de la computación, intérprete o
interpretador es un programa informático capaz de analizar y ejecutar otros
programas, escritos en un lenguaje de alto nivel.
Enlazadores: Es un programa que toma los ficheros de cogido
objeto generado en los primeros pasos del proceso de compilación, la
información de todos los recursos necesarios (biblioteca), quita aquellos
recursos que no necesita, y enlaza el código objeto con su(s) biblioteca(s) con
lo que finalmente produce un fichero ejecutable o una biblioteca. En el caso de
los programas enlazados dinámicamente, el enlace entre el programa ejecutable y
las bibliotecas se realizan en tiempo de carga o ejecución del programa.
Depurador: Un depurador es un programa usado para probar y depurar
(eliminar errores) de otros programas (el programa “objetivo”).
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).
3. Software de aplicación: Este tipo de software permiten realizar tareas
específicas. Por lo tanto, este software se enfoca únicamente en un aspecto o
en la resolución de algún problema en particular y no, como lo hacen los
software de sistema, en proporcionar un funcionamiento general mucho más
complejos. En este sentido, los programas que utilizamos diariamente en
nuestras computadoras son de este tipo, ya que se enfocan en una tarea en
particular. Así, ejemplos de este tipo de software son los procesadores de
texto, los editores, las hojas de cálculo, las bases de datos, los programas
para comunicación, entre otros.
Software de sistema:
Ordenadores
•Windows
•Mac OS
•Linux
•AmigaOS
Dispositivos
móviles
•Symbian
•Android
•iOS
•Windows Mobile
•BlackBerry OS
•Palm
OS
Software de programación:
•C.
•Delphi
•Visual Basic
•Pascal
•Java