PHP 8.2: cosa c'è di nuovo?
La nuova versione di PHP è alle porte. Quali sono le nuove implementazioni da conoscere? Consultate questo articolo per scoprirlo!
Come sviluppatore PHP ricordo ancora i giorni dell'PHP4, la prima implementazione (opzionale!) del GC nell'PHP5, e ho vissuto il _hype_ dell'avvento dell'PHP7 e le sue ramificazioni.
Nel corso degli anni molte persone mi hanno chiesto perché mi preoccupo di programmazione in PHPe per molti anni ho sentito come un mantra due argomentazioni ricorrenti per cui dovrei smettere e iniziare a scrivere software commerciale in linguaggi come Java o C#.
Oggi citerò queste argomentazioni e cercherò di cambiare il vostro atteggiamento nei confronti di PHP almeno un po'. Sì, il titolo di questo articolo è un assurdo clickbait.
PHP sta morendo anno dopo anno. Il linguaggio web un tempo più popolare sta ora perdendo popolarità mese dopo mese, soprattutto a causa di JavaScript.
Se si guarda ai numeri, la verità è sconfortante! Nell'ultimo anno, PHP ha perso uno sconcertante 1,6% della sua quota come linguaggio di backend del Web.
Se PHP continua questa tendenza al ribasso, in 18 anni PHP scenderà al di sotto del 50% della tecnologia Web backend!
Ma ok, a parte gli scherzi - anche se i numeri sono reali come riportato da W3CTechs.
La prima menzione che PHP sta morendo può essere trovato sul web dal 2013. All'epoca Software Gunslinger ha pubblicato un articolo (che tra l'altro raccomando caldamente!) che dice che PHP morirà perché non supporta processi di lunga durata e perché manca di asincronicità.
E questo è un dato di fatto, PHP non è stato creato per questo!
se tutto ciò che si ha è un martello, tutto sembra un chiodo
Ma torniamo ai numeri: diamo un'occhiata ai dati dello scorso anno su PHP versioni utilizzate nei pacchetti Packagist. I dati più recenti sono disponibili sul sito della fonte packagist.org
È questa la curva di adozione delle nuove versioni di un linguaggio di programmazione in via di estinzione?
Se ciò non bastasse, verifichiamo il nostro "tasso di mortalità PHP" rispetto ad altre lingue.
I dati per l'analisi sono tratti daGitHut 2.0, che genera un grafico del numero di git push
per lingua su Github dal 2012, secondo lo schema - "La distribuzione percentuale delle lingue nel grafico a linee mostra le prime 10 lingue (o selezionate manualmente) dal 2012/Q2".
Come si può vedere PHP così come altri linguaggi popolari come Ruby, C/C++, Python hanno subito un notevole calo di popolarità su Github negli ultimi anni, ma c'è una tendenza al rialzo e ci aspettiamo che tornino ad occupare posizioni di rilievo dopo un periodo laterale più lungo. (questa non è una consulenza sugli investimenti)
L'iniziale hype
per il linguaggio Javascript è visibile nello stesso grafico. Lascio a voi, cari lettori, le conclusioni e la relativa analisi.
Ma d'altra parte - una lingua in via di estinzione non dovrebbe tendere ad aumentare il numero di offerte di lavoro per i programmatori, giusto?
Al momento della stesura di questo articolo, posso scegliere tra 171 offerte di lavoro su uno dei principali portali di lavoro in Italia. Poloniadi cui ben 50 per i giovani. PHP sta morendo, giusto?
E a proposito di soldi... lo sapevate che PHP e la sua fonte codice è stato mantenuto dal novembre 2021 dal indipendente Open Source comunitàLa Fondazione PHP che paga una cifra consistente agli sviluppatori OpenSource per i contributi a php-src
?
A differenza di altri linguaggi e framework, che spesso sono di proprietà di grandi aziende, il nucleo dello sviluppo squadra è pagata direttamente dal conto della fondazione, che è gestita dai contributi di aziende private come JetBrains e Symfony Corp ma anche dapiccoli contributi da parte di singoli sviluppatori.
L'Open Source in tutto il suo splendore!
Sì, questo argomento proviene sempre dalla bocca di sviluppatori che hanno acquisito familiarità con linguaggi fortemente tipizzati e comparabili.
Osservando il grafico dei dati raccolti durante ilSondaggio su StackOverflow del 2021, si può notare che ben 10.834 intervistati, pari a quasi 60% del totale, hanno trovato PHP "terribile".
Come una vecchia scuola Programmatore PHPcapisco il perché di questa situazione. Mi viene subito in mente un classico esempio di problemi di memoria in PHP:
.
classe FOO {
public $f;
}
classe BAR {
public $f;
}
while(1) {
$a = nuovo FOO();
$b = nuovo BAR();
$a->f = $b;
$b->f = $a;
print "Utilizzo della memoria: " . number_format(memory_get_usage(true)) . " bytesn";
unset($a);
unset($b);
}
Per chi non lo sapesse, il codice sopra riportato causa un errore di memoria. E c'è di più. A partire dalla denominazione idiota dei metodi e dalla completa mancanza di logica nell'ordine dei loro parametri (sì, tutti noi amiamo str_
e array_
) al più famoso bug dell'PHP T_PAAMAYIM_NEKUDOTAYIM
- L'PHP è pieno di stranezze e vizi delle vecchie versioni. Questo non significa che ciò che abbiamo sentito dire su PHP qualche anno fa è ancora vero. Il linguaggio ha subito un'enorme metamorfosi e oggi sono felice di guardare le mie definizioni di oggetti:
readonly classe NotificationEvent
{
public function __construct(
public stringa $context,
public User $user,
public string $body,
public DateTime $issuedAt,
) {}
}
Inoltre, il Ecosistema PHP è cresciuta enormemente e oggi abbiamo incredibili opportunità di creare codice di qualità, altamente tipizzato e ben testato. Possiamo usare Symfony per sviluppare applicazioni DDD senza grossi problemi e possiamo aggirare il problema della sincronia di PHP usando Message Bus.
E sebbene io stesso non pensi che PHP è adatto per la creazione di processi backend a lunga durata e ha enormi problemi di prestazioni quando si tratta di sincronizzazione dello stato, ho ancheha creato un gioco per console PHP utilizzando Symfony + Docker con le mie mani come esempio che PHP può ancora avere usi non convenzionali.
Un altro vantaggio di PHP è la sua bassa barriera d'ingresso per i nuovi sviluppatori. Le documentazioni di due popolari framework Symfony eLaravel e PHP La documentazione stessa è sufficiente per entrare nel mondo del backend con il loro aiuto. Un mondo che non è perfetto in PHP ma che permette molto. Utilizzando librerie aggiuntive come Laravel Nova siamo in grado di creare quasi tutti i componenti del nostro sistema con due soli comandi.
È PHP morire?
No, ma ha un problema di immagine e ha bisogno di molto lavoro per migliorarla. Noi, i programmatori, dobbiamo fare questo lavoro insegnando alle nuove generazioni e trasmettendo le migliori pratiche sotto forma di articoli, librerie e suggerimenti.
Come lingua che è stata sul mercato da vent'anni, che è già sopravvissuto a più di una hype
(ricordate Objective-C?) Penso che ce la farà e troverà la sua nicchia.
E chissà, forse le mie previsioni si riveleranno corrette e l'PHP 10.x farà di nuovo il boom tra due anni?