Perché Perl è un linguaggio appropriato per CGI? [chiuso]

0

Ho sentito molte persone dire che Perl è un ottimo linguaggio per CGI. Ma penso che non sia tanto popolare quanto i linguaggi in crescita come Python, Ruby.

C'è una solida ragione per cui Perl è ancora la lingua appropriata per CGI.

    
posta Sudeep Acharya 01.02.2014 - 14:42
fonte

1 risposta

11

Perl non è un ottimo linguaggio per CGI. O meglio, CGI non è eccezionale.

Il linguaggio Perl è stato progettato da Larry Wall per semplificare le sue attività di sysadmin. È interpretato, altamente portatile, ha una profonda integrazione con Unix e funzionalità di gestione del testo senza eguali (soprattutto se confrontato con C). Quando il Web arrivò, Perl era nel posto giusto al momento giusto, e divenne popolare come lingua facile da apprendere che era disponibile praticamente su qualsiasi server. Ciò ha permesso alle persone di accartocciare facilmente forme semplici o altri tipi di contenuti dinamici. In origine, molte persone hanno utilizzato cgi-lib.pl per astrarre il protocollo CGI, in seguito è stato utilizzato CGI.pm .

Oggi, Perl non è usato molto in quest'area, poiché altri linguaggi come PHP hanno assunto questa nicchia specifica. Mentre Perl è un linguaggio di programmazione generico utilizzato per il Web, PHP è stato specificamente creato per la creazione di siti Web tramite CGI.

Mentre Perl è ancora un ottimo linguaggio, CGI è diventato impopolare: questo protocollo richiede l'avvio di un nuovo interprete per ogni richiesta, che è troppo lenta per tutto tranne che per i siti Web a basso traffico. Il protocollo FastCGI è migliore in questo senso poiché un'istanza interprete gestisce più richieste. Alcuni server come Apache hanno cercato di ridurre il sovraccarico integrando le lingue più in profondità nel server, tramite plugin come mod_perl o mod_php . Hanno un sacco di problemi da soli.

Oggi, la maggior parte dei linguaggi di programmazione definisce un'interfaccia server specifica, ad es. Perl ha PSGI, Python ha WSGI. Questa interfaccia definisce come un server può passare richieste ad un'applicazione web e consente una varietà di middleware efficienti o retrocompatibili.

La programmazione Web oggi è stata plasmata in modo irreversibile (no, migliorata) dagli innovativi framework web di Ruby Ruby on Rails e Sinatra . Da allora molti progetti sono stati codificati per portare questa facilità di creazione di applicazioni web in altre lingue. In Perl, questi progetti sono

  • Dancer (fondamentalmente solo un modo semplice per mappare percorsi a modelli)
  • Mojolicious (un framework web molto completo e poco dipendente)
  • C'è anche il vecchio framework Catalyst, ma è molto più complesso.

Poiché questi framework sono basati su PSGI, possono essere distribuiti tramite CGI o tramite qualsiasi altra interfaccia dove esiste il middleware appropriato (esistono anche alcuni server PSGI specializzati).

Perl non è l'unico linguaggio che ha cose così fantastiche: Ruby è già stato menzionato, e Python ha alcuni buoni quadri di per sé, il più noto è Django. Mentre PHP è molto investito nell'essere utilizzabile tramite mod_php senza molte ulteriori cerimonie, anche questo ha un numero di quadri moderni. In realtà, qualsiasi linguaggio che è stato utilizzato negli ultimi vent'anni ha un qualche tipo di framework web, e Wikipedia ne ha una bella lista .

    
risposta data 01.02.2014 - 15:49
fonte

Leggi altre domande sui tag