PHP è 5 anni indietro, o ha un target molto più basso di .NET?

Nelle ultime settimane sto mettendo online un blog con WordPress e lo sto personalizzando, sia graficamente che a livello funzionale.
Wordpress è fatto con PHP, e quindi ho dovuto cercare di capire la logica che sta dietro a questo linguaggio di scripting.

<RANTMODE>
Mi pare di essere tornato indietro di 5 anni, quando, prima dell'avvento di .NET si sviluppava in ASP classic: formattazione mischiata a logica di business e di recupero dei dati, include files a non finire, concatenamenti di stringhe con virgolette annidate e caratteri di escape ovunque.
Wordpress dovrebbe essere l'appicazione PHP di riferimento del momento, ma se il livello "tecnologico" è questo, sviluppare con PHP non mi attira per niente: scarso uso (per non dire uso nullo) di programmazione ad oggetti, funzioni che recuperano i dati dal DB, decidono cosa visualizzare e scrivono direttamente l'html della pagina. Tutto ovviamente rigorosamente interpretato e inserito in decine di file di inclusione.

Tutto questo però ha un vantaggio: chiunque può prendere Notepad, scrivere qualche riga di codice, includere il file appena creato nella sidebar e realizzare così un plugin per Wordpress.
Inoltre è possibile personalizzare completamente un blog: una skin è in pratica tutto il "frontend" del blog, quindi è possibile fare qualsiasi cosa.

Per ottenere con .NET lo stesso livello di personalizzabilità e estendibilità è invece necessario progettare l'applicazione in maniera tale che qualunque cosa succedda, dall'inserimento di un post, alla sua visualizzazione sia gestita da un handler, che implementa una qualche interfaccia o che eredita da una classe base. Poi è necessario dare la possibilità di configurare i mapping tra gli eventi e gli handler, e così via.

Quindi tanto di cappello a Telligent che ha reso quasi completamente estendibile e molto simile a WordPress l'esperienza di programmazione del loro CommunityServer.
</RANTMODE>

Ora la prossima "sfida" del team di SubText è progettare ed implementare una framework che permetta allo sviluppatore di estendere e personalizzare il blog in maniera molto simile a WordPress. Riusciremo in questo intento?
La risposta in autunno 2006.

powered by IMHO 1.3

posted @ martedì 27 giugno 2006 12.14

Print

Comments on this entry:

# re: PHP &#232; 5 anni indietro, o ha un target molto pi&#249; basso di .NET?

Left by Daniele Alessandri at 27/06/2006 14.54
Gravatar
WordPress a mio parere è ben lontano dall'essere un'applicazione da considerarsi di riferimento per sviluppare codice PHP "moderno" e pulito. Attualmente, e ormai da qualche anno, PHP 5 supporta la programmazione a oggetti in maniera quantomeno decente, mentre in precedenza si poteva ottenere solo una sorta di surrogato molto limitato, eppure è ancora poco usato come approccio per la creazione di applicazioni e principalmente per due motivi abbastanza delineati. Il primo riguarda i servizi di hosting ancora inchiodati alla versione 4.x, attualmente supportata e aggiornata da Zend, a causa di possibili incompatibilità con vecchi script che potrebbero rendere inutilizzabili una vasta quantità di script/applicazioni di utenti magari inesperti (si pensi all'Aruba della situazione, con moltissimi utenti che si limitano ad acquistare spazio e ficcarci su script già fatti e non avrebbero nemmeno idea di cosa/come fare nel caso di incompatibilità), un problema che effettivamente esiste ma praticamente solo nel caso di codice precedentemente sviluppato con i piedi... del resto PHP nel corso degli anni è stato - e viene tuttora - utilizzato da gente con diversissimi livelli di esperienza nell'ambito dello sviluppo web. Questo ovviamente frena tantissimo il porting o lo sviluppo di applicazioni sfruttando le nuove funzionalità del linguaggio, molto di più di quanto si sarebbe aspettata Zend in realtà. Il secondo motivo riguarda proprio l'approccio della comunità di PHP, da un sondaggio di poco successivo all'uscita della versione 5 era emerso che una grande percentuale di sviluppatori PHP non sentiva strettamente necessaria l'introduzione del modello OOP nel linguaggio.

# Re: PHP è 5 anni indietro, o ha un target molto più basso di .NET?

Left by Simone at 27/06/2006 15.00
Gravatar
Quindi, rispondendo alla domanda del mio titolo, ti diresti: è pensato per un livello basso di programmatori, ai quali non interessa OO e robe similari?

# re: PHP &#232; 5 anni indietro, o ha un target molto pi&#249; basso di .NET?

Left by Daniele Alessandri at 06/07/2006 13.31
Gravatar
Rispondendo alla tua domanda direi che è solamente indietro rispetto a ASP.NET (per certi aspetti, per altri è semplicemente diverso come filosofia), e non volutamente destinato a un target più basso di .NET (definizione comunque bruttissima). Il fatto che PHP tecnicamente aspiri a diventare qualcosa di più e più flessibile/funzionale per un utilizzo a livello enterprise è ormai dimostrato da iniziative di ZEND come lo Zend Framework (totalmente a oggetti) oppure dal fatto che nella prossima major version sarà "di serie" un sistema di cache dell'opcode generato per risparmiare le continue fasi di compilazione degli script che attualmente sono scatenate per ogni richiesta. Gli sviluppatori interessati alla programmazione strettamente OO con PHP 5 ci sono e sono molti, come sono sempre di più i framework e le applicazioni sviluppate con un approccio OO, cosa che comporta un'incompatibilità intrinseca con le precedenti versioni che spopolano ancora negli ambienti di hosting ( rallentando moltissimo la loro diffusione come dicevo nel precedente messaggio). Molti altri sviluppatori invece non sono mai andati oltre allo sviluppo procedurale, snaturando in parte i risultati del sondaggio di cui parlavo, ma si sono "convertiti" (diciamo così) con il passare dei mesi. Dico in parte perchè rimangono comunque e i convinti della programmazione procedurale con PHP, ma sembrerebbero essere sempre meno.

Comunque sono abbastanza convinto che, nell'ottica dell'evoluzione di un linguaggio/prodotto diffusissimo, solo aziende grosse e importanti come Microsoft possono accollarsi gli oneri (e non parlo necessariamente dell'aspetto finanziario) di tutto quanto consegue a un cambiamento così radicale come quello avvenuto da ASP 3 a ASP.NET, Zend e tutta la comunità di PHP con la sua diffusione molto eterogenea non penso potrebbero essere in grado di un salto "generazionale" così imponente in brevissimo tempo.
Comments have been closed on this topic.
«febbraio»
domlunmarmergiovensab
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910