Negli ultimi mesi ho indagato su quali strumenti siano disponibili per semplificare lo sviluppo e la manutenzione del codice PHP.
Mentre C# / ASP.NET supporta ormai da diversi anni Refactoring e classi e funzioni a livelli avanzatissimi, scopro che nè Zend, nè Phalanger, nè VS.PHP, e nemmeno Eclipse supportano alcuna funzionalità di refactoring.
Molti programmatori obietteranno che sono cose inutili, ma non è così. Mantenere il codice, documentarlo, produrre cordice di qualità con PHP richiede uno sforzo decisamente maggiore rispetto a linguaggi più potenti.
Senza contare poi che la mancanza di compilazione significa in realtà mancanza di controllo. Modifichi il codice e non hai nessuna garanzia che funzioni fin quando non ci vai a runtime,
Ma la cosa più stupefacente è vedere come ASP.NET sia riuscito a introdurre un protocollo stateful sull'http che è notoriamente stateless. Infine la facilità con cui è possibile creare componenti aggiuntivi. Immaginate una textbox html. In Asp.net è possibile creare e condividere con altri programmatori textbox ajaxified. Quando le trascini visivamente su una pagina queste generano il javascript e il codice necessario per soddisfare le richieste ajax.
Stupefacente, quando l'ho visto non ci credevo quasi...
Ma allora mi chiedo: PHP è davvero competitivo?