Di recente vi abbiamo parlato delle differenze tra C/C++ e Python nella programmazione per i sistemi embedded e del perché un developer dovrebbe orientarsi verso l'uno o l'altro linguaggio. Oggi il nostro focus si sposta su un'altra grande rivalità nel settore della programmazione. Stiamo parlando di Python e Perl.
Questi due linguaggi si sono sviluppati e diffusi notevolmente nel corso degli anni, anche se non sempre negli stessi contesti, e sono diventati due punti di riferimento per milioni di sviluppatori.
Nascono entrambi in ambito Unix ma i due progetti hanno approcci diversi. Mentre Python richiede una pulizia maggiore e una sintassi più precisa (basti pensare al ruolo fondamentale svolto dall'indentazione del codice), al contrario Perl è meno esigente su questo versante permettendo agli sviluppatori di scrivere sorgenti in modo più "sporco", fatte salve le esigenze legate alla leggibilità, mantenendo comunque il funzionamento degli script realizzati.
Anche dal punto di vista delle strategie per risolvere un problema esistono delle importanti differenze tra Python e Perl. Mentre il primo predilige (anche se non impone) un'unica via per raggiungere l'obbiettivo, il secondo invece offre più strade per ottenere il medesimo risultato. PHP, che è però un linguaggio orientato al Web, deve molto a Perl in questo senso, ereditando il medesimo approccio al problem solving.
Quindi il codice scritto in Python ha di solito una readability migliore degli script Perl, anche se quest'ultimo ha dalla sua il vantaggio di integrare parte della sintassi proveniente da vari linguaggi come C, shell script, awk e sed che rendono la vita più semplice agi sviluppatori dotati di maggiore esperienza, permettendo tempi di sviluppo più rapidi.
Dunque ci sono dei contesti dove un codice maggiormente ottimizzato e pulito come quello di Python può risultare ottimale, ad esempio nei sistemi embedded o per il Machine Learning. Mentre Perl si adatta maggiormente ad altri contesti come gli script di sistema da unire con altri tool unix o quando bisogna lavorare con espressioni regolari. Quindi gli sviluppatori dovrebbero valutare caso per caso quale linguaggio utilizzare, in base alle loro conoscenze/competenze e alle caratteristiche del progetto corrente.
Via Tecmint