2010-04-27 12 views
8

So che PHP è ancora il linguaggio di programmazione web più popolare al mondo. Questa domanda vuole solo portare alcune delle mie preoccupazioni su PHP.PHP morirà nel mondo di sviluppo delle pagine Web?

PHP è naturalmente legato a C10K problem. Poiché PHP (generalmente eseguito in Apache) non può essere guidato dagli eventi o asincrono, ogni richiesta HTTP occuperà almeno un thread o processo. Questo lo rende resistente per essere più scalabile.

Attualmente, molti siti Web (come Facebook & Yahoo!) con alte prestazioni e scalabilità dipendono ancora da PHP nei loro server front-end. Suppongo che sia dovuto alla ragione legacy. È possibile che PHP venga sostituito da un linguaggio più adatto a C10K?

+9

Per favore, considera di fare questa domanda wiki della comunità. –

+2

Forse ha qualcosa a che fare con la mia domanda: http://stackoverflow.com/questions/2629209/is-there-an-use-case-for-non-blocking-receive-when-i-have-threads Don Dimentica che il modo in cui Apache gestisce PHP può cambiare. Prendiamo ad esempio le modifiche apportate dai ragazzi di Facebook a PHP per i loro motivi. Pensavo che Twitter utilizzasse rotaie e scala ... –

+0

Twitter funziona su RoR secondo il sito web: http://rubyonrails.org/applications –

risposta

2

Vedendo l'interesse intorno al framework PHP di alta qualità come Zend PHP, Symfony, Cake, Solar, e altri ancora, penso che PHP sia il rebirthing.

Il suo nuovo modello Object Oriented consente agli sviluppatori professionisti di tornare ai paradigmi noti e attirare molte più persone che non volevano venire in PHP a causa del lago del supporto orientato agli oggetti.

A proposito, vedo una crescente domanda di assumere sviluppatore PHP professionale con solide competenze e un uso di PHP Framework (Symfony e Zend Framework sono i più ricercati qui in Francia).

PHP non è così lento come si può pensare, un buon caching, una richiesta db ottimizzata vale la pena farlo. Oggigiorno è anche più economico acquistare un buch di RAM che ottimizzare il codice per accelerarlo in assembly o C.

3

PHP utilizza uno Shared Nothing architecture che lo rende molto scalabile.

PHP morirà? Non sono abbastanza ignorante da rispondere con un grassetto No. Ogni tecnologia ha il suo tempo e sono convinto che ci sarà qualcosa di meglio, più snello, più veloce, qualunque sia più adatto per il web di PHP alla fine. Ma il PHP morirà in qualsiasi momento ? No, non la penso così. La necessità di scalabilità è qualcosa che la maggior parte di noi desidera, ma la maggior parte delle applicazioni Web non ne ha la necessità.


lettura correlati che ha qualche informazione in più sulla scalabilità di PHP

+1

Questa non è una funzionalità di PHP, dal momento che PHP consente anche di proteggere lo stato del client sul server con le sessioni. Condiviso Nulla non ha nulla a che fare con il problema di un thread/processo per richiesta. – deamon

+0

@deamon Quindi il problema di un thread/processo per richiesta non è un problema di PHP. Svuota la domanda, non la mia risposta. – Gordon

+1

+1 per collegamento e risposta valida. – zaf

16

E 'possibile che PHP sarà sostituito da un linguaggio più adatto per C10K?

direi molto improbabile.

Non importa su Facebook o Yahoo, la stragrande maggioranza dei siti Web non è nemmeno vicina a quella fase di popolarità. La maggior parte dei programmatori web sta lavorando a progetti di dimensioni medio-piccole in cui semplicemente non sono necessarie prestazioni elevate e le prestazioni extra possono essere raggiunte in modo più redditizio gettando più hardware sul problema che impiegando più programmatori per lavorare sull'efficienza.

La codifica per server socket specializzati ad alte prestazioni è più difficile e più lenta dell'hacking di uno script PHP, quindi PHP (*) vincerà sempre. E diciamocelo, è probabile che si verificheranno altri problemi di ridimensionamento (probabilmente le prestazioni del database) molto prima che l'inefficienza della connessione one-thread-or-process-per-concorrente inizi a mordere.

C10K? Per la stragrande maggioranza delle applicazioni, non ne hai bisogno.

(*: o altri ambienti di scripting simili. Con il debacle di PHP6 e le continue problematiche di PHP5 con Unicode e altri problemi linguistici di lunga data, altri linguaggi e framework dovrebbero guadagnare popolarità a spese di PHP. sacrificare la facilità di authoring per l'alta scalabilità.)

+4

+1 C10K? Per la stragrande maggioranza delle applicazioni, non ne hai bisogno – nik