Tuesday, September 16, 2008

Machina caveat: Segmentation fault!

Fa dies que tenia ganes de fer aquest post. Un recull d'incovenients i avantatges de treballar en Windows, Mac o Linux després de la meva experiència en els tres sistemes operatius.

Windows és actualment el sistema operatiu més emprat arreu del món. Suposà un gran canvi passar de la línia de comandes del MS-DOS al famós Windows 3.11. La idea d'un sistema de finestres era molt clara: ampliar el mercat i fer de la informàtica una eina fàcil per a qualsevol tipus d'usuari. Microsoft es va fer d'or i va aconseguir establir un autèntic monopoli. Molts de nosaltres no vam sentir parlar de cap altre sistema operatiu durant anys. Si per nosaltres l'informàtica és només un hobby, fem servir un nombre d'aplicacions limitat i no volen complicacions, és evident que Windows segueix essent l'opció a seguir. És de fàcil instal·lació, a tot arreu se'n troben i té un paquet de programes prou robust (per ús a nivell d'usuari) que conté quasi tot el que hom pot necessitar. Per aquesta mateixa raó els programes més importants, més comercials i tot el programari de qualsevol andròmina que pugueu connectar a l'ordinador existeix en Windows. Podríem dir que és un sistema operatiu universal. Quina és doncs la seva pega? Doncs que el preu de fer les coses fàcils a l'usuari sovint comporta que el sistema no sigui computacionalment eficaç en temps de càlcul. Si us dediqueu a la programació i elaboreu els vostres propis programes sou molt conscients d'aquest fet: windows és molt lent.
Un altre incovenient és la robustesa d'alguns dels seus programes estrella. Un parell d'exemples: excel i word. Dos programes excel·lents a l'hora de fer documents i tractar dades a nivell d'usuari bàsic. Proveu de carregar el word amb l'editor d'equacions, l'endnote (una base de dades per referenciar articles), una plantilla d'índex, referències creuades i un piló d'imatges i taules penjant del document. Això és una situació rutinària en la redacció d'articles o tesis. Pot ser un autèntic caos, una mena de bomba de dades que en qualsevol moment es penjarà. Hi ha solucions com partir el document (el famós documento maestro), però de nou és només un pas més, si les parts augmenten en tamany i complexitat fotuda l'hem; tard o d'hora tindrem problemes. Excel té un problema semblant per carregar matrius de dades de tamanys grans però sortosament és -d'acord amb la meva experiència- més estable que word. El problema d'excel és que té un paquet estadístic molt millorable i li manquen funcionalitats. Apart queda el taló d'Aquiles del paquet Office... l'inestabilitat al canvi de versions. Si et canvies un document amb algú que té una versió d'office diferent a la teva pots tenir molts problemes -especialment en word.
Un apunt més, per usuaris més avançats. El principal problema de windows és la no integració completa entre l'entorn de finestres i la línia de comandes. De fet és quasi ridícul parlar de la línia de comandes de Windows, desconec com és Windows Vista, però per Windows XP això es limita a una versió millorada del MS-DOS. Aquesta separació absoluta entre els dos termes és deguda a que quasi ningú usa la línia de comanda i tots els programes sota Windows funcionen per tant, sota l'interfície gràfica. La línia de comandes és un sistema molt més primitiu, que es composa de tasques molt més simples que les que podem fer des de l'interfície gràfica, però és precisament això el que li dóna més flexibilitat: d'una manera o altra, més o menys complexa, quasi tot és possible. Com a conseqüencia s'està allunyant a l'usuari expert i semi-expert de l'entorn windows.

Linux és el paradigma del programari lliure. Un entorn que té una doble filosofia molt clara: flexibilitat màxima i cost econòmic zero. Linux té la possibilitat d'emprar la línia de comandes i l'entorn gràfic de manera molt senzilla. Això soluciona, entre d'altres, el problema d'automatitzar fàcilment tasques en funció dels outputs d'un programa. Com generes en windows de manera automàtica taules per un article o gràfiques a partir de les dades que hi ha en un servidor remot? Tots ho hem fet... copy-paste del terminal a l'excel per generar les taules i partint d'aquestes cal crear una per una les gràfiques; després enganxar tota aquesta informació al word o al powerpoint... amb els corresponents problemes de format que això ocasiona. Aquestes tasques són fàcilment automatitzables (i simplificades!) amb un script que tracti els outputs del programa, generi un codi latex per les taules i figures amb el gnuplot, a més a més ens permet fer servir programari lliure que és molt més estable. Havia perdut moltes hores formatant taules i gràfiques durant la meva tesi...
Linux és el sistema operatiu que hi ha instal·lat a la majoria de servidors d'arreu del món. Sota mans expertes és segurament el sistema operatiu més estable que existeix. Tot informàtic amb mínimes nocions treballa o ha treballat amb linux. El seu fort és la línia de comandes, la facilitat amb la que es pot controlar la màquina perquè faci el que vols i només el que vols. El seu inconvenient és l'extrema complexitat del sistema. Un ús a nivell d'usuari és relativament fàcil d'adquirir, així com nocions més avançades que et permetin tenir un bon control de l'ordinador. No obstant crec que puc dir sense equivocar-me que no he conegut a ningú que domini al 100% linux. Sempre hi ha quelcom que s'escapa.
Un altre problema és que la comunitat usuària de linux, degut a la seva complexitat, és més reduïda que no pas la de Windows o la Mac. És clar, això vol dir menys oferta/varietat de programari. Sigui dit aquí que fa anys que no treballo amb linux com a entorn personal, potser algunes coses han canviat, sé que ara és p.ex. molt més fàcilment instal·lable -abans era un dolor. I pel poc que he anat veient s'intenta treballar per fer linux cada cop una mica més senzill d'utilitzar per usuaris no experts. Tot i això li queda un llarg camí per recórrer abans no sigui un clar candidat a competir amb Windows o Mac com sistema preferit per l'usuari estàndard.


Recordo la primera vegada que vaig treballar amb un Mac. Tenia 18 anyets i volia fer un parell de tasques ben senzilles: consultar el meu nou correu electrònic i baixar-me unes fotos d'internet per un treball. A l'aula de l'universitat de ciències de l'educació només hi havia lliure un Mac. Ok, som-hi no serà tan difícil, he treballat amb MS-DOS i Windows... 2h més tard el meu orgull va sucumbir a l'evidència... podia consultar internet, però vaig ser incapaç de guardar les imatges en disc i pujar-les al correu per agafar-les més tard... Els Macs no eren trivials de fer servir; 10anys més tard la realitat és molt diferent.
La principal avantatge del Mac és la integració completa entre l'entorn de finestres i la línia de comandes (Unix). A linux li manquen aplicacions com Automator que permet automatitzar tasques que cridin programes d'entorn gràfic de funcions molt variades (gestor de correu, acrobat, navegador, etc.) amb programari propi que faci tasques molt particulars. Una altra aplicació essencial per Mac és Quicksilver, una mena de majordom que realitza recerques ràpides i permet realitzar accions sobre els objectes/programes trobats. D'aquesta manera un piló de tasques rutinàries són executades de manera molt més ràpida.
Mac presenta un sistema gràfic més friendly que no pas linux, més semblant al de Windows, que el fa un sistema operatiu molt més estès que pas linux. No és doncs sorprenent que com a usuaris de Mac disposem d'una llista de programari lliure molt completa. També es pot trobar per Mac la gran majoria de programes (comercials) que corren sota Windows i s'hi poden integrar molts dels programes (de codi lliure) que corren sota linux. És doncs possiblement el sistema operatiu més compatible amb els altres. Els dos principals inconvenients: a) tenir un Mac sol voler dir comprar un Apple, i aquest sol ser més car que un PC (sortosament la diferència va disminuint amb el temps) i b) la majoria de codis lliures que estan pensats per linux. No sol ser massa complicat compilar programari en linux si disposes d'un paquet complet de llibreries, com el que tenen els centres de computació més importants. Compilar-los en Mac? Tinc tota una gama d'experiències: des de ser molt fàcil, mitjament entretingut o difícil a impossible. Tinc funcionant tots els meus programes, Midas (el codi del grup), Dalton i estic treballant en que Gaussian funcioni, Aces2 ha estat impossible.

Sincerament us puc dir que a dia d'avui no em plantejo deixar el Mac. Per qüestions de feina és quasi impensable que torni a Windows, però no descarto tornar a Linux algun dia. Tot i això, he de reconèixer que segueixo ficat en els tres sistemes operatius... M'he passat el dia treballant en un Mac, des d'on em connectava a un clúster de PCs que corre sota Linux, i ara a l'arribar a casa he engegat el vell PC per escriure aquest post.

1 comment:

Anonymous said...

Jo només puc dir que estic encantat amb l'experiència Mac. Encara que s'ha espatllat el portàtil i s'ha mort el disc dur, vaig trigar dues hores en canviar d'ordinador i tenir-ho tot com abans, quin sistema operatiu permet això? A més tal i com diu l'Edu, trobes tot el que et cal per treballar.

L'únic problema és a l'hora de jugar, però per això ja tinc una Wii o una PS2, així que realment no es troben a faltar les coses.

Windows ha deixat de ser una opció per mi, tot són problemes i a cada versió empitjora la cosa.

Linux no és estàndard i ho has de configurar tot. Encara que això ha canviat a les últimes versions d'Ubuntu, però sempre manquen els drivers o si tens l'última tarja gràfica del mercat no l'agafa...

Els inconvenients de Mac segurament són les seves avantatges, plataforma tancada. Això li fa tenir una robusta arquitectura... però al cap i a la fi ho pots fer tot, tenir fins i tot Windows i Linux dins del propi SO... Això si, sense Quicksilver segurament la meva visió de Mac seria molt diferent.