Fabrizio Sabato
PHP Back-End/Front-End & Drupal Developer
È proprietario, creatore e amministratore del marchio Deskema e relativo sito web.

È uno sviluppatore PHP con diversi anni di esperienza nell'ambito dello sviluppo di applicazioni web.

Recentemente ha cambiato approccio metodologico passando al CMS Drupal per la creazione di Siti Web e a Symfony per lo sviluppo di Applicazioni Web.

PHP e Scenari di Applicazione

Tempo fa ho avuto uno scambio di opinioni con un carissimo amico e collega (Front-end developer) circa alcuni articoli trovati in rete che tentano di analizzare le tendenze in fatto di sviluppo software/applicazioni e preferenze a livello di linguaggi e tools per sviluppare questi ultimi.
In particolar modo il focus della conversazione era orientato sull’arcinoto PHP e su alcuni articoli che continuano da anni a darlo per spacciato in favore di tecnologie più snelle, scalabili e meno esose in termini di risorse.

Il tutto è partito da questo articolo leggendo il quale mi sono divertito a scimmiottare l’autore dicendo che dalla data di pubblicazione ad oggi ha fatto prima a chiudere il blog sul quale era pubblicato che PHP a tirare le cuoia.

Da qui è partito un botta e risposta molto interessante col mio collega condito di link a difesa di questa e quell’altra tesi.
Di seguito alcuni link a difesa della mia tesi, ovvero che PHP è ancora in auge e che, tutto sommato, non ha perduto granchè dello smalto che lo ha tenuto in testa negli anni a cavallo del nuovo millennio:

https://trends.builtwith.com/framework
https://trends.builtwith.com/cms

e qui gli articoli che mi ha postato il collega:

The Most Popular Programming Languages of 2016
PYPL PopularitY of Programming Language

ma soprattutto questo che ha dato parecchio spin alle mie riflessioni personali e mi ha ispirato nel buttar giù due righe in merito.

È qui che ho pensato che il trend forse non è tanto una questione di linguaggio in sé, quanto piuttosto di “scenario di applicazione".
Guardando il diagramma dell’ultimo articolo ad esempio, si capisce chiaramente che SQL è in testa rispetto agli altri linguaggi semplicemente perchè è il linguaggio sul quale si basano tutte le operazioni/interrogazioni Database (MySQL, Oracle, MSSQL eccetera) e quindi è logico che sia tra i più richiesti.
Programmatori Java, PHP, .NET, Python hanno tutti una caratteristica comune: SQL!!
oltre ovviamente ad altri linguaggi e formati come ad esempio XML o JSON.

Cosa intendo con “scenari di applicazione”?
Basta guardare i links di Trends Built With più sopra per farsene un’idea.
I CMS ad esempio rappresentano uno “scenario di applicazione” e, stando a quanto riportato in quei grafici, PHP (con WordPress e Drupal) ha ancora il primato assoluto.
Se invece parliamo di App per Android, iPhone, sistemi HomeBanking e altri “scenari di applicazione” vediamo che l’ago della bilancia si sposta decisamente verso altri strumenti e linguaggi più adatti allo scopo.
Per quanto riguarda il discorso e-commerce, a parte Amazon che fa uso di una combinazione Java, C++ e Perl, il trend è ancora molto favorevole per Magento e WooCommerce (entrambi sviluppati in PHP) e che sono ancora molto diffusi in progetti certamente meno noti ma attualmente in produzione.

La conclusione di tutta questa mia riflessione è che, a mio parere personale, non si tratta di optare per PHP piuttosto che per Java e viceversa solo perchè uno sa fare il caffè o l’altra sa stirare o comunque perchè uno è migliore a prescindere.
La ragione è data semplicemente dallo 'scopo' finale e dal contesto (o scenaio di applicazione per l'appunto) che determina quale sia il linguaggio piu' consono ad ottenere il risultato finale. Il mondo dell’informatica, cosí come quello dell’industria del software, è in continua evoluzione e gli utenti finali giocano un ruolo fondamentale nel determinare cosa che fa tendenza e cosa no.

È un dato di fatto che ci siano molti più utenti Smartphone e Tablet che Desktop o Laptop e quindi è chiaro che, a fronte di ciò, il trend business sarà in favore di App Mobile piuttosto che altro ed ecco spiegato il motivo per il quale si abbassa magari la richiesta di PHP in favore di Java, Objective-C, C# o Swift.