¿Qué es el software?

El software es la colección de pequeños programas en lenguaje informático.

El software de computadora o simplemente software es cualquier conjunto de instrucciones que dirige a una computadora a realizar operaciones específicas. El software informático consta de programas informáticos, bibliotecas y datos no ejecutables relacionados (como documentación en línea o medios digitales). El software de la computadora no es tangible, en contraste con el hardware de la computadora, que es el componente físico de las computadoras. El hardware y el software de la computadora se requieren entre sí y ninguno de los dos puede usarse de manera realista sin el otro.

En el nivel más bajo, el código ejecutable consiste en instrucciones de lenguaje de máquina específicas para un procesador individual, generalmente una unidad central de procesamiento (CPU). Un lenguaje de máquina consiste en grupos de valores binarios que significan instrucciones del procesador que cambian el estado de la computadora de su estado anterior. Por ejemplo, una instrucción puede cambiar el valor almacenado en una ubicación de almacenamiento particular dentro de la computadora, un efecto que el usuario no puede observar directamente. Una instrucción también puede (indirectamente) hacer que aparezca algo en una pantalla del sistema informático, un cambio de estado que debería ser visible para el usuario. El procesador lleva a cabo las instrucciones en el orden en que se proporcionan, a menos que se le indique “saltar” a una instrucción diferente o interrumpido.

El software escrito en un lenguaje de máquina se conoce como “código de máquina”. Sin embargo, en la práctica, el software generalmente se escribe en lenguajes de programación de alto nivel que son más fáciles y más eficientes para que los humanos los usen (más cerca del lenguaje natural) que el lenguaje de máquina.

Los lenguajes de alto nivel se traducen al lenguaje de máquina utilizando un compilador o un intérprete o una combinación de ambos. El software también se puede escribir en un lenguaje ensamblador de bajo nivel, esencialmente, una representación vagamente mnemónica de un lenguaje de máquina usando un alfabeto de lenguaje natural. El lenguaje ensamblador se traduce al lenguaje máquina utilizando un ensamblador.

Mira esta analogía:

A) Cerebro = CPU
B) Memoria (Consciente) = HDD
C) Memoria (Subconsciente) = RAM
D) Sentidos = Dispositivos de entrada
E) Comida = Poder
F) Mente =?

LHS = suma (A + B + C + D + E + F) = Humano – Mente (o Alma) = Cuerpo
RHS = suma (A + B + C + D + E + F) = Computadora -? = Hardware

Por lo tanto, = Software.
Algo que proporciona un propósito (una de las propiedades) al hardware para actuar es el software (incluido qué y cómo actuar).

¿Qué propiedades (se puede sentir / medir) debería tener?

  1. En el nivel superior, debe escribirse en un lenguaje que la CPU pueda entender (o se requiere un compilador).
  2. A un nivel más profundo, debería ser capaz de iniciar un flujo controlado de electrones llenando el espacio de energía entre las bandas de semiconductores y, finalmente, debería causar cierta excitación térmica.

¿Se puede combinar el código con el software o …?
En general, el término software se usa tanto para su plano (código fuente) como para su forma ejecutable. También tiene sentido usarlo tanto para la forma como no tienes mucho control sobre su forma ejecutable, pero es inseparable en términos de proceso de pensamiento. Entonces puedo decir que los programadores escriben el plan del software teniendo en cuenta su forma ejecutable .

… .. y por cierto no mencioné intencionalmente los dispositivos de salida en analogía arriba 😉

Su ventilador de techo tiene una función y una sola función. Gira Un hacha tiene una sola función, para ser utilizada como instrumento de balanceo. Sin embargo, puedes inventar usos para ello. Volveremos a esto más tarde.

Ahora considere esta configuración:

Tiene solo una función. La batería enciende la bombilla cuando todos los cables están conectados. Sin embargo, tenemos la opción de desconectar, digamos el cable blanco, de la batería. Por lo tanto, tenemos la opción de encender o apagar la bombilla. Esto es programabilidad . Puede programar la bombilla para que se encienda o apague en función de su entrada, lo que sucede al quitar el cable o conectarlo.

Esta configuración de batería de bombilla solo se puede programar de una manera, la decisión de encendido y apagado.

Las primeras computadoras se parecían mucho a la configuración anterior. Tenían que ser programados moviendo los interruptores de encendido a apagado y viceversa. Algo como esto:

Esto pronto se volvió lo suficientemente tedioso como para pasar de moda, y se introdujeron las tarjetas perforadas. Simplemente golpeó tarjetas en ubicaciones específicas para decirle a la computadora qué interruptores se suponía que estaban encendidos y cuáles apagados. La computadora leyó la tarjeta y se encendió y apagó.

Ahora, sin embargo, estas instrucciones vienen en forma de software, donde la posición de encendido está representada por el bit 1 y apagado por el bit 0 [1] .

El software de computadora es una tarjeta representada en bits. No importa cuán complejo sea el software, en última instancia, se parece a:

0101010001101000011010010111001100100000011000010110111001110011011101110110010101110010001000000110100101110011001000000110000101110111011001010111001101101111011011010110010100100001

que interpretamos que es:

“¡Esta respuesta es increíble!” [2]

Notas al pie

[1] Bit

[2] Convertir cadena a binario en línea

More Interesting

¿Cuáles son los principales desafíos que ha enfrentado como probador de software? ¿Cómo los has superado?

¿Cuál es el mejor software de gestión de activos digitales para pequeñas empresas y organizaciones sin fines de lucro?

¿Qué es la "gestión de incidentes" en las pruebas de software?

¿Cuál es la mejor aplicación gratuita para descargar videos de YouTube para Mac?

Tengo una herramienta de documentación codificada (por un ex colega) con componentes de código abierto. ¿Cómo puedo verificar para estar seguro de que el software no está pirateado?

¿Sublime Text es gratis?

¿Cuál es el mejor lugar para escribir sobre software empresarial o aspectos del software empresarial que realmente atraerán lectores?

¿Qué software de presupuesto y presupuesto utilizan las agencias de diseño de sitios web para rastrear el progreso del equipo y los presupuestos por semana?

¿Cuáles son algunos casos de mal uso accidental del software que llevaron a malas consecuencias?

¿Por qué las escuelas indias no toman el software de gestión en sus actividades diarias?

¿Cuál es mejor, OmniFocus o las cosas?

¿Pueden los scripts personalizados en Excel permitir que un tercero monitoree mi actividad?

¿Cuáles son las mejores plataformas de seminarios web en vivo gratis?

¿Qué es el clon de Uber? Quiero crear una aplicación de viaje compartido similar a Uber. ¿Cuál es el costo estimado para crear, alojar y mantener una aplicación de este tipo?

¿Qué es un buen software para monitorear las actividades de los empleados en una organización?