Migliore risposta
Wikipedia è nata nel gennaio 2001. Inizialmente utilizzava un software wiki diverso chiamato UseModWiki , scritto in Perl. Nellestate del 2001 è diventato chiaro che la sua popolarità sta crescendo e che necessita di alcune nuove funzionalità. Ad esempio, UseModWiki non poteva gestire gli spazi, quindi dovevi scrivere “BuenosAires” anziché “Buenos Aires”. Aveva anche alcuni problemi di prestazioni. Quindi uno scrittore volontario di Wikipedia Magnus Manske, che era anche un programmatore, decise di scriverlo stesso. Utilizzava PHP semplicemente perché voleva impararlo. PHP era un linguaggio molto popolare e in rapida crescita per lo sviluppo di siti Web dinamici a quei tempi.
Puoi trovare ulteriori informazioni sulla storia di MediaWiki su queste pagine:
- Storia di MediaWiki
- Perché Malarias Magnus è celebrato dal Wikipedia Day del Galles
- The Architecture of Open Source Applications (Volume 2): MediaWiki
Risposta
Quando ho iniziato a programmare – avevo 17 anni allepoca, il PHP era “il miglior linguaggio in assoluto” per me, semplicemente perché era così facilmente accessibile per me in linizio.
Come ho iniziato? Ho installato XAMPP su la mia macchina Windows, ho cliccato su “start” per MySQL, Apache e basta. Sono stato agganciato. La possibilità di inserire lo script in /htdocs
ed eseguirlo tramite localhost / test.php è stata magica.
Vuoi che il sito web sia attivo? ottenere hosting, caricare gli script tramite FTP e voilà!
Database? Nessun problema, esegui il buon vecchio mysql\_query()
e chiamalo un giorno. Poi, alcuni anni dopo, dopo aver appreso come funzionano le cose sotto il cofano – cioè sapendo cosa fosse quel pulsante “start” in XAMPP – e provando altri linguaggi, mi sono reso conto di quanto PHP sia brutto, incoerente, casuale, non sicuro e disordinato.
Penso che alcune persone non escano mai da quella bolla XAMPP, si limitano a mantenere le cose con cui si trovano più a loro agio e le difendono fino al loro ultimo respiro. Questo diventa come una religione per loro
Se non fossi curioso per natura, probabilmente farei tutto in PHP, con un tocco di JavaScript per il lato server, come facevo in passato, io probabilmente vorrebbe Node.js – e forse anche passare completamente ad esso.
Tuttavia, non mi piace Node.js.
Pro e contro delle cose menzionate:
PHP Contro
- Ogni possibile paradigma, caratteristica, qualunque cosa tu possa pensare – php lha implementato. Hai bisogno di tratti ? Hai bisogno di goto ? Hai bisogno di OOP ? Hai bisogno di funzionale ? Hai bisogno di qualcosaltro? Abbiamo capito.
- Dicono che PHP 7 sia veloce. Bene, è veloce se lo confronti con uninstallazione Laravel vuota. Prova a installare WordPress con la “normale configurazione del plug-in” e anche il “selettore multilingue”. Buona fortuna.
- La sicurezza è uno scherzo in php. Ricordi tutte quelle iniezioni SQL? Il 90\% di loro erano siti php perché hanno deciso che è molto interessante che
mysql\_query()
sia pubblicizzato come “un modo molto semplice per eseguire query SQL”. Inizia ogni possibile tutorial nel mondo: Ok, ecco come interrogare il database in php:mysql\_query(“SELECT * FROM article WHERE id =”. $\_GET[‘id’])
è così facile !!! vedere? Non è come Java, devi prima preparare la dichiarazione! È troppo standard !! Noioso !!! -
file\_get\_contents(“https://www.example.com”)
e anchefile\_get\_contents(“../foo.txt”)
e anchefile\_get\_contents(“php://input”)
e cosa hai? Perchéfile\_*
serve per ottenere i contenuti del file. Per non parlare difopen()
. -
error\_reporting(0)
e tu puoi fare miracoli. - Posso continuare a parlare della loro “libreria standard”.
Pro
- Il successo di PHP è il modulo Mod\_php di Apache.
- Carica lo script e funziona.
- Elimina lo script e non funziona più.
- Se hai mai guardato un codice che ha {} dirai “ehi, è proprio come Java | C ++ | C, ecc. ecc., ma metti solo
$
prima del nome della variabile. - Carica lo script tramite ftp e siamo attivi, baby.
- PHP ha una delle comunità più grandi al mondo.
- Array? Quella lista o dizionario? Bene, è entrambe le cose (questa è davvero una truffa, ma hey alla gente piace la schifezza di qualcosa che funziona in entrambe le direzioni, chi se ne frega di un dizionario che non mantiene lordine ?!).
- Lunica cosa che in realtà ha fatto luce su PHP è il compositore . Ma poi di nuovo, quasi tutti hanno una specie di gestore di pacchetti in questi giorni …
- Laravel è venuto in soccorso per convincere una volta per tutte le persone che OOP è la strada da percorrere e dobbiamo dimenticare tutte quelle
mysql\_*()
sciocchezze. Tuttavia le persone si confondono su dove mettere la loro logica aziendale. Era un repository? Era un modello o un controller? O middleware? Dove? Mmm fammi pensare … penso che un tratto farà il trucco …
Nodo Contro
- Librerie terribili –
npm install winston
,hipster-webserver
ecc. In realtà è una cosa terribile, quando voglio una libreria di log e devo scegliere da 9 diverse librerie. Per favore non farlo, semplicemente non farlo. - Callback hell; non si può fare nulla al riguardo tranne la sintassi async await, ma semplicemente la maggior parte delle librerie sono semplici richiami o promesse di qualche altra “invenzione” di cui lautore è orgoglioso. Le promesse sono solo richiami con meno disordine che ho iniziato a disprezzare ultimamente.
Pro
- I / O veloce e velocità di esecuzione v8. E allora? Qualsiasi cosa con libuv può farlo. Prepara un python con MagicStack / uvloop ed esegui i benchmark. Per non parlare di altre lingue che lo fanno in modo ancora più elegante
- Accesso facile. Questa è effettivamente una brutta cosa. Sviluppatori di frontend che scoprono le sue abilità di back-end. Basta non “t.
Lunico modo in cui vorrei che Node fosse se avesse qualche specifica. Dove le librerie sarebbero perfettamente organizzate e programmate con lo stesso stile di codifica. Smettila di inventare il tuo stile . È terribile.
Quando guardi nella libreria di terze parti, se vedi lorganizzazione del codice e lo stile che non puoi nemmeno iniziare a capire, mi arrendo.
Node è come se qualcuno avesse dato unauto e 30000 $ a un ragazzo di 16 anni in modo che potesse sfruttarla.
Sul lato positivo, non avrei programmato se non fosse stato per PHP. tendo a vederlo come un bambino guarda il suo giocattolo più vecchio. Non ci gioco. Ma quando lo guardo, mi porta dei ricordi e mi fa sorridere.
Alla fine, quando fai qualcosa – se ci metti abbastanza lavoro e cuore, e alla gente piace – la lingua non ha importanza. Il risultato finale è tutto ciò che conta.
Pace