[Soci SLIP] Python

Lucio Crusca lucio a sulweb.org
Gio 6 Apr 2006 15:37:58 CEST


Ciao gente,

visto che c'è un po' troppo silenzio sulla lista, mi metto a parlare tanto per 
passare il tempo, anche se forse sono un po' OT.

Sto dando uno sguardo a questo linguaggio osannato da tutti che è noto col 
nome di Python. La mia impressione, per quanto nessuno me l'abbia chiesta, è 
che sia una schifezza allucinante. A giudicare dalla libreria a disposizione 
sembrerebbe qualcosa di orientato a progetti di una certa portata, ma a 
giudicare dalla sintassi e semantica devo dire che non ho mai visto nulla di 
più permissivo: in Python puoi scrivere qualsiasi tipo di vaccata, salvo poi 
sperare che questo non generi errori a runtime (e tipicamente la speranza è 
vana). Tipizzazione statica? Chissenefrega. Leggibilità del codice? Perfetta, 
basta conoscere delle regole non proprio ovvie. Esempio:

a, b = b, a + b

A prima vista direi che significa:
a = b
b = a + b

E qui casca il programmatore, perché in realtà la riga significa:
c = a
a = b
b = b + c

Chiaro no? Ma poi, a cosa serve questo tipo di sintassi? Quando ci capiterà 
mai di usarla? Credo che sia stata inventata solo per poter scrivere la serie 
di Fibonacci con due righe di codice in meno di qualsiasi altro linguaggio. 
Ma non era meglio una funzione tipo fibonacci(a, b)? Mi sembra più leggibile.

Parliamo delle liste.

3*a[:3]

Sta roba significa:

Prendi la lista a, estrai i primi 3 (o 4?) elementi, e produci una nuova lista 
concatenando per 3 volte gli elementi di a che hai estratto.

Se invece scrivo
3*a[3]

significa: prendi il quarto elemento della lista a e moltiplicalo per 3. Nel 
caso in cui, per disgrazia visto che la tipizzazione statica non c'è, il 
quarto elemento di a fosse a sua volta una lista invece che un numero, la 
stessa espressione invece di fare una normale moltiplicazione mi genera di 
nuovo una lista come nel caso precedente. Il tutto per avere un'operazione di 
dubbia utilità: a chi serve concatenare N volte la stessa lista?

Fino a qui le mie impressioni raccolte con i primi 3 capitoli della guida. 
Speriamo che dopo migliorino!




Maggiori informazioni sulla lista Soci