Perché Perl è installato di default con la maggior parte delle distribuzioni Linux?
Perché Perl è installato di default con la maggior parte delle distribuzioni Linux?
Risposte:
La risposta è / non è sexy, a seconda del tuo punto di vista.
Perl è molto utile. Molte utilità di sistema sono scritte o dipendono da perl. La maggior parte dei sistemi non funzionerà correttamente se Perl viene disinstallato.
Alcuni anni fa FreeBSD ha fatto molti sforzi per rimuovere Perl come dipendenza per il sistema di base. Non è stato un compito facile.
In di Larry Wall originale Perl v1.0 distacco al comp.sources.misc newsgroup il 18 dicembre, del 1987, ha detto:
Se hai un problema che normalmente userebbe sed o awk o sh, ma supera le loro capacità o deve correre un po 'più veloce e non vuoi scrivere la cosa sciocca in C, allora il perl potrebbe fare al caso tuo.
In una mostra molto più tardi , ha elaborato un po 'di più:
Ma le frustrazioni della programmazione della shell Unix hanno portato direttamente alla creazione di Perl, che non ho davvero tempo di raccontare. Ma essenzialmente, ho scoperto che lo scripting della shell era intrinsecamente limitato dal fatto che la maggior parte dei suoi verbi non sono sotto il suo controllo e quindi ampiamente incoerenti tra loro. E i nomi sono impoveriti, limitati a stringhe e file, con tipologia chissà quale ...
Più distruttiva era la mentalità secondo cui si trattava di un universo unidimensionale: o hai programmato in C o hai programmato in shell, perché sono ovviamente alle estremità opposte di One True Continuum. Perl è nato quando ho capito che gli script non dovevano sempre essere visti come l'opposto della programmazione, ma che un singolo linguaggio poteva essere abbastanza buono per entrambi. Ciò ha aperto una grande nicchia ecologica. Molti di voi hanno visto il mio vecchio diagramma a conchiglia, con le due dimensioni della manipolosità e della frusta.
Oggi, Perl è un'alternativa / sostituzione standard per le esigenze di scripting di shell e analisi del testo e con molta più potenza rispetto agli strumenti tradizionali. A causa della sua estrema flessibilità (alcuni direbbero ineleganti), Perl è stata descritta come " la motosega dell'esercito svizzero di linguaggi di scripting ". Le attività spesso possono essere significativamente più brevi, più facili o più estensibili quando risolte con Perl. Molti, molti strumenti di sistema, script e programmi più grandi sono regolarmente scritti in Perl. Quindi, nel moderno ambiente Linux, Perl è ora un altro strumento Unix standard e veramente indispensabile.
awk
e inserire sed
(Perl).Penso che la risposta a questa domanda sia in parte storica, in parte pratica.
Per quanto riguarda la storia, Perl è un linguaggio di classe. È più elegante di Python (per non parlare di PHP), anche se non ho idea di cosa sia "migliore" (se ciò potesse in qualche modo essere analizzato formalmente, di cui dubito). E i ragazzi di classe che usano (o usano) Perl sono in genere i ragazzi che decidono cosa dovrebbe essere parte di una distribuzione Linux.
Per quanto riguarda ciò che è pratico, Perl è ancora la colla di molte cose: i sistemi operativi e il web allo stesso modo (di nuovo, LAMP, senza dimenticare Python o PHP). Quindi perché non includere tutto ciò che è utile per molti scopi? E ancora di più, perché rimuovere tutto ciò che c'è (e non provoca alcun danno) ed è utile?
Ma, come succede, c'è una nota al riguardo nell'ultimo numero di The Linux Magazine (n. 151, giugno 2013). Apparentemente, al fine di compilare il kernel Linux sono stati impiegati un paio di brevi e semplici script Perl. (Ancora una volta, il ruolo "colla" di Perl nei sistemi operativi.) Ora, uno degli sviluppatori del kernel ha inviato patch di una riscrittura di quegli script, questa volta non in Perl, ma come "script shell Unix" (è che sh
?). In questo modo, Perl non avrebbe dovuto essere installato per nessuno che compilasse il kernel. Ma quella patch (inviata più volte) non è stata raccolta. E una ragione di ciò è che, una volta fuori al freddo, è improbabile che Perl sia lasciato entrare. Persone come Perl, e non vogliono separarsene.
Ora, questo tocca solo i margini di questa domanda poiché probabilmente una piccolissima minoranza di utenti Linux probabilmente compilerà il kernel. Ma è ancora un altro pezzo del puzzle (e sospetto che ce ne siano molti).