El Blog de Trespams

Blog personal sobre tecnologia, gestió de projectes i coses que se me passen pel cap

PHP, Java i a veure qui la té més llarga

La referència de l'article de JavaHispano es aquí i comenta una conferència de Marc Andreessen, el fundador de Netscape. Segons aquest bon home PHP serà més popular que Java en el futur. En el futur? No ho sé, però a mi em sembla que actualment el PHP és tan o més popular de Java per a fer webs. Que PHP pugui batre a Java en el món de la web ja no és cosa tant de llenguatge com de l'ús que se'n faci, es a dir, de la capacitació professional dels seus desenvolupadors.

Una aplicació tant web o a qualsevol altra no és bona o és dolenta per estar feta en un o altre llenguatge. Podem trobar aplicacions molt bones i autèntics xurros fets en gairebé qualsevol llenguatge de programació existent. És a dir, que la bondat d'un desenvolupament la marca el desenvolupador i no el llenguatge en sí.

Hi ha llenguatges que per las seva construcció forcen a desenvolpar d'una determinada manera, que fa que sigui més facil de llegir, menys propensa als errors de programació, que s'hagin d'escriure menys línees de codi, que ens permeti un control absolu de la nostra aplicació ... Segur que tots reconeixerem els nostre llenguatge preferit en aquestes frases. Uns hi veuran el Python, altres PHP, altres Java, altres ADA, C, C++ i la llista segueix. Un equip de programació amb una bona metodologia, un bon conexiement del llenguatge de programació que fa servir ben capacitat, pot anar més enllà de les limitacions del llenguatge de programació. Pot establir pràctiques que facin que el mantenimient sigui més senzill, que la divisió del codi entre els programadors sigui més fàcil, en definitiva, aprofitar els punts forts del llenguatge de programació en el seu benefici i obviar els punts febles.

Quan parlam de programació per la web, però, a més del propi llenguatge de programació en sí, interevenen també factors externs que influexien en la popularització d'un llenguatge de programació o un altre. Està clar que un d'aquests factors és la facilitat amb que es pot aprendre el llenguatge, i està clar que el PHP permet fer els primers programes en molt poc temps. Potser massa poc temps ;) i això fa que fins i tot gent sense cap formació en programació s'atrevesquin a programar en PHP. Això contribueix a la popularització del llenguatge, segur, però també és segur que no contribueix a la qualitat del programari que es fa.

L'altre factor que intervé en la popularització d'un llenguatge per la Web és la seva disponibilitat en els ISP. No és gens habitual que la gent tengui els coneixements o tengui els doblers per permetre's tenir el seu propi servidor dedicat en el que hi pugui instal·lar el que vulgui i tenir una ampla de banda suficient com per posar-ho a Internet. Per això s'ha de dependre d'ISP externs que donen una configuració preestablerta. Així, sovint hom no tria el llenguatge de programació que farà servir per una aplicació Web, sinó que es veu limitat pel que pot pagar o pel que té l'ISP de torn. Aquests ISP al que van és a tenir el màxim nombre de dominis hostejats en una mateixa màquina i per tant fugen com del dimoni de configuracions que no permetin maximitzar el benefici.

Així doncs, en la popularitat del PHP hi juguen dos factors: la facilitat d'entrada en el llenguatge per part de gent no programadora, i la maximització de rendiment que poden treure els ISP donat que aquest llenguatge consumeix molts menys recursos de màquina que altres i per tant els permet tenir més gent hostatjada. És força difícil avui per avui trobar un ISP que ens permeti tenir accés a un entorn J2EE a un preu semblant al que tendriem per PHP, o fins i tot trobar-nos amb algun que ens doni accés a Zope/Plone del món Python i ja no parlem d'altres eines com Ruby i el bastiment Rubi on Rails, que encara que s'ha posat molt de moda per la seva potència pocs ISP l'incorporen i si ho fan amb uns peus que són de lluny més cars que una configuració semblant basada en PHP.

És en el moment en que la llibertat d'elecció del llenguatge de programació adient per un projecte es veu limitada per l'ISP on la comparació d'un llenguatge de programació amb un altra pert tot el sentit, si és que l'ha tingut mai. Sovint s'haurà de programar amb el llenguatge que té l'ISP instal·lat per defecte, o disposar-nos a pagar preus difícilment assumibles per aplicacions modestes.

Si ens situam a l'ambit empresarial la cosa és semblant però per una altre costat. Així es té tendència a triar Java o .Net perquè el consultor de torn ha dit que és el més potent que hi ha, perquè és l'standard i perquè així justificarà la seva minuta ;) però segurament estan davant un antipatró conegut com el del martell d'or, resumit en aquella frase de que quan sols es té un martell tot s'acaba paresquent a un clau. Sovint ens podriem trobar que la solució més adient per una aplicació empresarial per la web sigui quelcom fet en PHP, o en Python i no necessàriament en Java o en .Net, però per poder arribar a dita conclusió s'ha de tenir el bagatge de coneixements necessari per poder adonar-se de quina és la tecnologia que millor d'adapta al projecte en concret i en departaments de programació que tendeixen a homgeneitzar fins extrems absurds tant els llenguatges (o millor dit llenguatge) de programació com les tecnologies utilitzades, això difícilment se dóna.

No hi ha solucions màgines, no hi ha bala de plata, no hi ha llenguatges de programació millors o pitjors. Hi ha llenguatges de programació que s'adapten millor a alguns tipus de problemes i programadors que s'adapten millor segons quins llenguatges de programació. Com sempre el truc està en no limitar-se, en tenir la ment oberta i un conjunt d'eines al nostre abast que ens permetin fer l'elecció més adient pel problema que volguem resoldre.

blog comments powered by Disqus