Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
On 03/09/2015 07:28 PM, enrico franchi wrote: Io credo che siamo in quasi completo accordo su tutta la faccenda. Lo penso anche io, anzi, credo che l'unico discorso su cui siamo in disaccordo sia riguardo a Python 3 (tu ti vedi scettico e pensi che sia stato un errore, io penso che sia stato un bene e che sia giusto migrare, nei limiti del possibile) :) Enrico ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-14 12:20 GMT+00:00 Enrico Bianchi enrico.bian...@ymail.com: credo che l'unico discorso su cui siamo in disaccordo sia riguardo a Python 3 (tu ti vedi scettico e pensi che sia stato un errore, io penso che sia stato un bene e che sia giusto migrare, nei limiti del possibile) Si. E' cosi'. O meglio, io non e' che sono scettico verso Python 3; penso che, con il senno di poi, la scelta di rompere la compatibilita' sia stata sottovalutata nel senso che per molti (incluso il sottoscritto) quello che Python 3 offre non e' troppo appetibile rispetto al costo di migrare baracca e burattini. Sono altrettanto convinto che se lavorassi su Python 3 per qualche tempo non vorrei tornare indietro. Ci sono tante piccole migliorie che, come sempre con Python, danno il meglio in concerto (e proprio l'insieme e' il grosso vantaggio); viceversa, se le guardi una per volta, non dicono troppo. E anche a me piacerebbe migrare, figurati. Semplicemente non abbiamo le risorse per farlo. Piu' tutte le incognite sul mettere in produzione qualcosa di bene o male ignoto, il ritorno d'investimento limitato dal fatto che il codice e' vecchio (ovvero, e' improbabile che lo riscriveremmo tutto usando il meglio che Python 3 offre, probabilmente si riscriverebbe il minimo per farlo funzionare con Python 3). -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-14 17:05 GMT+01:00 enrico franchi enrico.fran...@gmail.com: E anche a me piacerebbe migrare, figurati. Semplicemente non abbiamo le risorse per farlo. Piu' tutte le incognite sul mettere in produzione qualcosa di bene o male ignoto, il ritorno d'investimento limitato dal fatto che il codice e' vecchio (ovvero, e' improbabile che lo riscriveremmo tutto usando il meglio che Python 3 offre, probabilmente si riscriverebbe il minimo per farlo funzionare con Python 3). Infatti la rottura di compatibilita' sta frenando l'adozione. Aggiiungiamo che fino a pochissimo tempo fa i principali frameworks non lo supportavano. Certo se devo partire con un progetto da zero ci spendo tempo per apprendere bene le cose migliorate che indicavi e lo uso, ma riscrivere roba vecchia e testata, non si riuscira' a fare mai. Carlos -- EZLN ... Para Todos Todo ... Nada para nosotros ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-06 17:08 GMT+00:00 Enrico Bianchi enrico.bian...@decisyon.com: On Wednesday, March 04, 2015 07:39:20 AM enrico franchi wrote: Se vuoi usare Python per fare automazione di cose, ti troverai spesso ad usare subprocess. Mica per altro... semplicemente molti task specifici non hanno un equivalente di libreria (e scriverlo costa troppo), E` per questi casi che dico che subprocess dev'essere usato solo se strettamente necessario Senti, davvero... io non riesco a seguire i tuoi flussi di pensiero. Questo thread, e' nato da OP che parlava appunto di come fare a scriptare il fatto che doveva lanciare quattro programmi. Da cui il mio suggerimento di usare bash. E il fatto che, per una cosa cosi' semplice, trovo farlo in Python con subprocess piu' scomodo che farlo in bash. Questo giusto per dare contesto. Per il resto, nessuno dice che devi usare subprocess a sproposito o simili. Io mi limito a dire che usare subprocess al posto di bash non e' comodo. O meglio, io non lo trovo comodo. Tutto il resto sono discussioni su casi specifici che non hanno senso senza vedere i casi specifici stessi. Tra l'altro, sei d'accordo con me che si, bash puo' avere senso. Giuro che non capisco quale sia il punto. Il punto e` che scelgo di usare Python lo faccio perche` posso usare la sua libreria, e non comandi shell, che mi viene comoda in una serie smodata di contesti Dai, rileggiti il thread, davvero. Io credo che siamo in quasi completo accordo su tutta la faccenda. Non e' che con tutti questi interventi pensavi di rispondere a qualcun altro? Cioe' la mia tesi e' che per chiamare quattro comandi shell in croce sia da valutare il fatto che usare bash puo' essere piu' comodo farlo in bash che usando subprocess. Non stiamo parlando di complessi controlli di flusso, di librerie, di niente. -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
On Wednesday, March 04, 2015 07:39:20 AM enrico franchi wrote: Se vuoi usare Python per fare automazione di cose, ti troverai spesso ad usare subprocess. Mica per altro... semplicemente molti task specifici non hanno un equivalente di libreria (e scriverlo costa troppo), E` per questi casi che dico che subprocess dev'essere usato solo se strettamente necessario oppure l'interfaccia dell'eseguibile e' piu' comoda per quel task della libreria (evito di fare esempi perche' se no finisce che ci concentriamo sugli esempi). Dipende, nulla ti vieta di scriverti snippet per quell'interfaccia e riutilizzarli in futuro. Il modulo sh citato da Nicola ne e` un esempio Tra l'altro, sei d'accordo con me che si, bash puo' avere senso. Giuro che non capisco quale sia il punto. Il punto e` che scelgo di usare Python lo faccio perche` posso usare la sua libreria, e non comandi shell, che mi viene comoda in una serie smodata di contesti Come gia' ti dissi, quel baco e' chiuso nel bugtracker, ma non e' risolto in Python 2.7. Direi che questo riassume il problema: http://captiongenerator.com/30052/Hitler-reacts-to-the-Python-ecosystem A me verrebbe anzi da dire che tutt'ora la maggior parte dei Python in produzione sono 2. Penso di aver inveito abbastanza in passato sulla gestione scellerata di Python per gli ambienti enterprise, sia da parte delle distribuzioni, sia da parte degli sviluppatori. Pero` l'ho fatto sempre senza cognizione di causa, ora so che la situazione e` piu` rosea di quello che sembra[1], e se ci troviamo nello stato del video, e` perche` c'e` pigrizia da parte di tutti. Ad oggi, vedo Python 2.7 necessario solo per quegli script che per qualche motivo non possono migrare e per il funzionamento del sistema. Per il resto, vado di script e/o di programmazione con Python 3 e nulla di piu` Enrico [1] ovvero, voglio python 3.4 su centos 6? uso SCL o i repository di IUS Community e vivo felice ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-04 23:07 GMT+01:00 Enrico Bianchi enrico.bian...@ymail.com: On 03/04/2015 11:45 AM, Carlo Miron wrote: E quale punto della Lista Di Manlio™ contraddirebbe questa tua affermazione? Nessuno. Il problema e` la condizione iniziale, ovvero un sistemista a cui non importa cosa sta usando significa che nel momento in cui ci sara` un problema non sapra` cosa fare. Mi hai frainteso sul non importa sapere cosa sta usando. Il sapere non si riferisce a conoscere lo strumento. Ci mancherebbe altro. [...] Ciao Manlio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-04 8:32 GMT+00:00 Carlos Catucci carlos.catu...@gmail.com: 2015-03-04 8:41 GMT+01:00 enrico franchi enrico.fran...@gmail.com: E si... ho visto cose; ma alla fine c'e' bisogno di tutti quanti. Una copsa cosi' dici? http://incontrodevops.it Boh... credo che tecnicamente al di la del job title sia quello che faccio. Il termine devops mi fa un po' paura, in generale. E' molto buzzword e spesso viene usato per non dire che buona parte di quello che fai sono operations, dove il dev sta li solo per tranquillizzarti quando accetti. ;) Comunque il concetto di per se e' ok. -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
On Wednesday, March 04, 2015 07:57:37 AM Carlo Miron wrote: Microscopico orticello che potremmo chiamare ambiente enterprise. No, perche` in quel caso un sysadmin serio usa quello che sa piu` usare (bash per lo piu`) e, al massimo, testa su ambienti meno critici nuove metologie, ovvero non si improvvisa a scrivere script Python se non sa cosa sta facendo Enrico ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
Il 4 marzo 2015 10:27, Enrico Bianchi enrico.bian...@decisyon.com ha scritto: On Wednesday, March 04, 2015 07:57:37 AM Carlo Miron wrote: Microscopico orticello che potremmo chiamare ambiente enterprise. No, perche` in quel caso un sysadmin serio usa quello che sa piu` usare (bash per lo piu`) e, al massimo, testa su ambienti meno critici nuove metologie, ovvero non si improvvisa a scrivere script Python se non sa cosa sta facendo E quale punto della Lista Di Manlio™ contraddirebbe questa tua affermazione? /me spesso con capisce dove EnricoB voglia andare a parare. © -- |:**THE BEER-WARE LICENSE** (Revision 42): | mi...@python.it wrote this mail. As long as you retain | this notice you can do whatever you want with this stuff. | If we meet some day, and you think this stuff is worth it, | you can buy me a beer in return. |--Carlo Miron : ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-02 22:58 GMT+01:00 Enrico Bianchi enrico.bian...@ymail.com: On 03/01/2015 06:59 PM, enrico franchi wrote: Allora, abbiamo per esempio tar che quando hai un -z/-j sotto il cofano tira su una pipe, ma Python non ne sa nulla e a seconda di quello che fai hai grosso modo solo una linea di errore nello standard error. Posto che ho capito cosa intendi (e che il bug da te segnalato e` chiuso), vorrei sindacare che l'esempio da te portato non e` molto attinente, in quanto il modulo tarfile permette di creare archivi senza passare per tool esterni (senza contare che e` multipiattaforma). Il punto della mia risposta e` che usando Python hai qualcosa di piu` di un semplice linguaggio di script, basta semplicemente sapere cosa stai usando :) Il fatto è che a volte ad un sistemista non importa sapere cosa sta usando, purchè 1) sia disponibile sul sistema senza creare problemi di dipendenza 2) funzioni, in modo ragionevolmente efficiente 3) continui a funzionare in futuro (diciamo su una scala di 10 anni) 4) sia ragionevolmente complicato, in base al compito che deve svolgere Ciao Manlio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-02 21:58 GMT+00:00 Enrico Bianchi enrico.bian...@ymail.com: On 03/01/2015 06:59 PM, enrico franchi wrote: Allora, abbiamo per esempio tar che quando hai un -z/-j sotto il cofano tira su una pipe, ma Python non ne sa nulla e a seconda di quello che fai hai grosso modo solo una linea di errore nello standard error. Posto che ho capito cosa intendi (e che il bug da te segnalato e` chiuso), Il bug e' chiuso, ma non risolto. Il fix c'e' in Python 3.x, ma non e' stato backportato in 2.7. Puoi installarti un modulo a parte che contiene il bugfix. Come dire... per sostituire uno script di shell devo installarmi un Python con dipendenze esterne. Oppure posso mettere un Python 3.x in produzione per fare il mestiere di bash. vorrei sindacare che l'esempio da te portato non e` molto attinente, in quanto il modulo tarfile permette di creare archivi senza passare per tool esterni (senza contare che e` multipiattaforma). Forse ti sfugge il punto: il baco e' generale. Il fatto che ci sia un modulo per fare quella specifica cosa e' ortogonale. Ovvero, usare qualcosa che fa delle pipe e' buggato; per esempio il comune tar -z crea delle pipe. Devo chiarificare ulteriormente? Il punto della mia risposta e` che usando Python hai qualcosa di piu` di un semplice linguaggio di script, basta semplicemente sapere cosa stai usando :) Si si... hai tutto quello che vuoi. Ma non sempre mi serve e/o i costi benefici valgono la candela. -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
On 03/03/2015 04:36 PM, Manlio Perillo wrote: Il fatto è che a volte ad un sistemista non importa sapere cosa sta usando, purchè 1) sia disponibile sul sistema senza creare problemi di dipendenza 2) funzioni, in modo ragionevolmente efficiente 3) continui a funzionare in futuro (diciamo su una scala di 10 anni) 4) sia ragionevolmente complicato, in base al compito che deve svolgere Un sistemista del genere e` pericoloso e dovrebbe essere circoscritto il piu` possibile nel suo microscopico orticello a fare meno danni possibili Enrico ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-04 6:57 GMT+00:00 Carlo Miron ca...@miron.it: Un sistemista del genere e` pericoloso e dovrebbe essere circoscritto il piu` possibile nel suo microscopico orticello a fare meno danni possibili Microscopico orticello che potremmo chiamare ambiente enterprise. Che poi boh... io vedo fare molti piu' danni dai dev, se e' per quello. I system engineer magari usano la chiave inglese, ma la usano per risolvere problemi. E si... ho visto cose; ma alla fine c'e' bisogno di tutti quanti. Poi dopo si puo' dire molto sui sys eng *non* bravi. E si puo' dire altrettanto sui dev non bravi. -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
Il 03/mar/2015 23:21 Enrico Bianchi enrico.bian...@ymail.com ha scritto: On 03/03/2015 04:36 PM, Manlio Perillo wrote: Il fatto è che a volte ad un sistemista non importa sapere cosa sta usando, purchè 1) sia disponibile sul sistema senza creare problemi di dipendenza 2) funzioni, in modo ragionevolmente efficiente 3) continui a funzionare in futuro (diciamo su una scala di 10 anni) 4) sia ragionevolmente complicato, in base al compito che deve svolgere Un sistemista del genere e` pericoloso e dovrebbe essere circoscritto il piu` possibile nel suo microscopico orticello a fare meno danni possibili Microscopico orticello che potremmo chiamare ambiente enterprise. © -- |:**THE BEER-WARE LICENSE** (Revision 42): | ca...@miron.it wrote this mail. As long as you retain | this notice you can do whatever you want with this stuff. | If we meet some day, and you think this stuff is worth it, | you can buy me a beer in return. |--Carlo Miron : ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-03 22:18 GMT+00:00 Enrico Bianchi enrico.bian...@ymail.com: Non lo e`, perche` se scelgo Python (ma anche Perl, Ruby o Lua) per fare scripting, lo faccio proprio per la flessibilita` che mi da sia il linguaggio che il suo sistema di librerie. In altre parole, subprocess lo uso solo quando mi e` strettamente necessario, e non come unica risorsa disponibile. Se vuoi usare Python per fare automazione di cose, ti troverai spesso ad usare subprocess. Mica per altro... semplicemente molti task specifici non hanno un equivalente di libreria (e scriverlo costa troppo), oppure l'interfaccia dell'eseguibile e' piu' comoda per quel task della libreria (evito di fare esempi perche' se no finisce che ci concentriamo sugli esempi). Per tutto il resto, metto in gioco le librerie che mi servono, altrimenti tanto vale rimanere a bash vivere felice in quel mondo (che, nonostante quello che si dice, puo` avere senso) Allora, proviamo a fare un riassunto? 1: Esiste questa condizione X che e' sgradevole. Per esempio quando fai Y, X si manifesta. 2: A si, ma invece di fare Y dovresti fare Z. Resta il fatto che X esiste. In altre parole, tu stai rispondendo al fatto che ci sia un baco in subprocess dicendo che non e' rilevante perche' uno specifico eseguibile che triggera il baco puo' essere sostituito dalla standard library. Quello che sto dicendo e' che il semplice fatto che tar -z possa essere rimpiazzato dalla standard library non vuole dire che il baco non sia un problema. Non ho davvero voglia di mettermi a fare una lista di software comunemente distribuiti che in qualche momento della loro esistenza tirano su una pipe fra un processo padre e un processo figlio. Perche' questa e' la condizione che scatena il baco. Non e' tar in se che e' malvagio. Non ho intenzione di commentare poi su tarlib e combriccola, perche' poi e' chiaro che finiremmo a parlare di tarlib. Tra l'altro, sei d'accordo con me che si, bash puo' avere senso. Giuro che non capisco quale sia il punto. Ovvero, usare qualcosa che fa delle pipe e' buggato; per esempio il comune tar -z crea delle pipe. Devo chiarificare ulteriormente? Sei stato chiarissimo, cosi` come e` chiaro che quel bug e` chiuso. Come gia' ti dissi, quel baco e' chiuso nel bugtracker, ma non e' risolto in Python 2.7. Chiudere qualcosa nel bugtracker non vuole dire averlo fixato, sfortunatamente. Non credo che tu possa sostenere che i deployment di Python 2.7 sono una piccola parte dei deployment di Python. A me verrebbe anzi da dire che tutt'ora la maggior parte dei Python in produzione sono 2. Quindi per quanto chiuso, quel baco e' tutt'ora rilevantissimo. -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
On 03/02/2015 11:30 PM, Balan Victor wrote: Quella della ram è un problema relativo ... dipende da qual'è il target del tuo sistema operativo. Il target di Debian e` dal sistema embedded al server, quindi devi pensare sempre ai minimi termini :) Enrico ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
On 03/01/2015 06:59 PM, enrico franchi wrote: Allora, abbiamo per esempio tar che quando hai un -z/-j sotto il cofano tira su una pipe, ma Python non ne sa nulla e a seconda di quello che fai hai grosso modo solo una linea di errore nello standard error. Posto che ho capito cosa intendi (e che il bug da te segnalato e` chiuso), vorrei sindacare che l'esempio da te portato non e` molto attinente, in quanto il modulo tarfile permette di creare archivi senza passare per tool esterni (senza contare che e` multipiattaforma). Il punto della mia risposta e` che usando Python hai qualcosa di piu` di un semplice linguaggio di script, basta semplicemente sapere cosa stai usando :) Enrico ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
On 03/01/2015 03:57 PM, Manlio Perillo wrote: Pensa che sarebbe successo se questo fosse avvenuto davvero usando python2. Il problema non e` il linguaggio, ma l'impatto che esso ha sul sistema. L'interprete Python occupa 7Mb in RAM, il che lo rende troppo pesante per essere sfruttato appieno come init system (er fare un paragone, systemd a PID1 occupa 3Mb). Inoltre, uno script shell e` molto piu` veloce dell'interprete Python, anche grazie alla sua complessita` come sistema Enrico ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
Il target di Debian e` dal sistema embedded al server, quindi devi pensare sempre ai minimi termini :) In questo caso si. Io pensavo più a una distro red hatXD ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
Il problema non e` il linguaggio, ma l'impatto che esso ha sul sistema. L'interprete Python occupa 7Mb in RAM, il che lo rende troppo pesante per essere sfruttato appieno come init system (er fare un paragone, systemd a PID1 occupa 3Mb). Inoltre, uno script shell e` molto piu` veloce dell'interprete Python, anche grazie alla sua complessita` come sistema Quella della ram è un problema relativo ... dipende da qual'è il target del tuo sistema operativo. Se deve girare su sistema embeded con ram limita è un conto, ma se deve girare su un server penso non ci sia poi tutta sta grande differenza. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-01 10:38 GMT+01:00 Nicola Larosa n...@teknico.net: enrico franchi wrote: Io sinceramente per lanciare 4 programmi in stecca scriverei 4 righe di bash. Il riduzionismo degli shell script scritti tanto sono quattro righe è pernicioso. Non sono mai quattro righe: sappiamo bene che ogni frammento di codice ha la tendenza ad allungarsi, col tempo. La sintassi imbarazzante degli shell script disincentiva dallo scrivere codice robusto, che controlla i processi lanciati e ne gestisce i codici di ritorno. Disincentiva anche dallo scrivere test: avete mai visto shell script corredati di test, anche quelli molto lunghi? E purtroppo ce ne sono ancora tanti, di questi ultimi. L'assenza di documentazione e commenti nella totalità degli script in circolazione è poi ben al di là dell'imbarazzante. Abbiamo uno strumento molto migliore per scrivere script, anche corti, anche di sistema: usiamolo. E chi trovasse il codice basato su subprocess ancora troppo prolisso può usare quel gioiello della libreria sh http://amoffat.github.io/sh/. Per l'amore di quanto avete di più caro, uscite dagli anni '70: smettete di scrivere shell script. Completamente. Dimenticatene l'esistenza. -- Nicola 'tekNico' Larosa http://www.tekNico.net/ If you are an expert in the intricacies of C++, please consider this knowledge a kind of martial art - something a real master never uses. - Yossi Kreinin, C++ FQA Lite, 2009 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python Mmmm non sono d'accordissimo. Dipende dal task. Per scompattare un tar.gz è più semplice usare sh/bash che python, idem per cancellare una directory o file di una certa estensione ricorsivamente o aggiungere semplici filtri tramite grep. Quando vuoi semplicemente fare una cosa di questo tipo in cascata usare Python è semplicemente sconveniente. Esiste una via di mezzo di cui io sono diventato un grande fan durante gli anni, il Makefile, e purtroppo sono ancora troppo pochi i Pythonisti che lo usano. -- Giampaolo - http://grodola.blogspot.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
Io uso spesso un approccio ibrido: uno script bash per chiamare task scritti con paver http://paver.github.io/paver/ che ha un po' l'idea del makefile. Il giorno mar 3 mar 2015 02:10 Giampaolo Rodola' g.rod...@gmail.com ha scritto: 2015-03-01 10:38 GMT+01:00 Nicola Larosa n...@teknico.net: enrico franchi wrote: Io sinceramente per lanciare 4 programmi in stecca scriverei 4 righe di bash. Il riduzionismo degli shell script scritti tanto sono quattro righe è pernicioso. Non sono mai quattro righe: sappiamo bene che ogni frammento di codice ha la tendenza ad allungarsi, col tempo. La sintassi imbarazzante degli shell script disincentiva dallo scrivere codice robusto, che controlla i processi lanciati e ne gestisce i codici di ritorno. Disincentiva anche dallo scrivere test: avete mai visto shell script corredati di test, anche quelli molto lunghi? E purtroppo ce ne sono ancora tanti, di questi ultimi. L'assenza di documentazione e commenti nella totalità degli script in circolazione è poi ben al di là dell'imbarazzante. Abbiamo uno strumento molto migliore per scrivere script, anche corti, anche di sistema: usiamolo. E chi trovasse il codice basato su subprocess ancora troppo prolisso può usare quel gioiello della libreria sh http://amoffat.github.io/sh/. Per l'amore di quanto avete di più caro, uscite dagli anni '70: smettete di scrivere shell script. Completamente. Dimenticatene l'esistenza. -- Nicola 'tekNico' Larosa http://www.tekNico.net/ If you are an expert in the intricacies of C++, please consider this knowledge a kind of martial art - something a real master never uses. - Yossi Kreinin, C++ FQA Lite, 2009 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python Mmmm non sono d'accordissimo. Dipende dal task. Per scompattare un tar.gz è più semplice usare sh/bash che python, idem per cancellare una directory o file di una certa estensione ricorsivamente o aggiungere semplici filtri tramite grep. Quando vuoi semplicemente fare una cosa di questo tipo in cascata usare Python è semplicemente sconveniente. Esiste una via di mezzo di cui io sono diventato un grande fan durante gli anni, il Makefile, e purtroppo sono ancora troppo pochi i Pythonisti che lo usano. -- Giampaolo - http://grodola.blogspot.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
Ciao Carlos, On Sunday 01 March 2015 11:03:17 Carlos Catucci wrote: Ricordo anni fa con alcuni altri dell'ERLUG (sistemisti) che si lamentavano che Debian volesse passare tutto lo scriptinng di configurazione da bash a Python. Hai qualche riferimento? Io ricordo solo il contrario, per uno specifico caso, sempre di qualche anno fa: https://lists.debian.org/debian-devel/2011/03/msg00394.html E devscripts, appunto è un pacchetto per chi sviluppa Debian! ;) Poi, indipendentemente dalle nostre preferenze, anche il software segue il modello preda/predatore[¹] quindi staremo a vedere va! :) [¹] http://www.pnas.org/content/108/50/19985 http://www.pnas.org/content/108/50/19985.full.pdf -- Daniele Tricoli 'Eriol' http://mornie.org ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-01 22:51 GMT+01:00 Daniele Tricoli er...@mornie.org: Hai qualche riferimento? No mi spiace Carlos -- EZLN ... Para Todos Todo ... Nada para nosotros ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
On Mar 1, 2015 10:38 AM, Nicola Larosa n...@teknico.net wrote: Per l'amore di quanto avete di più caro, uscite dagli anni '70: smettete di scrivere shell script. Completamente. Dimenticatene l'esistenza. E basta andar d'accordo con te... Poi mi abituo :-) Ciao. Marco. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-01 10:38 GMT+01:00 Nicola Larosa n...@teknico.net: Abbiamo uno strumento molto migliore per scrivere script, anche corti, anche di sistema: usiamolo. Ricordo anni fa con alcuni altri dell'ERLUG (sistemisti) che si lamentavano che Debian volesse passare tutto lo scriptinng di configurazione da bash a Python. Concordo con Nicola, uno script Python, se non e' scritto volutamente da cani, resta leggibile e mantenibile. Uno script bash tende a diventare un insieme di righe di caratteri strani, credo si autoconverta in klingon o in elfico, con il tempo (*) * Crowley stava ascoltando una raccolta di brani migliori dei Queen, anche se questo non è un dato importante, visto che qualsiasi audiocassetta lasciata per più di due settimane nel portaoggetti di un'auto si trasforma in una raccolta dei brani migliori dei Queen. Nei dintorni di Chiswick, Aziraphale curiosò svogliato tra le cassette del portaoggetti. Velvet Underground? Cos'è, un sotterraneo di velluto? Non credo che ti piacerebbe. Oh disse l'angelo sprezzante, sarà be-bop. Caro Aziraphale, ti rendi conto che se chiedessimo a un milione di esseri umani di definire la musica moderna nessuno di loro userebbe il termine 'be-bop'? disse Crowley. Ecco, questo sembra già meglio. Čajkovskij disse Aziraphale, aprendo una custodia e inserendo il nastro nelle Blaupunkt. Non ti piacerà si lamentò Crowley, è rimasto in macchina per più di due settimane. Un potente giro di basso iniziò a rimbombare nella Bentley proprio mentre la vettura oltrepassava Heatrow. Aziraphale aggrottò le ciglia. Questa non la riconosco disse. Cos'è? È una variazione di Čiajkovskij sul tema di Another one bites the dust rispose Crowley, chiudendo gli occhi, mentre il bolide sfrecciava oltre Slough. Per ingannare il tempo, durante l'attraversata dei sonnolenti Chilterns, i due ascoltarono anche We are the champions di William Byrd e I want to break free di Beethoven. Nessuna delle due, comunque, fu all'altezza di Fat-Bottomed Girls, nella versione di Vaughan Williams. (brani tratti da Good Omens di Terry Pratchett e Nei Gaiman, due, IMHO, mostri sacri) Carlos -- EZLN ... Para Todos Todo ... Nada para nosotros ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
Il 01/mar/2015 10:38 Nicola Larosa n...@teknico.net ha scritto: enrico franchi wrote: Io sinceramente per lanciare 4 programmi in stecca scriverei 4 righe di bash. Il riduzionismo degli shell script scritti tanto sono quattro righe è pernicioso. Non sono mai quattro righe: sappiamo bene che ogni frammento di codice ha la tendenza ad allungarsi, totalmente d'accordo. Per ragioni di lavoro (sono sistemista) ho spesso a che fare con la creazione di script e dopo aver sbattuto la testa su script bat, powershell, autoit e simili python rimane sempre la scelta migliore per manutenere gli script nel tempo. è anche vero che è il linguaggio che conosco meglio al momento ma il solo pensare di scrivere script in batch mi fa tornare indietro nel tempo al periodo delle schede perforate :) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-01 11:03 GMT+01:00 Carlos Catucci carlos.catu...@gmail.com: 2015-03-01 10:38 GMT+01:00 Nicola Larosa n...@teknico.net: Abbiamo uno strumento molto migliore per scrivere script, anche corti, anche di sistema: usiamolo. Ricordo anni fa con alcuni altri dell'ERLUG (sistemisti) che si lamentavano che Debian volesse passare tutto lo scriptinng di configurazione da bash a Python. Pensa che sarebbe successo se questo fosse avvenuto davvero usando python2. Python, Ruby, etc sono ottimi linguaggi, ma sono grossi, complessi e si evolvono in modo complesso. Il linguaggio va scelto con cura, specialmente quello da usare per la programmazione di sistema (inteso da sistemista). Ciao Manlio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-01 17:46 GMT+01:00 Manlio Perillo manlio.peri...@gmail.com: No, non è sbagliato. Quello che dicevo è che ad essere sbagliato è probabilmente prendere *tutti* gli script della shell e convertirli in Python, senza prendersi il dovuto tempo a studiare la fattibilità e le conseguenze della cosa. Il *tutti* lo userei forse solo con Perl :) (che però non conosco bene, quindi magari lo sto trattando male). Perdonami avevo capito male. Certo, l'idea che avevano era quella di un processo graduale. In effetti sono quasi certo che l'installer ad esempio sia stato riscritto, forse anche aptitude. Sottolineo che non sono certissimo della cosa, non ho avuto tempo di seguire. Cio' non toglie che la vecchia guardia era contraria. Forse una volta che hanno conosciuto meglio Python hanno cambiato idea, mi sono dimenticato di chiedere l'ultima volta che ho visto uno di loro. Carlos -- EZLN ... Para Todos Todo ... Nada para nosotros ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-01 10:42 GMT+01:00 Marco Beri marcob...@gmail.com: On Mar 1, 2015 10:38 AM, Nicola Larosa n...@teknico.net wrote: Per l'amore di quanto avete di più caro, uscite dagli anni '70: smettete di scrivere shell script. Completamente. Dimenticatene l'esistenza. E basta andar d'accordo con te... Poi mi abituo :-) Il problema è che sono d'accordo anche io (ironia nevvero), gli shell script in generale sono il male. ciao -- Gian Mario Tagliaretti GNOME Foundation member gia...@gnome.org ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-01 15:57 GMT+01:00 Manlio Perillo manlio.peri...@gmail.com: Pensa che sarebbe successo se questo fosse avvenuto davvero usando python2. Python, Ruby, etc sono ottimi linguaggi, ma sono grossi, complessi e si evolvono in modo complesso Continuo a pensare che evoluzione o meno (e comunque puoi far convivere diverse versioni dell'interprete) che non sia sbagliato usare Python al posto di bash. Per la cronaca ho idea che parecchia roba in diverse distro sia scritta in Python (non ci metto la mano sul fuoco, non la mia almeno, pero' potrei prenderene in prestito una da qualcun'altro, se davvero citenete che io lo faccia). Carlos -- EZLN ... Para Todos Todo ... Nada para nosotros ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Smettete di scrivere shell script (era: Re: Lanciare script da altro script)
2015-03-01 17:26 GMT+01:00 Carlos Catucci carlos.catu...@gmail.com: 2015-03-01 15:57 GMT+01:00 Manlio Perillo manlio.peri...@gmail.com: Pensa che sarebbe successo se questo fosse avvenuto davvero usando python2. Python, Ruby, etc sono ottimi linguaggi, ma sono grossi, complessi e si evolvono in modo complesso Continuo a pensare che evoluzione o meno (e comunque puoi far convivere diverse versioni dell'interprete) che non sia sbagliato usare Python al posto di bash. No, non è sbagliato. Quello che dicevo è che ad essere sbagliato è probabilmente prendere *tutti* gli script della shell e convertirli in Python, senza prendersi il dovuto tempo a studiare la fattibilità e le conseguenze della cosa. Il *tutti* lo userei forse solo con Perl :) (che però non conosco bene, quindi magari lo sto trattando male). Ciao Manlio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python