miércoles, 9 de noviembre de 2016

Cero o Uno, that is the question

Recuerde las máquinas o computadoras solo entienden Ceros y Unos (0,1) encendido o apagado para ser más exactos. Cuando tengamos computadores quánticos capaces de procesar tres estados o más esta idea tendrá que cambiar. Pero mientras es sólo eso, ceros y unos.




Esa fabulosa canción que tanto le gusta y que desea guardar en su computador, se almacena en algún formato que a la larga será interpretado en ceros y unos. No se almacena sonido. No se almacenan acordes. Son ceros y unos en diversas secuencias que son interpretados como música.

Lo mismo ocurre sí se almacenan imágenes, hojas de cálculo y cualquier otro medio o recurso.

Esa fabulosa página web, tal cual Ud la ve en su navegador, es sólo la representación de un recurso, recurso que a su vez es tan sólo ceros y unos. No se almacena caracteres ni etiquetas, son solo secuencias numéricas  que se interpretaran como tales. Se obtiene una representación de ese recurso.

TODO lo que Ud ve en la pantalla de su ordenador, computador e incluso móvil, es tan sólo la representación de diversos recursos; ceros y unos representados en algún modo o formato que los humanos podamos entender.

Esto tiene, entre otras, dos consecuencias bien importantes.

La primera es que es IMPOSIBLE hacer nada útil, como humanos, con esos recursos si no tenemos el programa que interprete el formato que requerimos o los medios físicos para leer las fuentes de almacenamiento.

Segunda, la representación para humanos es incidental y no necesariamente requerida en lo que respecta a la comunicación entre las partes del ordenador y entre ordenadores entre si.

La primera de ellas, a su vez, acarrea una consecuencia aterradora al largo plazo, la denominada era del oscurantismo digital.

Hagamos un ejercicio para exponer mejor lo que intento explicar.

Voy a buscar entre mis viejos cajones de la universidad, en los tempranos 90’s, cuando el diskette de 3,5 era el medio de almacenamiento más popular.

Listo!! Eureka!! Tengo un Diskette disponible, en buen estado y con archivos guardados.

Primer reto:

¿Dónde DIABLOS leo ese Diskette?, ¿Con cuál hardware?

Ese medio de almacenamiento es un fósil de los 90’s y ya casi nadie del vulgo, del común, usa las unidades de disco necesarias para leer estos dispositivos, y yo no soy la excepción. No tengo una unidad de diskettes. Ninguno de mis amigos cercanos posee una.

Puntaje: Diskette 1, Humano 0.


Segundo reto:

Imaginemos que logro leer el, ya odioso, diskette del primer reto. Supongamos que está en buen estado y que no tiene sectores dañados. Sus datos no se han degradado.

Revisando los archivos me encuentro con que son, en su mayoría, archivos con la extensión .wq1.

¿Qué demonios es un archivo .wq1?

Después de acudir por ayuda al grandioso San Google, jajaja, caí en cuenta que se trataba de archivos de la, en su tiempo, popular hoja de cálculo Quattro Pro de la extinta Borland para el sistema operativo DOS.  De esa misma búsqueda, averigüé que podía abrir o leer esos archivos usando la suite de ofimática “Corel WordPerfect Office X7”.

No conseguí descargar Corel WordPerfect Office X7, pero digamos que, al menos, ya sé cómo leer esos archivos, declaremos ½ punto a mi favor.

Puntaje: Diskette 1.5, Humano 0.5


¿Ya ven por donde va la idea?

Imaginen dentro de 50 años. Va a ser titánico intentar leer un archivo de los años 90. Ni hablar de épocas anteriores.

Con el devenir del tiempo, todos esos archivos respaldados, serán inútiles sino tenemos el programa que permita interpretar ese formato.

Si por alguna razón perdemos esos programas, o la información de cómo se asocian con sus datos, nos encontraremos ante el oscurantismo digital. Porque no sabremos, ni tendremos como saber, de que iba toda esa “información” guardada en esos medios, si es que acaso aun disponemos de los elementos o equipos necesarios para procesar a su vez los diversos medios de almacenamiento de que dispongamos.

Respecto a la segunda gran consecuencia debo agregar que esta acarrea la noción de que la representación de recursos para los humanos es prioritaria, dejando de lado la disponibilidad de esos recursos para la comunicación inter-máquinas.

La gran mayoría de los esfuerzos que se han llevado a cabo en áreas de desarrollo de software están vinculados a las interfaces, capa de presentación, para humanos. Que sí los sistemas iOS, Android, etc. Que sí frameworks en JQuery, Angular, NodeJS, etc. Todos orientados a como brindar al usuario una “experiencia” superior. Y eso está muy bien.

El problema es que en ese esfuerzo hemos dejado de lado el problema de fondo que buscamos resolver, el cual no es más que la comunicación entre máquinas. REST no es más que un intento de facilitar esa comunicación, y uno muy bueno. Pero hemos dado una vuelta de tuerca, un giro completo, para volver a encontrarnos con problemas que ya habíamos resuelto de manera efectiva, y ahora queremos dejar de lado esas soluciones envalentonados por la supuesta novedad de nuestras plataformas tecnológicas.

Los sistemas IBM VM/CMS, MVS y UNIX son ejemplos poderosos de grandes soluciones a grandes problemas, y por soluciones grandes me refiero a soluciones innovadoras, eficientes y eficaces, sencillas y geniales. Con muchos puntos de mejora obviamente. Pero grandes en su aporte e impacto. No es de extrañar que estos ejemplos sean precisamente de sistemas operativos usualmente asociados a grandes máquinas o mainframes.

La naturaleza de los problemas que se resolvieron con estos sistemas no ha cambiado en core. Muchas de las soluciones ofrecidas en estas plataformas son fundamentales aún hoy día. Obvio, en esos sistemas la experiencia del usuario no era la que dominaba o dirigía el diseño.
Necesitamos conocer y comprender ese pasado que debemos sostener y repetir en cuanto a su genialidad y aporte, para que, con fundamento, podamos ser dignos de ofrecer nuestras propias grandes soluciones a los nuevos problemas, sin tener que reinventar la rueda ni el creer que descubrimos el café con leche.

La virtualización, la “nube”, los sistemas para dispositivos móviles, la transformación digital, las metodologías ágiles, las bases de datos no relacionales, el procesamiento distribuido y, apuesto mi credibilidad en esto, la computación quántica (en sus fundamentos) son todos asuntos que ya hemos resuelto, y que a cada vuelta de tuerca retornan revestidos de novedad, como la panacea de moda.

Baladí, todo eso es baladí. Ceros y Unos son los que mandan.



Como decía el gran Dennis Ritchie, UNIX es muy simple, sólo que hay que ser un genio para comprender su simplicidad. 

No hay comentarios:

Publicar un comentario