Accademia:Log 2011 03 09

Da Guide@Debianizzati.Org.


21:32:18 < spirit> Buonasera
21:32:24 < Stemby> ciao spirit
21:32:31 < Stemby> iniziavo a preoccuparmi
21:32:43 < Stemby> tutto bene?
21:32:43 < spirit> perchè?
21:32:52 < Stemby> perché non c'era nessuno
21:33:23 < Stemby> spirit: cos'hai fatto di bell?
21:33:25 < Stemby> *bello
21:33:30 < spirit> l' altra volta sono uscito dalla chat, perchè avevo mal di testa
21:33:40 < Stemby> l'altra volta... quando?
21:33:43 < Stemby> mercoledì?
21:33:46 < spirit> domenica
21:33:56 < Stemby> domenica è saltata
21:34:23 < Stemby> non si è fatto niente
21:34:53 < spirit> io sto ripassando in questi giorni
21:35:06 < Stemby> cosa?
21:35:29 < spirit> un pò tutta la sintassi
21:35:53 < spirit> sopprattutto il significato di () [] {}
21:36:09 < |Wolf|> Stemby, cmq l'altro giorno c'era qualcuno che si lamentava del libro
21:36:16 < spirit> list, list comprension
21:36:18 < Stemby> sì, ho letto
21:36:38 < Stemby> non so che farci
21:36:47 < Stemby> io sono arrivato al capitolo 6
21:36:52 < Stemby> e non mi sembra malaccio
21:36:59 < Stemby> certo, tutto molto semplice
21:37:18 < Stemby> ma secondo me è quel che ci vuole
21:37:31 < spirit> un libro di base ben fatto, no?
21:38:27 < |Wolf|> imho basterebbe il tutorial
21:38:38 < |Wolf|> e se ci sono cose non chiare basta dirlo che si modifica
21:41:37 < risca> buona sera
21:41:43 < risca> che passa per il cortile?
21:41:51 [Users #debianizzati-corsi]
21:41:51 [ hoax] [ risca] [ spirit] [ Stemby] [ |Wolf|] 
21:41:51 -!- Irssi: #debianizzati-corsi: Total of 5 nicks [0 ops, 0 halfops, 0 voices, 5 normal]
21:41:52 < spirit> ciao risca
21:42:03 < risca> ciao
21:42:15 < Stemby> cià, visto che son stanco, iniziamo
21:42:21 < Stemby> spirit: hai domande?
21:42:21 < risca> ecco lo spirit[o] giusto per iniziare la serata
21:43:00 < spirit> per ora no, grazie...
21:43:13 [Users #debianizzati-corsi]
21:43:13 [ hoax] [ risca] [ spirit] [ Stemby] [ |Wolf|] 
21:43:13 -!- Irssi: #debianizzati-corsi: Total of 5 nicks [0 ops, 0 halfops, 0 voices, 5 normal]
21:43:16 -!- alnuvola [~alex@Azzurra=68BD88FB.cust.dsl.teletu.it] has joined #debianizzati-corsi
21:43:23 < Stemby> oh, che bello
21:43:24 < risca> Stemby, cosa ci presenti stasera?
21:44:06 < Stemby> alnuvola: una new entry?
21:44:16 < Stemby> risca: l'uso dei metodi
21:44:25 < Stemby> usando i metodi stringa
21:44:28 < risca> buona idea
21:44:44 < Stemby> poi |Wolf| ci farà una bella lezione sui test
21:45:01 < Stemby> e poi... tisana e nanna
21:45:11 < risca> ^.^
21:45:12 < |Wolf|> "If it's not tested, it's broken." basta come lezione?
21:45:19 -!- JumX [~Mibbit@Azzurra=3515DFCC.246-95-r.retail.telecomitalia.it] has joined #debianizzati-corsi
21:45:24 < alnuvola> be mi piacerebbe imparare python 
21:45:34 < Stemby> alnuvola: a che punto sei?
21:45:40 < risca> purtroppo però io devo lasciarvi prima, la fidanzata mi aspetta...
21:45:45 [Users #debianizzati-corsi]
21:45:45 [ alnuvola] [ JumX ] [ spirit] [ |Wolf|] 
21:45:45 [ hoax    ] [ risca] [ Stemby] 
21:45:45 -!- Irssi: #debianizzati-corsi: Total of 7 nicks [0 ops, 0 halfops, 0 voices, 7 normal]
21:45:48 < alnuvola> da 0 a 10 
21:45:49 < alnuvola> 1
21:45:52 < Stemby> ok
21:45:57 < risca> allora sei ok
21:45:58 < Stemby> allora non correre troppo
21:46:08 < alnuvola> pero tempo fa programmavo in c
21:46:12 < alnuvola> e vb 
21:46:37 < Stemby> bon, visto che JumX è arrivato direi di partire
21:46:48 < alnuvola> ora sto vedendo il sito 
21:46:54 < JumX> Buonasera
21:47:17 < Stemby> metodo: avete già sentito questa parola?
21:47:30 < Stemby> alnuvola probabilmente no
21:47:37 < risca> no purtroppo
21:47:40 < spirit> chiamate a metodo?
21:47:43 < risca> (somma ignoranza mia)
21:48:08 < Stemby> è un concetto tipico della programmazione orientata agli oggetti
21:48:33 < Stemby> quindi chi programma in C++ o in Java sa già benissimo di che si tratta
21:48:58 < Stemby> in parole povere non è altro che una funzione che agisce su un oggetto
21:49:20 < Stemby> la sintassi in python è la seguente:
21:49:28 < Stemby> oggetto.metodo()
21:49:40 < Stemby> come vedete è molto simile a
21:49:43 < Stemby> funzione()
21:50:00 < Stemby> solo che il metodo agisce sull'oggetto precedente il punto
21:50:05 < Stemby> ok?
21:50:13 < spirit> ok
21:50:16 < Stemby> vediamo qualche esempio che è più semplice
21:51:02 < Stemby> mmm, la versione stabile è 3.2
21:51:13 < Stemby> noi stiamo tutti usando la 3.1, vero?
21:51:22 < risca> giusto
21:51:35 < risca> ma non penso avremo molti problemi in merito
21:51:40 < spirit> io la 3.1.3
21:51:47 < Stemby> non credo neanch'io
21:51:57 < Stemby> vabbé, continuamo ad usare la doc della 3.1
21:52:03 < |Wolf|> la 3.2 è uscita un paio di settimane fa
21:52:15 -!- amosse [~Mibbit@80.116.Azzurra=3EDE9B15] has joined #debianizzati-corsi
21:52:28 < amosse> Ciao a tutti
21:52:35 < Stemby> http://docs.python.org/release/3.1.3/library/stdtypes.html#string-methods
21:52:40 < Stemby> ciao amosse
21:52:44 < Stemby> siamo appena partiti
21:52:45 < risca> ciao amosse abbiamo appena iniziato con i metodi
21:52:50 < spirit> ciao
21:52:55 < risca> vedi il link appena postato
21:52:58 < amosse> ok 
21:53:02 < amosse> ok
21:53:26 < Stemby> allora, iniziamo a vedere un po' di metodi inclusi nella libreria standard
21:53:35 < Stemby> quindi tutta roba già premasticata
21:53:45 < Stemby> che possiamo usare anche senza programmare a oggetti
21:54:12 < Stemby> come vedete esistono tantissimi metodi già pronti
21:54:20 < Stemby> che agiscono sulle stringhe
21:54:38 < Stemby> agiscono dunque su stringhe
21:54:41 -!- JumX [~Mibbit@Azzurra=3515DFCC.246-95-r.retail.telecomitalia.it] has quit [Quit: http://www.mibbit.com ajax IRC Client]
21:54:51 < Stemby> nella doc la stringa è indicata con str
21:54:55 < Stemby> chiaro, no?
21:55:02 < risca> sì
21:55:16 < amosse> ok
21:55:22 < Stemby> apriamo la shell
21:55:27 < Stemby> e facciamo qualche prova
21:55:30 < risca> >>> "ciaO belli".capitalize()
21:55:31 < risca> 'Ciao belli'
21:55:52 -!- JumX [~Mibbit@Azzurra=3515DFCC.246-95-r.retail.telecomitalia.it] has joined #debianizzati-corsi
21:56:00 < Stemby> amosse: ad esempio tu potresti fare quello che hai provato a fare col tuo script
21:56:09 < Stemby> amosse: hai visto la mia correzione?
21:56:14 < JumX> rieccomi Scusate 
21:56:27 < Stemby> (devi anche ringraziare |Wolf| che ha ulteriormente ripulito)
21:56:36 < amosse> no ho aperto solo ora il computer da ieri
21:56:51 < Stemby> allora guarda
21:56:57 < amosse> ok
21:56:59 < Stemby> anzi:
21:57:07 < Stemby> carico lo script su gobby
21:58:04 < Stemby> caricato
21:58:13 < Stemby> diamoci tutti un'occhiata
21:58:21 < risca> ok
21:58:41 < Stemby> per i nuovi:
21:58:49 < Stemby> aptitude install gobby
21:58:56 < Stemby> (o un altro client analogo)
21:59:10 < Stemby> server: stemby.dyndns.org
21:59:21 < amosse> ok
21:59:22 < Stemby> porta: 6522
22:05:00 < alnuvola> cosè gobby
22:05:39 < Stemby> risca: http://docs.python.org/release/3.1.3/library/stdtypes.html#truth-value-testing
22:05:51 < Stemby> alnuvola: un editor
22:06:04 < Stemby> che permette di lavorare in simultanea via internet
22:06:34 < Stemby> chi mi riassume come funziona if?
22:06:57 < Stemby> amosse: visto che hai capito, spiegalo a tutti
22:06:57 < amosse> ok
22:07:03 < Stemby> come funziona if?
22:07:36 < Stemby> lo faccio io...
22:07:43 < Stemby> if espressione:
22:07:46 < Stemby>     blocco
22:07:55 < Stemby> giusto?
22:08:11 < Stemby> se l'espressione è vera, il blocco viene eseguito
22:08:14 < Stemby> altrimenti no
22:08:15 < amosse> ok 
22:08:26 < Stemby> word è una stringa
22:08:42 < Stemby> se la stringa è vuota, l'espressione è falsa
22:08:54 < Stemby> (per il link che ho passato a risca poco sopra)
22:09:14 < Stemby> se invece contiene caratteri, il blocco viene eseguito
22:10:26 -!- AzzurraMibbit_701 [~Mibbit@82.84.Azzurra=493CE29E] has joined #debianizzati-corsi
22:11:20 < amosse> ora é più chiaro
22:11:49 -!- AzzurraMibbit_701 [~Mibbit@82.84.Azzurra=493CE29E] has left #debianizzati-corsi []
22:15:12 < Stemby> allora, lo script è semplice
22:15:20 < Stemby> funziona
22:15:26 < Stemby> ma è poco efficiente
22:15:36 < Stemby> a causa del concatenamento delle stringhe
22:15:51 < JumX> chiedo scusa l'editor che usate è geany?
22:15:57 < Stemby> gobby
22:16:02 < amosse> si
22:16:21 < Stemby> JumX: ma scusa, ci sei su gobby...
22:16:28 < JumX> si gobby l'ho capito intendevo l'edito per far eseguire lo script
22:16:39 < Stemby> ?
22:16:54 < Stemby> editor per eseguire lo script...
22:16:57 < Stemby> non capisco
22:17:08 < JumX> vai avanti non preoccuparti
22:17:17 < amosse> ti riferisci al crash?
22:17:19 < Stemby> l'editor serve per scrivere uno script
22:17:28 < Stemby> per eseguirlo si usa l'interprete
22:17:57 < JumX> e che interprete usare?
22:17:59 < Stemby> poi gli IDE possono invocare l'interprete anche dal loro interno, ma questo è un altro discorso
22:18:06 < Stemby> JumX: python3
22:18:11 < Stemby> versione 3.1
22:18:17 < JumX> questo da terminale
22:18:30 < Stemby> JumX: quello è l'interprete
22:18:52 < Stemby> forse è il momento di chiarire 'sta cosa...
22:19:09 < Stemby> è chiara la differenza tra linguaggio compilato e linguaggio interpretato?
22:19:15 < Stemby> (e le analogie)
22:19:29 < amosse> si può ridire?
22:19:33 < amosse> forse é meglio
22:19:47 < Stemby> ok
22:20:00 < Stemby> è un po' un discorso da lezione introduttiva, comunque...
22:20:17 < Stemby> linuaggio macchina: è chiaro cos'è?
22:20:53 < Stemby> chi tace acconsente
22:20:56 < amosse> ?
22:21:04 < Stemby> amosse: ?
22:21:14 < Stemby> *linguaggio
22:21:19 < amosse> non lo so esttamente
22:21:19 < spirit> per me no.
22:21:31 < Stemby> un po' più reattivi, please
22:21:37 < Stemby> altrimenti non vado più a nanna
22:21:39 < Stemby> allora
22:21:49 < Stemby> non è altro che una serie di 0 e di 1
22:22:04 < Stemby> che in pratica funzionano da interruttori
22:22:26 < Stemby> e modificano il funzionamento del processore
22:22:56 < Stemby> a seconda del codice che arriva al processore, questi modificherà il suo comportamento
22:23:08 < Stemby> e butterà fuori altri 0 e 1
22:23:28 < Stemby> grosso modo è così
22:23:36 < amosse> ok
22:23:39 < spirit> ok
22:24:01 < Stemby> quindi il codice macchina dipende innanzitutto dal processore utilizzato
22:24:23 < Stemby> un programma che funziona sul mio cellulare, non funziona sul mio pc
22:24:36 < Stemby> perché il processore è diverso
22:24:44 < amosse> ok
22:24:51 < spirit> ok
22:25:00 < Stemby> e quindi per fare una stessa cosa, la sequenza di 0 e 1 sarà diversa
22:25:11 < Stemby> quello è il codice macchina
22:25:30 < Stemby> ma nessuno programma più in codice macchina da almeno 60 anni
22:26:54 < risca> dai, qualche hobbysta c'è ancora secondo me
22:27:15 < amosse> ok 
22:27:16 < Stemby> http://it.wikipedia.org/wiki/Assembly
22:27:30 < Stemby> il linguaggio a più basso livello che si usi oggigiorno è questo
22:27:47 < Stemby> in realtà pochissimi programmano in assembly
22:27:58 < Stemby> perché?
22:28:04 < Stemby> perché non è portabile
22:28:15 < Stemby> ogni processore ha il suo assembly
22:28:33 < Stemby> quindi il programma che gira su x86, non girerà su ARM
22:28:50 < spirit> chi progetta intel usa assembly?
22:28:56 < Stemby> ?
22:29:17 < spirit> cioè
22:29:39 < Stemby> assembly oggigiorno si usa praticamente solo su dispositivi embedded moooolto limitati
22:29:46 < Stemby> (microcontrollori)
22:30:05 < amosse> ok
22:30:08 < Stemby> ma anche lì ormai si usa più che altro il C
22:30:11 < spirit> ok
22:30:13 < risca> ragazzi, purtroppo devo andare... leggo il log appena torno!
22:30:17 < risca> buon lavoro a tutti
22:30:23 < Stemby> ciao risca
22:30:28 < spirit> ciao 
22:30:29 < amosse> ciao risca 
22:30:53 < Stemby> dicevo
22:31:06 < alnuvola> ragazzi allora metto l autojoi sul canale 
22:31:11 < alnuvola> cosi impariamo paython 
22:31:12 < alnuvola> .d
22:31:45 < Stemby> l'assembly è molto simile al linguaggio macchina
22:32:04 < Stemby> è sostanzialmente la stessa cosa, ma scritta in un modo... leggibile
22:32:23 < amosse> ok
22:32:31 < Stemby> per passare dall'assembly al codice macchina, si usa un compilatore
22:32:45 < Stemby> stessa cosa per tutti i linguaggi compilati
22:33:01 < Stemby> il linguaggio di alto livello di più basso livello è il C
22:33:15 < Stemby> è chiaro il concetto di livello?
22:33:15 < alnuvola> scusate ma io ho paython come faccio a mettere pathon3
22:33:32 < Stemby> amosse: aptitude install python3
22:33:35 < Stemby> e poi
22:33:40 < Stemby> python3
22:33:55 < Stemby> è chiaro il concetto di livello?
22:34:06 < Stemby> alto livello/basso livello
22:34:12 < spirit> più o meno
22:34:13 < amosse> si
22:34:21 < Stemby> amosse: spiega
22:35:05 < amosse> praticamente un linguaggio si dice di alto livello, tanto più vicino é al linguaggio umano
22:35:11 < Stemby> ok
22:35:11 < alnuvola> ragazzi io vado  buonanotte 
22:35:22 < amosse> quindi tanto più distante é dal linguaggio macchina
22:35:28 < Stemby> esatto
22:35:37 < spirit> bel concetto
22:35:38 -!- alnuvola [~alex@Azzurra=68BD88FB.cust.dsl.teletu.it] has quit [Client closed connection]
22:35:39 < Stemby> è il "livello di astrazione"
22:35:58 < Stemby> vantaggi e svantaggi
22:36:38 < Stemby> linguaggio di basso livello:
22:36:43 < Stemby> è altamente performante
22:36:51 < Stemby> l'hardware viene usato al meglio
22:36:58 < amosse> mi assento 5 min
22:37:04 < Stemby> ogni ciclo viene spremuto per tutto quello che può dare
22:37:15 < Stemby> solo che la programmazione è difficilissima
22:37:23 < Stemby> ogni cavolata fa sputare sangue
22:37:36 < Stemby> proprio perché si deve ragionare come una macchina
22:37:50 < Stemby> è più simile all'elettronica che all'informatica come la si intende oggi
22:37:59 < Stemby> linguaggio di alto livello:
22:38:04 < Stemby> programmazione semplice
22:38:09 < Stemby> programmi portabilo
22:38:13 < Stemby> *portabili
22:38:24 < Stemby> scrivi una volta, usi ovunqur
22:38:28 < Stemby> *ovunque
22:38:37 < Stemby> hai un sacco di cose già pronte
22:38:44 < Stemby> scrivi come in inglese o quasi
22:38:54 < Stemby> ok?
22:39:05 < spirit> ok 
22:39:14 < Stemby> il python è un linguaggio di altissimissimo livello
22:39:26 < Stemby> (è decisamente il linguaggio di più alto livello che conosca)
22:39:34 < Stemby> prestazioni schifoselle
22:39:41 < Stemby> ma tutto il resto è una goduria
22:40:05 < Stemby> NON è un linguaggio compilato
22:40:09 < JumX> quindi scusa, lo stesso script funziona anche su windows?
22:40:09 < spirit> bello anche lo zen python
22:40:17 < Stemby> JumX: certo!
22:40:27 < Stemby> JumX: anche su Mac
22:40:38 < JumX> senza cambiare nulla perchè python non va compilato giusto?
22:40:43 < Stemby> o su qualsiasi altro sistema operativo su cui giri python
22:40:59 < Stemby> JumX: sì
22:41:02 < Stemby> più o meno
22:41:04 < amosse> perché schifoselle prestazioni? 
22:41:05 < Stemby> nel senso:
22:41:27 < Stemby> lo script se è scritto come si deve gira ovunque
22:41:36 < Stemby> ovviamente devi avere l'interprete installato
22:41:50 < Stemby> (compilato per quel sistema operativo e per quella architettura)
22:42:11 < Stemby> ovvero: se install python3 su win, poi i tuoi script ci girano sensa problemi
22:42:19 < Stemby> amosse: perché è lento
22:42:22 < Stemby> per 2 ragioni
22:42:34 < Stemby> 1) è di altissimo livello
22:42:41 < Stemby> 2) non è compilato
22:42:52 < Stemby> in realtà le prestazioni non sono nemmeno pessime
22:43:05 < Stemby> (tanto dipende dalla qualità del codice che si scrive)
22:43:15 < Stemby> perché comunque python è scritto in C
22:44:01 < amosse> quindi un buono script può essere veloce come in C?
22:44:10 < Stemby> no
22:44:29 < Stemby> uno script in C sarà sempre di gran lunga più veloce
22:44:41 < Stemby> "script" non si dovrebbe dire
22:44:50 < Stemby> perché C è un linguaggio compilato
22:44:58 < spirit> ma C è a livello Python?
22:45:08 < Stemby> diciamo: un programma in C sarà sempre molto più veloce dell'analogo in python
22:45:16 < spirit> ok
22:45:28 < amosse> una domanda, come mai Java é il più usato?
22:45:30 < Stemby> ma probabilmente richiederà 10 volte il tempo necessario per realizzarlo
22:45:47 < Stemby> amosse: è più veloce
22:45:54 < Stemby> è più antico
22:46:03 < amosse> più del C?
22:46:06 < Stemby> è comunque libero
22:46:08 < |Wolf|> Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.
22:46:10 < Stemby> amosse: noooo
22:46:20 < Stemby> più del python
22:46:23 < |Wolf|> python è più vecchio di java
22:46:31 < Stemby> più del C c'è solo l'assembly
22:46:40 < Stemby> |Wolf|: più o meno
22:46:48 < Stemby> diciamo che è più vecchio come anni
22:46:55 < Stemby> ma il Java è popolare da sempre
22:46:56 < |Wolf|> 91 vs 94 iirc
22:47:09 < Stemby> mentre il python è popolare da una decina d'anni
22:47:32 < Stemby> quindi sostanziamente il Java è come se fosse più antico
22:47:45 < amosse> ok
22:48:12 < |Wolf|> c'era un articolo figo che spiegava perché java era popolare
22:48:27 < |Wolf|> quello che ho pastato su lo riassume quasi
22:48:38 < Stemby> comunque python ha avuto un boom
22:49:09 < amosse> una domanda:
22:49:17 < |Wolf|> http://www.paulgraham.com/icad.html
22:49:35 < |Wolf|> "The pointy-haired boss has no idea how this software has to work, and can't tell one programming language from another, and yet he knows what language you should write it in. Exactly. He thinks you should write it in Java."
22:49:35 < |Wolf|> gh
22:49:37 < Stemby> http://forum.debianizzati.org/viewtopic.php?f=60&t=43002
22:49:50 < amosse> per fare girare un script python su url, in che dir va copiato /usr/www.....
22:50:36 < Stemby> amosse: non ho capito
22:50:52 < Stemby> comunque stavamo disquisendo sui vari linguaggi
22:51:20 < amosse> scusa continua pure
22:51:25 < Stemby> abbiamo visto alto livello / basso livello
22:51:41 < Stemby> ora vediamo compilato / interpretato
22:52:15 < Stemby> un linguaggio compilato è un linguaggio che viene trasformato in linguaggio macchina da un programma chiamato compilatore
22:52:35 < Stemby> scrivo il programma nel mio linguaggio (C, ad esempio)
22:52:46 < Stemby> usando un editor di testo
22:52:47 < Stemby> salvo
22:52:55 < Stemby> copilo il programma
22:53:03 < Stemby> ottengo un file binario
22:53:08 < |Wolf|> io mi sa che stacco
22:53:13 < Stemby> (i famosi 0 e 1)
22:53:20 < Stemby> ciao |Wolf|
22:53:27 < spirit> Ciao
22:53:40 < |Wolf|> buon proseguimento
22:53:43 < Stemby> il file binario è il programma da eseguire
22:54:18 < Stemby> un linguaggio interpretato invece si appoggia ad un interprete
22:54:23 < Stemby> cos'è un interprete?
22:54:50 < Stemby> è un programma che trasforma "in diretta" il sorgente in linguaggio macchina
22:55:23 < Stemby> vantaggi: si può modificare il programma e provarlo man mano
22:55:33 < Stemby> senza dover aspettare la fine della copilazione
22:55:52 < Stemby> svantaggi: il programma è meno performante
22:56:21 < Stemby> Java e Python sono una via di mezzo
22:56:29 < Stemby> non sono né compilati né interpretati
22:56:42 < Stemby> Java è più vicino ad un linguaggio compilato
22:56:57 < Stemby> Python è più vicino ad un linguaggio interpretato
22:57:14 < Stemby> entrambi in realtà sono compilati in bytecode
22:57:36 < Stemby> ovvero: il codice sorgente viene trasformato in bytecode
22:57:52 < Stemby> il bytecode è una sorta di codice macchina
22:58:01 < Stemby> ma non per il processore
22:58:07 < Stemby> ma per una macchina virtuale
22:58:26 < Stemby> la macchina virtuale è da installare sul computer
22:58:50 < Stemby> nel caso del python è... python stesso
22:59:06 < Stemby> nel caso di Java, ci sono varie macchine disponibili
22:59:25 < Stemby> (GNU, quella ufficiale della Sun, ecc)
22:59:51 < Stemby> perché dicevo che python è più simile ad un linguaggio interpretato?
23:00:06 < Stemby> perché non avremo mai a che fare con un compilatore
23:00:26 < Stemby> il bytecode viene ottenuto automaticamente
23:00:33 < Stemby> senza che ce ne accorgiamo
23:00:47 < spirit> ok
23:00:53 < Stemby> se avete provato import, vi sarete accorti che viene generato un file .pyc
23:00:59 < Stemby> l'avete notato?
23:01:08 < spirit> no
23:01:36 < Stemby> aptite la shell
23:01:50 < amosse> ci siete?
23:01:54 < Stemby> importate un modulo che avete nella directory corrente
23:02:01 < Stemby> amosse: ?
23:02:19 < Stemby> poi uscite dalla shell
23:02:32 < Stemby> controllate in quella directory
23:02:42 < Stemby> vedrete che c'è ora un file .pyc
23:02:46 < Stemby> oltre al .py
23:02:54 < Stemby> fatto?
23:03:33 < Stemby> ci siete?
23:03:37 < Stemby> amosse?
23:03:41 < Stemby> JumX?
23:03:44 < Stemby> spirit?
23:03:52 < spirit> import sys ma non c'è..
23:04:03 < Stemby> spirit: sys non è nella direcroty corrente
23:04:11 < Stemby> importa un tuo modulo
23:04:17 < Stemby> tipo quello di stasera
23:04:24 < Stemby> import amosse
23:04:49 < Stemby> spirit: dove hai salvato amosse.py?
23:04:57 -!- amosse [~Mibbit@80.116.Azzurra=3EDE9B15] has quit [Quit: http://www.mibbit.com ajax IRC Client]
23:05:00 < spirit> in una usb
23:05:11 < Stemby> ok, mettiti in quella directory
23:05:12 < spirit> perchè ho formattato ...
23:05:26 < Stemby> cd /media/quelchelè
23:05:36 < Stemby> python3
23:05:39 < spirit> aspetta che provo
23:05:40 < Stemby> import amosse
23:05:49 < Stemby> Ctrl+D
23:05:52 < Stemby> ls
23:06:14 < Stemby> e vedrai che ora, oltre ad amosse.py, ci sarà anche amosse.pyc
23:07:09 < Stemby> fatto?
23:07:47 < spirit> no
23:07:59 < Stemby> perché?
23:08:29 < spirit> aspetta..
23:08:35 < Stemby> JumX: tu ci sei?
23:09:28 -!- amos [~Mibbit@Azzurra=5FF7AC3A.116-80-r.retail.telecomitalia.it] has joined #debianizzati-corsi
23:09:38 < Stemby> ciao amos
23:09:50 < Stemby> sei un alter ego di amosse?
23:09:51 < amos> non funzionava più azzurra
23:10:05 < amos> sono amosse
23:10:16 < Stemby> ok
23:10:30 < Stemby> ce l'hai fatta ad importare un tuo modilo?
23:10:34 < Stemby> *modulo
23:10:55 < amos> quale modulo?
23:11:10 < Stemby> quello che vuoi
23:11:10 < spirit> ho il file .pyc
23:11:16 < Stemby> ottimo spirit
23:11:23 < Stemby> JumX l'abbiamo perso
23:11:28 < Stemby> vediamo di recuperare amos
23:11:52 < amos> scusate ma credo ci siano problemi con azzurra
23:11:53 < Stemby> amos: ad esempio, importa quello di stasera
23:12:09 < Stemby> amos: mi leggi?
23:12:20 < amos> si
23:12:23 < Stemby> ok
23:12:28 < amos> su terminale?
23:12:31 < Stemby> sì
23:12:35 < Stemby> import amosse
23:12:42 < Stemby> nella shell interattiva
23:12:46 < amos> ok
23:13:19 < Stemby> ls
23:13:30 < Stemby> vedrai ce c'è un file amosse.pyc
23:13:38 -!- f0rbid [~nnscript@Azzurra-7851F1D7.21-87-r.retail.telecomitalia.it] has joined #debianizzati-corsi
23:13:46 < f0rbid> sera
23:13:47 < Stemby> quello è il famoso bytecode
23:13:51 < f0rbid> vi leggo volentieri ;)
23:13:51 < Stemby> ciao f0rbid
23:14:03 < amos> ciao
23:14:03 < amos> ok
23:14:29 < Stemby> quando noi eseguiamo un modulo, il bytecode viene generato in diretta
23:15:01 < Stemby> però quando il modulo viene importato, il bytecode viene salvato in un file
23:15:23 < Stemby> in questo modo, se il modulo non viene modificato, il bytecode può essere riutilizzato
23:15:40 < spirit> ok
23:15:46 < Stemby> il bytecode è più veloce del sorgente, ovviamente
23:16:00 < amos> ok
23:16:01 < Stemby> e può essere letto direttamente dalla macchina virtuale
23:16:07 < Stemby> su qualsiasi sistema
23:16:13 < Stemby> e su qualsiasi architettura
23:16:44 < Stemby> inoltre (è una cosa che non si dovrebbe dire...), ha delle caratteristiche simili al codice macchina
23:16:58 < Stemby> tra cui la difficoltà nel leggerlo e modificarlo
23:17:20 < amos> quindi il bytecode come é definito?
23:17:22 < Stemby> (quindi può essere sfruttato per distribuire un'applicazione closed scritta in python)
23:17:31 < Stemby> amos: in che senso?
23:17:48 < amos> import amosse (importo il modulo amosse)
23:17:50 < amos> giousto?
23:17:55 < Stemby> sì
23:18:17 < Stemby> quando importi un modulo, per prima cosa viene eseguito
23:18:20 < amos> come si arriva aol bytecode?
23:18:33 < Stemby> lo fa automaticamente l'interprete python
23:18:44 < Stemby> in realtà lo fa sempre
23:18:52 < Stemby> solo che in genere non ci si accorge
23:18:56 < Stemby> anche quando scrivi
23:19:00 < Stemby> >>> 1 + 2
23:19:15 < Stemby> lui trasforma quell'espressione in bytecode
23:19:24 < Stemby> e la legge con la macchina virtuale
23:19:37 < Stemby> la quale poi ti restituisce un risultato
23:19:50 < spirit> ok
23:20:15 < amos> scusate, forse passo dipalo in frasca
23:20:31 < amos> modulo = insieme di funzioni
23:20:33 < Stemby> dal punto di vista del programmatore è comunque sostanzialmente come programmare in un linguaggio interpretato
23:20:37 < Stemby> amos: no
23:20:47 < Stemby> modulo = tutto il file .py
23:20:54 < Stemby> con tutto il suo contenuto
23:21:01 < amos> ok 
23:21:13 < amos> e classe?
23:21:15 < Stemby> funzioni, classi, metodi, chiamate a funzione, ecc.
23:21:36 < Stemby> classe è una roba che vedremo con la programmazione orientata agli oggetti
23:21:49 < amos> e libreria?
23:22:00 < Stemby> libreria è una raccolta di funzioni
23:22:06 < amos> ok
23:22:36 < Stemby> bon
23:22:55 < Stemby> ci sono ancora dubbi?
23:23:26 < Stemby> allora, ora vediamo come sostituire amosse.py con una riga di python
23:23:41 < Stemby> (ottenendo anche prestazioni di gran lunga migliori)
23:24:14 < Stemby> http://docs.python.org/release/3.1.3/library/stdtypes.html#string-methods
23:24:19 < Stemby> stavamo vedendo questi
23:24:31 < Stemby> metodo str.split()
23:24:49 < Stemby> http://docs.python.org/release/3.1.3/library/stdtypes.html#str.split
23:25:00 < Stemby> è ciò che ha cercato di fare amosse
23:25:31 < amos> incredibile esiste la funzione...
23:25:34 < amos> !
23:25:47 < Stemby> >>> ' a che ora  sei   rientrato ieri?    '.split()
23:25:47 < Stemby> ['a', 'che', 'ora', 'sei', 'rientrato', 'ieri?']
23:25:52 < Stemby> amos: è un metodo
23:26:00 < Stemby> non una funzione
23:26:08 < Stemby> (il concetto è simile)
23:26:35 < amos> scusa un metodo non é una funzione applicata ad un oggetto?
23:26:40 < Stemby> sì
23:26:45 < Stemby> questo è il caso
23:26:51 < Stemby> l'oggetto è la stringa
23:26:53 < amos> ok
23:27:43 < Stemby> ecco ciò che si chiama linguaggio ad altissimisssimisssssssimo livello
23:27:57 < Stemby> _tutto_ è già pronto
23:28:14 < Stemby> la difficoltà sta solo nel trovare il pezzo che ci serve
23:28:35 < Stemby> al contrario un linguaggio di basso livello ha pochissimi costrutti
23:28:55 < Stemby> il C, se lo si studia, lo si conosce _tutto_ a mendadito
23:29:03 < Stemby> son 4 cose in croce
23:29:17 < Stemby> solo che poi si sputa l'anima per fare qualunque cosa
23:29:27 < Stemby> (non ci sono nemmeno le stringhe...)
23:29:58 < amos> perché non da niente help(split) , al contrario di help(print)?
23:30:11 < Stemby> perché split non è una funzione
23:30:36 < amos> non c'è l'help per i metodi
23:30:40 < Stemby> split() non esiste
23:30:45 < Stemby> non lo so
23:30:47 < Stemby> non credo
23:31:04 < Stemby> |Wolf|: sai aiutare amos?
23:31:29 < spirit> help(str.split).
23:32:09 < Stemby> bravo spirit
23:32:18 < spirit> garzie
23:32:20 < amos> ok spirit 
23:32:23 < spirit> *grazie
23:32:51 < JumX> Scusate ma come esco dall'help?
23:32:58 < Stemby> q
23:33:00 < spirit> q
23:33:18 < Stemby> JumX: mi sa che non frequenti molto le manpage...
23:33:35 < Stemby> come esco da man man?
23:33:37 < Stemby> :p
23:33:54 < amos> posso fare una domanda?
23:34:00 < Stemby> amos: certo
23:34:28 < JumX> ok si hai ragione mi scuso ma stasera ho molte distrazioni .:D
23:34:44 < amos> in php uno script che voglio far girare in localhost lo salvo in /var/www, ed in python?
23:35:05 < Stemby> dove vuoi
23:35:30 < Stemby> se lo rendi eseguibile
23:35:40 < Stemby> chmod u+x modulo.py
23:36:03 < Stemby> e lo cacci in una dir che fa parte di $PATH
23:36:09 < Stemby> (o lo linki)
23:36:16 < amos> quindi per far girare amos.py in localhost lo posso salvare in home
23:36:18 < Stemby> è eseguibile ovunque
23:36:37 < Stemby> amos: un attimo
23:36:43 < amos> e poi http://localhost/amos.py
23:36:46 < JumX> Scusa stemby puoi spiegare meglio come rendere un file .py eseguibile?
23:36:49 < amos> ?
23:36:55 < Stemby> amos: no
23:37:06 < Stemby> quello che vuoi fare è una webapp
23:37:10 < Stemby> un attimo
23:37:18 < amos> esatto
23:37:26 < Stemby> JumX: in unix è eseguibile... ciò che è eseguibile
23:37:47 < Stemby> come si fa a rendere una cosa eseguibile?
23:37:55 < Stemby> si danno i permessi di esecuzione
23:38:00 < Stemby> man chmod
23:38:10 < amos> chmod 755?
23:38:23 < JumX> si ma il chmod lo digito all'interno dell'interprete o basta solo dal terminale
23:38:41 < Stemby> JumX: chmod fa parte del sistema operativo
23:38:47 < Stemby> non c'entra niente con pyton
23:38:52 < Stemby> *python
23:38:56 < JumX> faccio una prova
23:39:09 < amos> serve per cambiare i permessi al file .py
23:39:16 < Stemby> esatto
23:39:23 < Stemby> ls -l *.py
23:39:34 < Stemby> e controlli i permessi di tutti i tuoi moduli
23:39:36 < Stemby> man ls
23:39:40 < Stemby> per i dettagli
23:40:07 < Stemby> se non c'è la x, non è eseguibile
23:40:33 < Stemby> -rwxr--r-- 1 carlo carlo 1070  9 mar 18.56 amosse.py
23:40:41 < Stemby> questo è eseguibile dall'utente
23:40:58 < Stemby> (x nella prima tripletta)
23:41:14 < amos> root
23:41:20 < Stemby> amos: no
23:41:22 < Stemby> carlo
23:41:29 < Stemby> (il proprietario è carlo)
23:41:50 < amos> scusa é vero
23:41:55 < Stemby> (poi root può eseguirlo, ovviamente)
23:41:57 < amos> una cavolata
23:42:05 < amos> ok
23:42:29 < JumX> Scusate ma non ho capito :( 
23:42:34 < Stemby> mmmm
23:42:34 < JumX> @lmde ~/Scrivania/CorsoPython $ chmod u+x trovapepita.py
23:42:49 < Stemby> ls -l trovapepita.py
23:43:31 < Stemby> JumX: ↑
23:43:48 < JumX> ls -|  o chmod ?
23:43:59 < Stemby> ls menoelle
23:44:05 < Stemby> è una elle
23:44:07 < Stemby> non |
23:44:09 < Stemby> ma l
23:44:23 < JumX> provo
23:44:38 < Stemby> JumX: comunque tutto ciò c'entra poco/niente con python
23:44:46 < Stemby> sono le basi di unix
23:45:31 < JumX> ls-ltrovapepita.py: command not found
23:45:39 < Stemby> spazio
23:45:51 < Stemby> ls -l trovapepita.py
23:45:54 < JumX> ho provato anche con spazio.
23:46:04 < Stemby> fai un copiaincolla
23:46:10 < Stemby> hai trascritto male...
23:46:10 < JumX> ok
23:47:12 < amos> quindi si può usare python per delle web application?
23:47:26 < JumX> -rwx------ 1 Jumx JumX 4642 27 feb 22.39 trovapepita.py
23:47:28 < Stemby> amos: sì
23:47:33 < Stemby> JumX: esatto
23:47:37 < Stemby> è eseguibile
23:47:43 < Stemby> dall'utente Jumx
23:47:52 < Stemby> (x nella prima tripletta)
23:47:56 < JumX> e adesso come lo eseguo?
23:48:04 < Stemby> ./trovapepita.py
23:48:45 < Stemby> oppure se lo cacci in una directory compresa nella variabile PATH, basta
23:48:50 < Stemby> trovapepita.py
23:48:59 < Stemby> (meglio linkare, secondo me)
23:49:03 < JumX> ok ci sono riuscito ma il dubbio mi è rimasto chmod lo devo sempre fare ?
23:49:15 < Stemby> per dare i permessi di esecuzione
23:49:23 < Stemby> altrimenti il file non è eseguibile
23:49:38 < Stemby> però puoi eseguirlo lo stesso dandolo direttamente in pasto a python
23:49:45 < Stemby> python3 trovapepita.py
23:49:45 < JumX> ma ls -l ache serve allora
23:50:00 < Stemby> ls -l serve a verificare i permessi
23:50:48 < spirit> già in unix è importante.
23:51:21 < Stemby> bon, sono cottino
23:51:30 < Stemby> divertitevi con i metodi stringa
23:51:41 < Stemby> la prossima volta vediamo un po' bene le liste
23:51:48 < Stemby> leggete il capitolo 6 del libro
23:51:56 < Stemby> (è lunghetto, ma semplice)
23:51:58 < JumX> Grazie Stemby per la pazienza 
23:52:04 < Stemby> il 5 non era un problema, no?
23:52:10 < Stemby> era corto e banale
23:52:50 < spirit> io li sto studiando in questi giorni
23:52:59 < Stemby> ok
23:53:01 < Stemby> notte
23:53:12 < spirit> Grazie 'notte.
23:53:21 -!- spirit [~spirit@Azzurra-C3C291C.104-82-b.business.telecomitalia.it] has quit [Quit: leaving]
23:53:28 < amos> Grazie 
23:53:30 < JumX> Domenica come mai è saltato l'incontro ? 
23:53:32 < amos> Ciao a tutti
23:53:38 < Stemby> JumX: io ero malato
23:53:40 < JumX> Ciao amos
23:53:45 < Stemby> nessuno mi ha sostituito...
23:53:52 < JumX> eh no 
23:54:10 < amos> se avete bisogno di un mano, anche per cose semplici....
23:54:26 < JumX> compiti per il prossimo incontro ?
23:54:33 < Stemby> capitolo 6
23:54:35 < amos> che so
23:54:44 < Stemby> e fate pratica con i metodi stringa
23:55:00 < Stemby> o inventatevi problemi da risolvere
23:55:07 < Stemby> e postate le vostre soluzioni
23:55:19 < amos> ok
23:56:12 < Stemby> amos: comuque, riguardo alle webapp
23:56:24 < Stemby> io non ho esperienza, ma la cosa mi interessa
23:56:35 < amos> esatto?
23:56:40 < Stemby> per fare una webapp serve un server web
23:56:50 < amos> io avevo iniziato con php
23:56:51 < Stemby> per php di solito si usa apache
23:56:56 < amos> apache
23:57:00 < amos> esatto
23:57:02 < Stemby> php è un linguaggio
23:57:08 < Stemby> il webserver è apache
23:57:09 < amos> ma anche con perl
23:57:12 < Stemby> anche
23:57:21 < amos> esatto
23:57:33 < Stemby> da quel che ho letto ora apache gestisce benissimo anche python
23:57:40 < Stemby> prova a googlare
23:57:49 < Stemby> un tempo si usava CGI
23:57:56 < Stemby> ma è poco performante
23:58:06 < amos> certo, poi se trovo ti dico...
23:58:06 < Stemby> ma è comunque una strata usabile
23:58:06 < JumX> Vabbè raga buonanotte a domenica
23:58:18 < amos> notte
23:58:24 < Stemby> comunque io proverei con apache
23:58:24 < JumX> note
23:58:30 -!- JumX [~Mibbit@Azzurra=3515DFCC.246-95-r.retail.telecomitalia.it] has left #debianizzati-corsi []
23:58:33 < Stemby> configurato per macinare python
23:58:35 < amos> é il futuro
23:58:50 < amos> cerco qualcosa
23:59:01 < Stemby> in alternativa si può creare un webserver direttamente con python
23:59:05 < Stemby> io l'avevo fatto
23:59:12 < Stemby> son 4 righe in croce di codice
23:59:24 < Stemby> per una cosa al volo è comodo
23:59:28 < amos> ah pensavo fosse un casino
23:59:50 < amos> io volevo fare un piccolo gestionale
23:59:53 < Stemby> e lì le prestazioni sono eccellenti
23:59:55 < amos> avevo già iniziato in php ma poi mi sono arenato
00:00:13 < Stemby> perché il web server è tutt'uno con l'applicazione
00:00:35 < amos> interessante
00:00:45 < Stemby> queste sono le 2 strade
00:00:54 < amos> tu sei un programmatore?
00:00:57 < Stemby> no
00:01:00 < Stemby> dilettante
00:01:18 < amos> bravo, ne sai di cose
00:01:49 < amos> anche io chiaramente
00:03:10 < amos> ti lascio perché immagino che sei stanco, grazie della lezione
00:05:05 < amos> Buona notte
00:05:13 < Stemby> notte
Strumenti personali
Varianti
Azioni
Navigazione
Risorse
Strumenti