[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[OT] [flamestarter?] (ba)sh vs. p{erl,ython} (era Re: Aggiornamenti dal fronte ...)



On Mon, May 27, 2002 at 11:18:44AM +0200, Lele Gaifax wrote:
>     /> Diciamo che con (ba)sh ed i _tool_ standard si puo` fare
>     /> praticamente tutto.  Se si tratta di fare piccoli script e`
>     /> molto produttivo usare la shell, anche per motivi di velocita`.
> 
> Velocità di un script sh? 
Tempo di startup di (ba)sh, tempo di sviluppo.
Poi, e` chiaro che sh serve da collante: per esempio per preparare
l'ambiente ad uno script nAWK che per fare list processing e` di
certo piu` veloce di python. Ottimo esempio e` archivemail: sara`
anche stato facile da scrivere, ma e` leeento.

>     /> L'unico accorgimento da tenere, scrivendo script che vengono
>     /> eseguiti spesso e che quindi occupano una quantita` di tempo
>     /> macchina non trascurabile, e` minimizzare il numero di chiamate
>     /> a programmi esterni (sed, wc ecc.), poiche' ogni fork(2) porta
>     /> via tempo.
> 
> Appunto, cosa ben difficile da fare in bash, quando, tecnicamente,
> anche per chiamare una funzione e ottenerne il risultato si utilizza
> la tecnica della funzione che fa una echo...
Spesso si tratta di sprechi non necessari.

> E, tenuto conto che *quasi* tutto in bash è ottenuto da prg esterni,
> bhè, vedo ben difficile competere con linguaggi più potenti e
> semicompilati.
Dipende da che cosa deve fare lo script che stai scrivendo.
Io ho una discreta collezione di wrapperini e script per automatizzare
certi compiti per i quali perl o python sarebbero uno spreco di risorse.
Vedere anche http://www.zip.com.au/~cs/css/ per qualche buon esempio su
quando basta la shell e quando serve perl.

>     /> Con questo non voglio di dire che Python sia inutile:
> 
> ci mancherebbe !-)
Quello che voglio dire e` che molti usano perl o python perche' sono
ignoranti in materia di shell.

>     /> tutt'altro, ma bisogna saper scegliere il tool giusto per ogni
>     /> compito: spesso si vede usare perl in casi in cui sarebbe piu`
>     /> efficiente la shell, per esempio.
> 
> ... più efficiente...: bisogna chiarirsi cosa intendi con questo! Se
> l'efficienza la misuri con la velocità di esecuzione, dubito molto
> l'affermazione sia provabile,
Dipende dai casi, ovviamente.

> mentre se parliamo di "requisiti" al
> sistema, quindi in termini di spazio occupato dallo
> script+interprete+librerie necessarie forse il bilancio potrebbe
> essere diverso...
Ecco.

>     >> 2 Se non trovo un libro che mi spieghi prima cos'è la
>     >> programmazione non ci capirò mai un fico secco in Python, [...]
>     /> Ah, e` probabile.
> 
> Il tutorial e la documentazione in linea del Python te li sei
> letti? E' materiale molto ben fatto, che rendono alquanto superfluo un
> libro *per*imparare*. Discorso diverso per *approfondire*: ci sono
> svariati libri al riguardo. E, IMHO, Python è un *gran* linguaggio per
> imparare a programmare (deriva da ABC, dello stesso autore, linguaggio
> nato *appositamente* come linguaggio-scuola).
A proposito di imparare: e` comunque fondamentale studiarsi un po' di
shell per capire bene come funziona il sistema: I/O, permessi, processi
eccetera.

Ciao,
/dev/null


-- 
To UNSUBSCRIBE, email to debian-italian-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: