No más C:>, Dorothy

Ya recordé en otro post, mis primeros años en el desarrollo de software:

Treinta años en desarrollo de software

donde las tarjetas perforadas eran la forma de programar, y la excepción era tener acceso a una terminal. Recuerdo a escenas de Alien, 1979 (la primera película) donde la interacción con una computadora era mediante un monitor donde se había una interfaz de línea de comando, con letras verdes sobre fondo negro. Era un reflejo de lo que era común en aquellos años: aunque había interfaces gráficas, no era lo común aún en las computadoras que se usaban. Esa vuelta en el futuro a la interfaz de caracteres me pareció razonable.

Pero en otra película, 1994, Disclosure, Michael Douglas, Demi Moore (una película completamente de ficción, no puedo imaginar a un hombre quejándose de acoso sexual con la preciosa Demi… ;-), Douglas era el gerente de tecnología de una importante empresa dedicada al desarrollo de software y hardware, y recibía emails en un programa que era muy vistoso gráficamente: cada email era un sobre que giraba, con animaciones al abrir el email, al imprimirlo y demás. La empresa hasta había desarrollado una base de datos de realidad virtual, donde uno podía sumergirse en 3D. Esa es la visión más común de Hollywood, las interfaces futuristas, desde las representaciones 3D de Unix en Parque Jurásico, hasta la interacción en pantalla táctil de Minority Report.

Siempre pensé que la línea de comando era lo más racional para muchas operaciones. Si se resisten a la línea de comando, creo que aceptarán que el teclado es más usado y usable que un mouse. Algo que hemos vivido muchos de nosotros, es el placer de manejar el Norton Commander, en vez de luchar con el Windows Explorer. Arrastrar el mouse sigue siendo una operación algo trabajosa (de hecho, lo que hacemos gran parte del tiempo es escribir con el teclado, solamente para algunas operaciones usamos el mouse). Pero el mercado y la historia, ha hecho que triunfara la visión de Hollywood que no es la de Alien: todos quieren interfaces lindas. Desde los nuevos diseños “web 2.0″, hasta sistemas operativos como Mac OS y Windows Vista, hoy por hoy, la operación de una computadora pasa por los ojos. No dejo de estremecerme ante el tamaño esfuerzo de procesadores y diversos hardware, que implica hoy el dibujo, el rendering, de la más simple pieza de nuestro escritorio virtual. Pero es así: la época de las plaquetas Hércules ya pasó.

Este nuevo mundo, donde ya no basta con programar con ventanas de Turbo Pascal, sino que tenemos que estar al tanto de los distintos tipos de letras, controles, distribuciones y cambios de tamaño en ventanas y resoluciones, se ha visto dominado, tanto en el ambiente Unix, Linux y Windows, por el desarrollo de interfaces de ventanas para usuario. En el ambiente Microsoft, Visual Basic ha sido el entorno de desarrollo que nos ha facilitiado el desarrollo de semenjantes aplicaciones. Debería agregar a Delphi y Visual Fox. Visual C++, en ese sentido, ha sido más duro, y solo algún ser humano auto flagelante, podría alabar el editor de cajas de diálogo y a la librería ATL, ambos engendros que han aparecido, para vergüenza de la historia humana. En el ambiente Unix/Linux, no ha sido tampoco fácil la programación, debido a la variedad de implementaciones. Tenemos que reconocer que Visual Basic ha sido una de las interfaces de programación que más ha conseguido abstraernos de las complejidades de desarrollo de ventana, y aún hoy, diría, Java le va en la saga a un simple VB 3.0.

Con el auge de la web, HTML ha sido nuestra nueva forma de plantear la interfaz inmediata de usuario. Primero con CGI (Common Gateway Interface), ayudado luego con el gran PHP (redentor lenguaje que nos evitó seguir con Perl), JSP (JavaServer Pages y otros), y la abstracción brindada por ASP.NET, hoy podemos desarrollar aplicaciones web de forma razonable. En los últimos años se han sumado ideas y aproximaciones, desde MVC, hasta JSF (JavaServer Faces), y hasta el ambiente Smalltalk se ha sumado con Seaside.

Lo que ha surgido con una tecnología como ASP.NET (y otras), es la separación entre código de lógica y gran parte de la presentación gráfica. Ese es el punto a explorar en un próximo post, sobre los por qué de la aparición de Windows Presentation Foundation (recuerdo una charla de Miguel de Icaza, aquí en Argentina, donde ya mostraba el diseño declarativo de un formulario en Mono).

Por hoy, basta. La interfaz gráfica domina gran parte de nuestros desarrollos. Parafraseando a alguna frase conocida de “El mago de Oz”, “No estamos más en Kansas. No más C:>, Dorothy”.

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez

This entry was posted in 3463. Bookmark the permalink.

One Response to No más C:>, Dorothy

  1. Me parece que no es tan sólo el mercado y la historia (aunque este es un término muy ámplio) lo que determinó el triunfo de la interfaz gráfica con mouse. Los estudios de usabilidad vienen impulsándolo desde mucho antes que Alien. Gracias a la interfaz gráfica se popularizó a niveles masivos el concepto de computadora personal.
    De todas formas, la interfaz de línea de comandos (CLI) se usa muchísimo aún, en los ambientes donde tiene sentido usarla.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>