Los diferentes programas informáticos o tipos de software, son la colección de programas de ordenador y los datos relacionados que proporcionan las instrucciones que le dicen a una computadora lo que debe hacer, y estos suelen agruparse según el tipo de funciones para los que fue desarrollado.
En contraste con el hardware, el software es intangible; lo que significa que no se puede tocar. A veces también se usa en un sentido más estrecho, por ejemplo, cuando se habla únicamente de la app y no de todo lo que hay detrás. Con la implementación de ellos podemos crear programaciones para ayudarnos tanto con software tecnológicos, software para marketing, base de datos, herramientas de diagnóstico, sistemas operativos, servicios SaaS, entre otros.
En cualquier caso, es difícil establecer categorías genéricas significativas para las aplicaciones de los tipos de software. Conforme aumenta la complejidad del mismo se hace más complicado establecer compartimentos claramente separados.
Veamos las siguientes categorías.
Software de aplicación
Tiene consigo todos y cada uno de los programas además de sus utilidades. Derivan de un tipo de programación de software, en el que todos y cada uno de ellos contiene una función muy específica.
Software de programación
Tiene ciertas similitudes con el anterior, aunque este más ligado a lo que es el conocimiento lógico y de programación orientada a objetos. Este tipo de programas son la base para desarrollar nuevas funciones.
Software científico y de ingeniería
Se encarga de realizar complejos cálculos sobre datos numéricos de todo tipo. En este caso la corrección y exactitud de las operaciones que actúan, es uno de los requisitos básicos que deben de cumplir.
Software de sistema
Este es sin duda alguna el tipo de software más específico e importante que se conoce. Es el que, básicamente, permite la interacción entre el sistema operativo de algún equipo con el usuario final. Este es de los tipos de software que trae consigo una serie de utilidades, estas a su vez tienen dos objetivos los cuales son:
- Dar una buena experiencia de usuario, desde la administración hasta el manejo o la interacción.
- Gestionar los distintos recursos físicos que pueda necesitar el equipo. Esto puede servir para diferentes tareas.
Software de tiempo real
Está formado por todos aquellos programas que miden, analizan y controlan los sucesos del mundo real a medida que ocurren. Reaccionan de forma correcta a los estímulos de entrada en un tiempo máximo prefijado. Deben, por tanto, cumplir unos requisitos temporales muy estrictos y dado que los procesos que controlan pueden ser potencialmente peligrosos, tienen que ser fiables y tolerantes a fallos.
Software de inteligencia artificial
El software basado en lenguajes procedimentales es útil para realizar de manera rápida y fiable operaciones que para el ser humano, son tediosas e incluso inabordables. Sin embargo, es difícilmente aplicable a problemas que requieran la aplicación de funciones intelectuales más elevadas, por triviales que nos puedan parecer.
El software de inteligencia artificial trata de dar respuesta a estas deficiencias, basándose en el uso de lenguajes declarativos, sistemas expertos y redes neuronales.