Vantaggi e svantaggi di PHP / Ruby [chiuso]

-2

Sono stato uno sviluppatore front-end per circa due anni e sto tentando di entrare nel lato server delle cose. Idealmente mi piacerebbe lavorare per un social network di startup sul lato back-end, quindi voglio provare ad essere il più possibile commerciabile.

Nella mia ricerca di imparare un nuovo linguaggio di scripting mi sono scavato nel buco di PHP vs Ruby. Quali sono i principali vantaggi e svantaggi dei due? Gradirei davvero le parole dell'esperienza con i due, ma mi accontenterò di qualsiasi esperienza.

Saluti.

    
posta KelpyG 02.03.2014 - 07:14
fonte

1 risposta

0

Sono stato uno sviluppatore PHP per circa cinque anni e nell'ultimo anno ho iniziato a esaminare il mondo di Ruby (su Rails). Sono mai tornerò indietro. Ecco perché.

Incoerenza

Ero dispiaciuto di PHP soprattutto a causa della sua incoerenza: PHP era originariamente inteso come uno strumento per i dilettanti, e non poteva far fronte alla crescita esponenziale che ha visto nel corso degli anni. In PHP hai nomi di funzioni casuali, ordine di parametri casuali, valori di ritorno casuale, gestione di errori casuali e molta altra casualità.

Oggetto-orientamento

Stavo cercando un linguaggio che fosse veramente orientato agli oggetti (cioè una lingua in cui tutto è un oggetto) e che avesse una bella sintassi. Ruby sembrava essere l'opzione più appropriata. Certo, ha i suoi problemi come ogni altra tecnologia (non mi piace molto questa roba da patch-patch, e Rails in particolare sembra essere piuttosto lento rispetto ad altri framework).

Sintassi

Questa è una questione soggettiva, ma la metterò lo stesso. Volevo che il mio codice fosse espressivo, conciso e bello. Per me, il codice PHP è sempre stato un brutto casino.

Ecco un esempio: supponiamo che tu abbia una matrice di oggetti e che tu voglia chiamare un metodo su quegli oggetti e sommare i valori restituiti. Ecco il codice PHP per questo:

array_sum(array_map(function($object) {
    $object->foo();
}, $objects));

Non così male, vero? Ecco lo stesso con Ruby:

objects.collect(&:foo).sum

Ora, questo potrebbe sembrare un piccolo miglioramento, ma quando scrivi molto codice ti assicuro che fa fa la differenza.

Comunità

Con la nascita di moderni framework web come Symfony (God bless the authors!) e Laravel questa situazione è leggermente migliorata, ma questo punto è ancora parzialmente vero.

La comunità PHP è terribile: la maggior parte di loro non ha interesse a migliorare gli strumenti con cui sta lavorando, e si preoccupa solo di fare le cose il più rapidamente possibile con il minor sforzo possibile. La quantità di informazioni errate / obsolete su PHP è impressionante.

Ecco perché ho deciso di mantenere la traduzione italiana di PHP: The Right Way , anche se non uso più PHP . So che PHP non sta andando da nessuna parte, almeno per il prossimo decennio, e mi piacerebbe migliorare tutto il terribile codice degli spaghetti che ho letto nel corso degli anni.

A cosa serve PHP?

Come ho detto, PHP è un linguaggio progettato per i dilettanti. Tutte le web hosting là fuori lo supportano, e puoi semplicemente caricare il tuo script tramite un client FTP e lasciarlo girare. Questo funziona bene per le piccole applicazioni che non richiedono molta progettazione o manutenzione.

Tutte le altre tecnologie, d'altra parte, richiedono un po 'di setup e tweaking per funzionare bene, ma a lungo termine si ripaga.

Ulteriori letture

Ci sono molti rilanci là fuori su PHP. I migliori sono:

risposta data 02.03.2014 - 13:45
fonte

Leggi altre domande sui tag