Andres de Vivanco

¿Cómo explicarle a Papá que es Internet?

¿Cómo explicarle a Papá que es Internet?
Andres de Vivanco
29 de mayo del 2015

Sobre algunos conceptos fundamentales de la ciencia y tecnología informática

El lenguaje tecnológico, en el que es necesario entender los conceptos del hardware, software, Internet y Nube, puede ser comparado con el lenguaje natural, que ha evolucionado desde que empezó con signos, sonidos y patrones escritos hasta transformarse en un sistema de letras, palabras y oraciones que siguen leyes de contexto, sintaxis y gramática.

Hago esta analogía porque hace unos días mi padre de 64 años, un vendedor, empresario innato, enormemente leído, culto y de mucha influencia, pero con un conocimiento tecnológico limitado a usar su Yahoo! mail, me preguntó ¿qué es la Internet?.

Para empresarios e inversionistas con ese nivel de entendimiento tecnológico es fundamental saber cómo este concepto llamado Internet ha evolucionado y cuál es el potencial de usarlo como una fuente de ingresos en el futuro. Las similitudes que se encuentren en las comparaciones de este texto ayudarán a levantar esa cortina de humo.

Antes de hablar de la Internet es importante definir los conceptos de software, data y hardware. El software usa la data para diferentes funciones, como guardarla en archivos de Word o en bases de datos o también enviarla como paquetes a través de la internet. Imagínese una persona haciendo un inventario semanal: su función es recolectar pedazos de papel de los ítems vendidos cada día, para sumarlos e ingresar la suma en una página diaria con una lista de todas las ventas de la semana. El software vendría a ser la lógica o memoria de la persona haciendo el inventario, la data serían los pedazos de papel diarios, la base de datos el libro de inventario (un repositorio de data) y el hardware es la persona o la máquina física, palpable, programada para hacer el inventario. Como es obvio, un hardware sin memoria, sin software, no sirve para nada.

Para clarificar lo que es hardware y software, podemos compararlo con la tierra y el cielo. El hardware sería la corteza de la tierra con sus diferentes aspectos geográficos y naturales; solo la corteza, sin considerar las capas interiores. Es un solo nivel de circuitos con diferentes componentes conectados como chips, incluyendo el chip principal o CPU, el cual interactúa con las otras partes de la tierra a memoria, discos duros y USBs.

El software vendría a ser cielo con todas sus capas (troposfera, estratosfera, mesosfera, termosfera y exosfera), cada una con diferentes variables: oxígeno, presión y  temperatura, entre otras. En cada capa lógica del software existe un lenguaje específico, dependiendo del artefacto que esté siendo programado. Un reloj digital usa un lenguaje más básico y probablemente más difícil de programar, mientras que una aplicación web usa una capa con un lenguaje más abstracto con el cual es más fácil programar.

Con el desarrollo de la tecnología y la web, las capas han ido surgiendo para darle mayor facilidad a los desarrolladores. Cada capa o lenguaje de software entiende a su superior y sabe cómo comunicarse con su inferior, hasta cuando llegamos a la más baja (la troposfera), donde se encuentra el único lenguaje que entiende el CPU u otro artefacto de Hardware que esté siendo programado.   De esta manera el hardware –la tierra- y el software –el cielo- interactúan.

La tierra, el hardware, cambia a diferentes estados en base a las instrucciones enviadas desde de la troposfera del cielo (o lenguaje de ensamblaje) y que viajan por las diferentes capas para finalmente ser convertidas en lenguaje de ensamblaje que el chip o CPU entiende. De la misma manera, el hardware le responde al cielo de eventos relacionados a hardware como sensores, relojes, temperatura u otros. Por ejemplo si la estratósfera manda un mensaje específico destinado a detectar un huracán, el mensaje viaja hasta comunicarse con el hardware, el cual sabe cómo detectarlo gracias a las instrucciones transmitidas.

Así como el hardware reacciona al software, el software también es programado para reaccionar a las señales del hardware. Por ejemplo, cuando un sistema de alertas advierte que un Huracán ha llegado a categoría 5, el hardware le envía un mensaje al software para que alerte a los usuarios de la amenaza vía una notificación en sus Smartphones. Obviamente esta señal debe ser comunicada al software desde la troposfera o en lenguaje de ensamblaje, y viajar verticalmente por los niveles lógicos para poder ser procesada por el software. Cuando el software reconoce que tiene que enviar esta alerta comienza a comunicarse nuevamente con el hardware para que la alerta se muestre como una notificación de una aplicación instalada en un dispositivo de hardware (Smartphone). De esta forma el software está dando instrucciones al hardware, recibiendo señales del hardware, procesandolas lógicamente y reaccionando a la lógica programada, para nuevamente usar el hardware para enviar las notificaciones. Las aplicaciones de son básicamente una constante comunicación entre el hardware y el software en sus diferentes capas de abstracción.

Las constantes interacciones de software con hardware se llaman Entradas o Input (lo que el software recibe como clics de un mouse o paquetes de web) y Salidas o Output (lo que el software muestra, como abrir una ventana con una página web).  En el caso descrito el Input es la instrucción del software para detectar el huracán, el output es la señal enviada cuando el huracán llega a la categoría 5 (algo que solo lo sabe el hardware). Luego el input es la señal para mandar la notificación del huracán en categoría 5 y el output es la notificación apareciendo en los Smartphones. El concepto de Input y Output, conocido como I/O, es fundamental para el entendimiento del software y hardware.

Ahora, sabiendo los conceptos básicos de computación: software (con su necesario I/O), data y hardware se puede decir que: la Internet es una avenida de comunicación compuesta por diferentes componentes de hardware (como cables y routers)  para facilitar el flujo de data (paquetes de web) entre programas de software.  

Ahora, sabiendo el concepto de la Internet, como último ejemplo, y más práctico, podemos observar el uso de la Internet. Cuando un usuario abre un navegador de Internet o browser instalado en el hardware de su computadora e ingresa la dirección a navegar (tipowww.google.com), el software navegador se comunica con el hardware de la computadora del usuario, el cual se conecta con la aplicación de búsqueda de Google y le envía paquetes de data para mostrar la página web; si el cliente usa la internet para conectarse con www.linio.com, estaría usando una aplicación web de comercio electrónico en vez de un software buscador como Google. Otro tipo de software web común es el de webmail, como Gmail, Outlook o Yahoo (el cual aún usa mi papá).

Como podemos darnos cuenta, el software y demás componentes tecnológicos descritos vienen en distintos sabores y colores y están destinados a ser usados tanto en la Internet (probando que ésta puede ser usada para diferentes tareas), como en plataformas de hardware totalmente diferentes (como un robot). Con este conocimiento básico ya se puede entender en más detalle otros conceptos algo más complejos como la Nube, servicios web, algoritmos e inteligencia artificial, en futuras publicaciones.

 

Por Andrés de Vivanco

29 – May – 2015

Andres de Vivanco
29 de mayo del 2015

COMENTARIOS