El software (Sistema lógico) son las instrucciones que el ordenador necesita para funcionar, no existen físicamente, o lo que es igual, no se pueden tocar.
Un programa informático o Algoritmo es un conjunto de instrucciones que al ser ejecutadas una tras otra nos otorga un resultado a un problema dado, sean cuales sean los datos o circunstancias particulares del mismo.
Cuando un programa informático se está ejecutando en el ordenador se está desarrollando un proceso.
Las instrucciones que componen los programas informáticos se clasifican en los siguientes grupos: Instrucciones de entrada/salida (transferencia de datos), instrucciones de proceso (tratamiento) e instrucciones de control (flujo de control o de bifurcación y saltos).
Los programas están divididos en rutinas. Una rutina o subrutina es un subconjunto del conjunto de instrucciones que conforman el programa. Cada una de las rutinas de un programa realiza una determinada función dentro del mismo.
webOS (es un sistema operativo multitarea para dispositivos inteligentes como televisores y relojes, basado en Linux)
Controladores de dispositivo o Drivers
Utilidades como las de diagnóstico, corrección y optimización.
Software de Servidor
Software de Programación.
Términos:
Bug - Es un error en el código interno de un programa. Existe
un proceso de búsqueda de Bugs para poder corregirlos conocido con el
nombre de "DEBUGGING". Este proceso empieza justo después de
empezar a realizar un determinado programa, continua en unas fases de
prueba (denominadas alpha (1ªfase) y beta (2ªfase)). Concluye cuando este programa forma finalmente un software (lease sistema operativo o aplicación).
Código fuente
- Es el código que escribe el programador cuando hace un programa. Son
ficheros de texto que contienen sentencias de un lenguaje de
programación que deberá ser compilado o interpretado para obtener una
funcionalidad o proceso, es decir, un programa.
Código máquina
- Es un lenguaje muy básico y elemental usado a nivel del
microprocesador. Consiste en combinaciones de ceros y unos. El código
máquina es el único entendible por el procesador y los programas deben
ser "traducidos" a ese lenguaje para poder ejecutarse. Esta tarea la
ejecutan los llamados compiladores.
Editores de texto
Bloc de Notas
EDLin
Vi, editor muy común en Unix.
Gedit de linux
Compiladores
Intérpretes
Depuradores o Debuggers
Entornos de Desarrollo Integrados (IDE)
Software de Aplicación:
Procesadores de texto.
Microsoft Word
Apache OpenOffice Write
LibreOffice Write
Google Docs
WordPad
Word Start (fue el primer procesador de textos para PC)
WordPerfect (Posterior al Word Start)
iWork Pages de Mac
Autoedición o maquetación
Scribus
Microsoft Publiser
InDesign
Inkscape
Tratamiento fotográfico o retoque fotográfico
Adobe Photoshop
The Gimp
Adobe Photoshop Lightroom
Paint Shop Pro Photo
Paint
Paint3D
Diseño gráfico
Corel Draw
Apache OpenOffice Draw.
LibreOffice Draw.
Adobe Illustrator
Hojas de Cálculo
Microsoft Office Excel
Apache OpenOffice Calc
LibreOffice Calc
iWork Numbers de Mac
Google Sheets
Sistemas gestores de bases de datos SGBD. Podemos pensar en una base de datos como en un enorme fichero donde cada ficha es un registro, y un registro se compone de varios campos (ejemplo nombre, apellidos, domicilio, etc.)
MySQL
Microsoft Office Access
Apache OpenOffice Base
LibreOffice Base
Presentaciones
Microsoft Office PowerPoint
Apache OpenOffice Impress
LibreOffice Impress
Google Slides
Programas de comunicaciones
Whatsapp
Telegram
Skype
Google Hangouts
Line
Paquetes integrados o Suite. Software de Ofimática (Ofimática - El término ofimática deriva de la contracción de OFIcina e inforMÁTICA se emplea para designar el conjunto de técnicas informáticas y de mecanización que tienen como objeto facilitar las tareas propias de una oficina)
Microsoft Office (97, 2000, 2002 o XP, 2003, 2007, 2010, 2013, 2016, 2019)
Microsoft Works (mas pequeña que Office e incluía un procesador de texto, una hoja de cálculo y una base de datos)
Apache OpenOffice
LibreOffice
iWork de Mac (Pages el procesador de textos, Numbers la hoja de cálculo, Keynote presentaciones)
Programas de diseño asistido por computador o CAD
AutoCAD
ArchiCAD
3D Studio MAX
Google Sketchup
Cinema 4D
FreeCAD
LibreCAD
Blender
SolidWorks
OCR (Optical Character Recognition, Reconocimiento Óptico de Caracteres) paso de imágenes a texto
Navegadores web
Google Chrome (Motor de renderizado Google Blink)
Mozilla Firefox (Motor de renderizado Gecko)
Opera (Motor de renderizado Google Blink)
Chromium
Vivaldi
Safari su origen fue para Mac (Motor de renderizado WebKit)
Microsoft Explorer (Motor de renderizado Trident)
Microsoft Edge (Motores de renderizado EdgeHTML, Chakra)
Konqueror (Motor de renderizado KHTML/WebCore)
Torch
Epiphany (Motor de renderizado WebKit)
Maxthon (Motor de renderizado Google Blink)
Flock
Iceweasel
GNU IceCat
Netscape Navigator
SeaMonkey
K-Meleon para Windows
Dolphin Browser
Galeon (Motor de renderizado Gecko)
Dillo (Motor de renderizado gzilla)
Links (Motor de renderizado GtkHTML)
Brave
Samsung Internet Browser
Tor (Deep Web)
Dentro del Software de Aplicación hay también otra subdivisión:
Programas verticales - Son aquellos que resuelven problemas concretos y han sido diseñados para cumplir una misión específica. Ejemplo el software de control aéreo.
Programas horizontales o de propósito general - Son aquellos que sirven para realizar tareas de carácter amplio y general, y que pueden ser utilizados por la mayoría de usuarios de un ordenador personal. Ejemplo los procesadores de texto.
Software colaborativo o groupware se refiere al conjunto de programas informáticos que integran el trabajo en un sólo proyecto, con muchos usuarios concurrentes, que se encuentran en diversas estaciones de trabajo, conectadas a través de una red (internet o intranet).
Software libre se refiere el conjunto de software (programa informático) que por elección manifiesta de su autor, puede ser copiado, estudiado, modificado, utilizado libremente con cualquier fin y redistribuido con o sin cambios o mejoras.
Firmware - Es un Software que maneja físicamente al Hardware. El programa BIOS de una computadora es un firmware cuyo propósito es activar una máquina desde su encendido y preparar el entorno para cargar un sistema operativo en la memoria RAM desde una unidad como el Disco Duro.
Multiplataforma - Diseño adaptado a plataformas (PC, Smartphone o
tableta) que dispondrá de diseños específicos para cada una de ellas.
Usabilidad - Se refiere al grado en que un producto puede ser usado por usuarios específicos para conseguir metas concretas con efectividad, eficiencia y satisfacción, dado un contexto específico de uso.