[Python] 2 neo pythonisti che affrontano un orda barbara di javisti - con quasi-rissa finale

Enrico Franchi enrico.franchi a gmail.com
Ven 1 Apr 2011 10:27:58 CEST


Carlos Catucci wrote:
> Io preferisco l'agilita' di Python. Fare refacttoring in ython e' per
> me 100 volte piu' semplice che in Java. Cosi' come farl;o in Java (o
> C#) e 100 volte piu' facile che farlo in C++.

Non saprei, sai. E' una cosa difficilmente paragonabile, IMHO.

In Java hai certe strutturazioni del codice che in Python non hai 
(bisogno). Di conseguenza certi tipi di refactoring in Python non li 
devi, in genere, fare. Pero' e' anche vero che in Java spesso basta un 
comando dell'IDE e le cose le fa bene (per lo meno cosi' fa IntelliJ).

Viceversa, in Python mi sono trovato spesso di fronte ad un pattern del 
tipo:

1. refactor
2. test
3. if test fallisce, vai a vedere cosa ti sei scordato e goto 2.
4. vai a casa tardi

Quindi il *singolo* refactoring in Python e' piu' semplice. Ma e' anche 
molto piu' manuale (manuale -> errore di distrazione).

Voglio dire, fino a pochissimo tempo fa, una cosa *cretina* come il 
rename delle variabili mi dava una probabilita' non nulla di avere un 
rosso per coglioneria mia. Adeddo PyCharm (e a ruota Wing) hanno 
sorpassato il problema.

Ah, no, le regex non aiutano, in quanto esprimono un linguaggio 
regolare, che e' strettamente meno potente di uno libero dal contesto, 
mentre per capire se una certo nome e' effettivamente quello rinominato 
ci vuole un linguaggio contestuale.

Poi abbiamo qui un riko che non vede l'ora di avere un po' di tempo di 
giocare con Pycharm piu' a lungo, eh. Trovo l'esempio particolarmente 
significativo: ci sono dietro gli stessi di IntelliJ, che ha capacita' 
di refactoring automatico avanzatissime.

Mi aspetto che in un anno e mezzo/due Pycharm fara' in proposito tutto 
quello che e' strutturalmente possibile fare. E cosi' ci


-- 
.
..: -enrico-



Maggiori informazioni sulla lista Python