viernes, noviembre 24, 2006

Psicoanálisis de la linea de comandos y el código abierto

"Si suspiras al recordar aquellos días cuando los hombres eran hombres y escribían sus propios drivers. Si te encuentras sin ningún proyecto interesante y te gustaría tener un verdadero sistema operativo que pudieras modificar a tu gusto, si te resulta frustrante tener solo Minix. Entonces este artículo es para ti".

Con esta "frasecita" inicio Linus Torvalds a reclutar, tiempo después, comenzó la leyenda.

Como buen noob de Linux, he estado leyendo uno que otro escrito subversivo en esta pagina. (súper interesante hay traducciones de unos escritos de Djkstra... wow!! Súper recomendados) Después de quedar algo anonadado con algunos detalles técnicos de los formatos .doc, programitas como deFrag y el famoso ScanDisk confieso que tal vez hasta termine siendo otro evangelizador.

Recuerdo que hace algún tiempo le preguntaba a algunos amigos medio fanáticos "ingenuamente" porque linux podía decirse que era mejor que Windows. Sin sorpresa me tope con las respuestas de siempre.

"Los de ingenieros de Microsoft son ineptos"
"Linux es libre, y por tanto mas gente está solucionando los bugs"
"No hay pantallas azules"

Dada la ferviente pasión de algunos de esos amigos por linux me sorprendió lo poco concluyentes de sus respuestas.

Después alguien me hablo del KISS (keep it simple stupid) como típica política de desarrollo en sistemas UNIX y esta me bastó como respuesta. Al tiempo leyendo un articulito de Eric Raymond (el que escribió el famoso HOW TO BE A HACKER) me enteré de otras practicas de desarrollo (liberar rápido, código atómico y un desarrollo evolutivo... entre otras) que sistemas "privativos" no poseen y que a la final han resultando best practices.

Porque los supuestos fanáticos no supieron decirme las ventajas? falta de conocimiento?... no creo, Hasta yo, con mi corta experiencia en sistemas operativos y en especial manejando Linux puedo decir algunas cosas mas de porque Linux es mejor. (Por solo dar un ejemplo... el hecho todo es un archivo).

Será la estabilidad?

Esa es de las cosas que más escucho decir, que la estabilidad esto, que la estabilidad lo otro. A mi la verdad no sé si es por falta de experiencia pero me he encontrado muchas veces con el linux bloqueado. Y en cuanto a rapidez, la única forma con la que pude hacer que linux corriera decentemente fue con xubuntu como distribución.

Lamentablemente, padezco de la enfermedad de encaminar mis razonamientos siempre hacia el libro de turno, y dado que el libro es (de nuevo) Te Second Self, creo que hay una explicación sicoanalítica prestada de este libro jejeje.

Para nadie resulta un misterio cual resulta ser el arquetipo del programador, o en su defecto, del usuario Linux... interés por la programación, videojuegos, RPGs y a veces literatura del mismo tipo (lo cual es descrito por la autora). Según Turkle estas aficiones tienen en común una necesidad de control, es decir, al programar uno esta a cargo de que se hace (así lo que uno escriba pase por 2 o mas compiladores y/o interpretes), el RPG esta supeditado a unas reglas fijas (nada mas frustrante que un master demasiado laxo) y el videojuego tiene también las reglas que decidió el equipo de programación al realizarlo. Así también, la línea de comandos (shell) de linux, resulta mucho más gratificante para aquel que desea control.

La línea de comandos permite al usuario darle la sensación que se comunica con el sistema operativo en su mismo lenguaje (así esto no sea verdad). Permite también que él elija todas las opciones con las que se ejecuta el programa, cuando se lanza pero específicamente cuando termina, cuando lo para. La labor de planeación de procesos del SO se oculta en cierta forma al utilizar el shell, el usuario puede decidir si parar el proceso y al hacerlo se siente bien consigo mismo. Siente poder.

Así también, el código libre da la idea de que la maquina es un ente totalmente comprensible. No hay cajas negras, y así nunca vaya a leer el kernel el usuario puede, en principio, modificarlo a su antojo y entenderlo. El entendimiento genera sensación de control y este control le da poder.

Bueno esto tal vez quede como cortado pero la verdad ya no se me ocurre que decir y concluir porque igual uno podría dar vueltas y vueltas:P

-------------------------------
Ya arregle el link, gracias federico

2 comentarios:

Federico dijo...

Lo que decís de estar en control es muy cierto, alguna vez leí por ahi que en una clase para estudiantes de CS en E.U. un profesor pregunto: "Quienes prefieren un carro manual a un carro automático?", la respuesta fue casi el 50%.
Según estadísticas el 90% de los americanos prefieren un carro automático.

No se que tan cierta sea la anécdota de quien sea, pero al menos como comentario personal, una de las cosas que no me acabo de sonar de Mac OS X era la instalación de software, simplemente arrastrar un icono a una carpeta y listo, todo queda listo...me sentí empeloto -_-

PD: El link quedo mal, Blogger le mete una basura al principio.

Jaime dijo...

A mi me llama mucho la atención el hecho de que uno en linux puede tener su sistema operativo como quiera. Estas vos por ejemplo que para tenerlo "rápido" (bajo consumo de recursos) lo tenías trabajando con xfce. Tener la posibilidad de personalizar cosas como un driver o una aplicación X o Y para que se ajuste a tus necesidades es una característica muy llamativa.