Programació àgil

Escrit per Aaloy a 11 de December , 2006 a les 11:44 p.m.

Aquestes darreres setmanes m'estic retrobant de nou amb la programació i estic disfrutant de programar com feia temps que no ho feia. La programació amb Python des de sempre ha estat molt divertida i entretinguda, però fins ara no havia estat tan divertit programar amb Python per la web. Django, el bastiment de programació que estam fent servir ens permet un temps de desenvolupament molts curts i gairebé tot el que hom vol fer està a mitja hora de programació. L'he comparat amb coses semblants que hem fet en Java i hi ha una diferència en alguns casos del 800%. Força important com per a no tenir-ho en compte. La combinació Python+Django+mod_python+Postgres permet fer en poques hores el que en un entorn de desenvolupament normal en Java duria dies, i fer-ho de manera que segueix havent-hi el millor de la part de desenvolupament Web Java: una clara separació entre les capes de persistència, negoci i presentació. Me'n cuidaré molt de dir allò de que Django i Python acabaran amb Java. Cada llenguatge té el seu lloc. El que sí és cert que els llenguatges d'script per la web amb els bastiments actuals s'estan convertint en una alternativa molt vàlida a projectes que fins ara es feien amb Java o PHP. Ara quan ens plantegem un projecte web, una vegada analitzat podem triar, i això és lo bó d'això. Segons com sigui el projecte i els seus requeriments podem tirar cap a un costat o cap a un altre: que volem un temps de desenvolupament molt curt sense sacrificar escalabilitat, doncs Django ens pot servir. Que el que necessitam és un complet sistema transaccional, doncs millor anem cap a un servidor d'aplicacions tipus JBoss i desenvolupem l'aplicació en Java. El que hi ha de bo és que ara per ara podem plantejar-nos fer moltes webs de negoci amb un temps molt curt i amb uns requeriments de maquinari mínims, i a més fer-ho sabent que la capacitat de creixement de l'aplicació, l'escalabilitat famosa, estarà limitada sols pel nostre pressupost de ferro, i que serà prou senzill escalar. Que sovint és un tema que s'oblida, que l'escalabilitat en altres entorns té un cost de configuració i recursos que no és menyspreable. Aquest cap de setmana també he trobat una sèrie d'articles mot interessant:
  • Comparació entre Django i Rails. Molt ben feta i molt ben documentada. Surt del tractament clàssic i fa una comparativa poc partidista i posa de relleu les fortaleses i mancances de cada llenguatge.
  • Per què usar Django. Petit article amb 10 punts que ens poden donar llum de perquè triar Django davant altres bastiments.
I aprofitaré per afegir un altre enllaç, que encara que ja sigui un poc antic en temps d'Internet, és força interessant, una comparativa entre Symfony (PHP), Rails (Ruby) i Django (Python) que podem trobar al wiki de Rails. La literatura d'enginyeria de programari diu que una eina té una influència del 10% en el desenvolupament, però sempre estam pensant en que no hi ha grans canvis tecnològics pel mig. El canvi tecnològic hi és quan passam d'un entorn basat en Java+J2EE+JSP a un entorn basat en un llenguatge d'script. A un article de Casper Jones hi ha una interessant taula de com el llenguatge de programació afecta a la productivitat del programador. Hi ha Java, considerat un llenguatge de nivell 6 però no hi ha Python. En un altre article de Jason Voegele trobam una comparació molt ben feta de diferents llenguatges, considera que Python hauria d'estar classificat com a llenguatge de nivell 15, això ens donaria un factor 2.5 d'augment de la productivitat. Potser ho poguem considerar un poc optimista, però si consideram un llenguatge de l'estil de Python o Ruby, l'Smalltalk, del que hi ha més dades, veurem que la relació entre línies de codi i punts funció segueix la proporció que suposaria una classificació al nivell que indica Voegele, ja que compararíem un programa J2EE amb Smalltalk i tendriem que la proporció va entre 1.7 de mitja i 2.9 en el millor dels casos a favor de l'Smalltalk. Es confirmarien així les dades empíriques que tenim fins al moment, que ens donen també aquests ratios de productivitat. A tot això no entram en factors com la facilitat de desplegament de l'aplicació, configuració de l'entorn, la posada en marxa de l'aplicació base o l'aplicació d'actualitzacions, que donaria per un article apart. Sols apuntar que quan feim servir un llenguatge interpretat, el nostre procés de control de versions i actualitzacions es pot limitar simplement a un svn update. Així doncs, a l'hora de embarcar-nos en el nostre proper projecte web haurem d'aturar-nos a pensar si convé més fer-ho en Django o Rails. La diversió està assegurada i el pressupost del nostre client ens ho agrairà.

0 comentaris, 0 trackbacks (URL)


Baleart

Escrit per Aaloy a 10 de December , 2006 a les 9:59 p.m.

Avui hem fet una volta amb la família per Baleart, una mostra de no sé ben bé què. Inicialment pensava que era una fira d'artesania balear, però m'he trobat que hi havia des de mostres d'artesans fins a artistes d'aquí i d'allà i negocis varis que poc tenen a veure amb l'artesania. Allà m'he trobat amb Paco Pol, el meu amic sabater. Bona gent En Paco, però veure'l m'ha fet pensar en el concepte que tenen els nostres governants del que és artesania balear. No sé si el pa gallec o les faves asturianes ho són artesania balear, ves a saber-ho! L'artesania, els oficis tradicionals van desapareixen poc a poc. En Paco l'altre dia em contava que cada cop és més difícil competir en el nostre món globalitzat, que encara que el seu gènere sigui de més qualitat, no pot competir amb la relació qualitat/preu de les importacions  de la xina o països de l'est. És una llàstima, perquè perdre l'artesà local és perdre el coneixement de com se fan les coses. Per mi significa a més poder trobar sabates fetes per la gent com jo: amb peus amples. Sabates fetes per gent que viu a un clima càlid i que per tant són lleugeres i de cuiro fi. Què passarà quan tots els artesans hagin desaparegut? Què passaria demà si s'acaben les importacions, quedaria algú amb coneixements suficients per a tornar a engegar la indústria?  Paco i altres sabaters fan moltes de les sabates tradicionals de balladors. Com s'ho faran les agrupacions de ball de bot sense sabaters? Els veurem ballar en nàutiques? Els artesans locals representen el coneixement que es transmet de boca a orella. Qui vulgui pot anar al taller de Paco i veure com fa les sabates, quina pell fa servir, ... però tal com van les coses aviat aquest tipus de coses aviat representaran un misteri. Els oficis a Baleart aviat seran tan sols una mostra folklòrica, però clar, si partim de que qui ens governa ja no sap ben bé què és artesania balear, com podem pretendre que la recolzi?

0 comentaris, 0 trackbacks (URL)