Historia del software
El primero se
refiere al desarrollo de un algoritmo pensado para una máquina en específico,
como era en su época la ‘máquina analítica’ a mediados del siglo XIX. Esta
máquina al final no se llegó a realizar y el algoritmo no se puso en práctica.
La programadora de la primera ‘protopieza’ de software fue Ada Lovelace, la
primera mujer programadora de la historia.
El segundo suceso que se dio fue un trabajo de Alan Turing
que se basaba en números computables, por lo que estaríamos ante la primera
teoría del software de todos los tiempos. Esto ocurrió poco antes de mediados
del siglo XX.
Etapa anterior
a 1950: Son décadas en
las que se sientan las primeras bases y pinceladas del software. Como se ha
mencionado en el epígrafe anterior, Ada Lovelace y Alan Turing son los
precursores del concepto ‘software’.
Software y tecnologías de la información
Concepto de Software
El software es el conjunto de programas, instrucciones, datos y reglas lógicas que permiten que un dispositivo electrónico, como una computadora o un teléfono móvil, ejecute tareas específicas y funcione correctamente. Es la parte intangible de un sistema informático. El software es la base que permite que los dispositivos electrónicos realicen funciones útiles, ya que sin él el hardware no tendría instrucciones para operar ni podría ejecutar ninguna tarea.
Función y utilidad
El software no solo es conjunto de programas e
instrucciones; cumple funciones clave que permiten que un dispositivo
electrónico realice tareas útiles para el usuario y aproveche al máximo sus
recursos. Estas funciones han sido descritas por fuentes
especializadas en informática y tecnología:
Facilita la comunicación entre
usuario y máquina
El software actúa como intermediario entre el usuario y el hardware, proporcionando una interfaz (gráfica o de comandos) que permite al usuario dar instrucciones y recibir respuestas del dispositivo de forma comprensible. Esto hace posible que funciones complejas se realicen de forma simple y accesible para personas sin conocimientos técnicos avanzados. (inesdi.com)
Organiza y administra los recursos del sistema
Una de las funciones fundamentales del software, especialmente del sistema operativo, es gestionar los recursos del hardware (como la memoria, la CPU y los dispositivos de entrada/salida) para que distintos programas puedan ejecutarse al mismo tiempo sin conflictos y de manera eficiente. Esto optimiza el uso de los recursos disponibles en el equipo. (TechTarget)
Automatiza acciones y procesos
El software permite automatizar tareas repetitivas o complejas,
reduciendo la intervención manual del usuario y aumentando la eficiencia. Por
ejemplo, programas de cálculo automático, impresión de informes o edición de
datos realizan acciones por sí solos siguiendo las instrucciones programadas. (Get a professor)Optimiza el rendimiento del sistema
Al organizar y controlar cómo se utilizan los recursos y al automatizar
tareas, el software mejora el rendimiento general del dispositivo,
haciendo que funciones como abrir programas, procesar información o ejecutar
múltiples tareas ocurran de forma más rápida y estable. (TechTarget)Características del software de sistema
La gestión de recursos es una de las funciones principales
del software de sistema. El software de
sistema especialmente el sistema operativo es responsable de controlar las
operaciones básicas del computador y coordinar el uso del hardware para que
funcione de manera eficiente.
El sistema operativo administra recursos fundamentales como la memoria, el
procesador y los dispositivos de entrada y salida, asegurando que los programas
se ejecuten correctamente y sin conflictos.
Administración de memoria
El software de sistema controla cómo se asigna la memoria RAM a cada
programa en ejecución. Supervisa qué procesos están usando memoria, libera
espacio cuando ya no es necesario y evita que un programa interfiera con otro.
Esta gestión permite estabilidad y mejor rendimiento del equipo.
Administración de procesos
Organiza y supervisa las tareas que ejecuta el procesador (CPU). Decide qué
proceso se ejecuta primero, cuánto tiempo utiliza el procesador y cómo se
alternan varias tareas al mismo tiempo (multitarea). Esto permite que el
usuario pueda usar varias aplicaciones sin que el sistema colapse.
Control de dispositivos de entrada y salida
El software de sistema también coordina la comunicación entre el hardware y
el sistema mediante controladores. Gestiona dispositivos como teclado, mouse,
monitor, impresoras y almacenamiento, permitiendo que funcionen correctamente y
respondan a las órdenes del usuario.
Tipos de sistema
Son sistemas que solo ejecutan una tarea a la vez: no se puede iniciar otro programa hasta que no termine el actual. También se les llama single-tasking o sistemas de procesamiento único. Estos sistemas fueron comunes en las primeras computadoras y se usan todavía en entornos muy simples o embebidos donde no se necesita multitarea.
Sistemas Multitarea (Multitasking)
Permiten ejecutar varias
tareas “al mismo tiempo” mediante un mecanismo de reparto de tiempo
del procesador, aunque internamente solo se ejecute una instrucción por ciclo
de CPU. Esto se logra con un planificador que asigna “rebanadas de tiempo” (time
slices) entre los procesos.
Sistemas en Tiempo Real (Real-time)
Son sistemas diseñados para aplicaciones donde el tiempo de respuesta es crítico: deben responder dentro de límites temporales estrictos. Este tipo de sistemas no solo procesa operaciones, sino que lo hace con determinismo y baja latencia, es decir, el tiempo de respuesta es predecible y garantizado. Se usan en ambientes donde un retraso puede causar fallos graves: control industrial, sistemas médicos, robótica, etc. (oacampusvirtual.uadec.mx)
Sistemas Distribuidos (Distributed)
En un sistema distribuido, varias computadoras independientes coordinan su trabajo a través de una red para que parezca un único sistema funcional. Esto permite compartir recursos y cargas de trabajo, mejorando escalabilidad y potencia de cálculo. Los usuarios pueden acceder a archivos, procesos y servicios distribuidos como si fueran locales.
Software de desarrollo y lenguaje
El éxito en el desarrollo de software depende, en gran medida, de elegir el lenguaje adecuado para el proyecto. A continuación, exploramos los lenguajes que están liderando la industria y que prometen tener un impacto significativo en el futuro.
Python:
Python sigue
siendo un pilar en áreas como la ciencia de datos, la inteligencia artificial y
la automatización. Su sintaxis sencilla y su extensa biblioteca de herramientas
lo convierten en una opción popular tanto para principiantes como para
expertos.
JavaScript
JavaScript es el
estándar de facto para el desarrollo web y uno de los lenguajes más utilizados
a nivel global. Su capacidad para ejecutarse tanto en el lado del cliente como
en el servidor (gracias a Node.js) le otorga una versatilidad única.
Rust
Rust ha emergido
como una opción clave en el desarrollo de sistemas gracias a su enfoque en la
seguridad y el rendimiento. Su capacidad para gestionar la memoria sin
necesidad de un recolector de basura lo hace ideal para aplicaciones donde la
eficiencia es crítica, como sistemas embebidos, motores de juegos y blockchain.
Go (Golang)
Go, también
conocido como Golang, fue desarrollado por Google para simplificar el
desarrollo de aplicaciones escalables. Este lenguaje se ha posicionado como una
opción destacada para proyectos backend, aplicaciones en la nube y
microservicios, gracias a su alto rendimiento y capacidad para manejar tareas
concurrentes.
Software de aplicación
Un software de
aplicación es un tipo específico de programas, también llamado “aplicación”,
cuya función es permitir al usuario llevar a cabo tareas de distinto tipo y
finalidad, como pueden ser trabajos, cálculos, navegación web, videojuegos y
cualquier otro fin distinto al mantenimiento del sistema. En esto se diferencia
del software de sistema.
Forman parte del
software de aplicación todos aquellos programas que no tienen que ver con el
funcionamiento de la computadora, sino que se incorporan al sistema para que
funcione como herramienta de trabajo (como hojas de cálculo, procesador de
palabras o programas de diseño gráfico), de ocio (como videojuegos,
reproductores de audio o video) o de información (como enciclopedias digitales
o navegador de internet), entre muchas otras funciones posibles.
Normalmente, el
software de aplicación es diseñado y comercializado aparte del resto de la
computadora, y su selección e instalación en el sistema es a elección del
usuario. Asimismo, puede ofrecerse como parte de proyectos abiertos o
colaborativos de descarga gratuita en internet.
Jonathan Llamas, J. F. (1 de 11 de 2020). economipedia. Obtenido de Historia del software: https://economipedia.com/definiciones/historia-del-software.html


.jpg)




Comentarios
Publicar un comentario