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

2011-04-01 Per discussione Marco Beri
2011/3/31 Giorgio Zoppi giorgio.zo...@gmail.com

Trovo inutile la identazione obbligata. Di solito in un gruppo ci sono
 dei coding standard.


Ironia della sorte è la cosa che a me ha fatto *subito* capire che Python
era fatto per me ;-)

De gustibus non disputandum est :-)

Ciao.
Marco.

-- 
http://thinkcode.tv/gratis - Capire in 15 minuti cosa può fare Python
http://stacktrace.it - Aperiodico di resistenza informatica
http://python.thinkcode.tv - Videocorso di Python
http://beri.it - Blog di una testina di vitello
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Cesco
Posso dire nel mio piccolo la mia su Python vs Java ? Non ho grandi esperienze 
in nessuno dei due linguaggi, però vengo dal mondo ovattato di Visual Studio e 
come programmatore sono stato viziato e cresciuto nella bambagia.

Dopo aver provato per poche settimane entrambi i linguaggi a pelle mi sta più 
simpatico Python di Java, però a volte ha degli atteggiamenti che mi stanno un 
po sulle balle.
Sarà vero quello che dite voi, che Python insegna a responsabilizzarsi, sarà 
vero quello che scrive Marco Beri che Python è un linguaggio fortemente 
tipizzato, però... vi spiego il mio malumore con un esempio

Ci sono due programmatori Python, Tizio e Caio.
Un giorno Tizio, che è un programmatore sciatto che non inserisce nemmeno una 
riga di docstrings, scrive:


def gigetto(a, b):
return a + b


Il giorno dopo arriva Caio, legge il codice e si domanda cosa fa gigetto. Somma 
due numeri? Concatena due stringhe? Si perchè quando Caio prova a passare 
diversi parametri ottiene risultati diversi

print(somma(4, 3)) # Restituisce il numero 7
print(somma(Ajeje, Brazorv)) # Restituisce AjejeBrazorv


Vero che Tizio avrebbe potuto scrivere due righe di codice in più per 
verificare i tipi dei parametri passati a gigetto, però è altrettanto vero che 
in java un problema non si sarebbe posto, perchè tizio avrebbe probabilmente 
scritto:

public int gigetto(int a, int b) {
return a + b;
}

e se Caio ci prova soltanto a scrivere:

System.out.println(gigetto(Ajeje, Brazorv))

Java s'incavola chiedendogli cosa diavolo vuole fare:

method gigetto in class X cannot be applied to given types
required: int, int
found: java.lang.String, java.lang.String


Io difatti per risolvere il problema alla radice in python scrivo:

def gigetto(a, b):
assert isinstance(a, int)
assert isinstance(b, int)
return a + b

e questo mi aiuta ad ottenere un comportamento simile a quello di Java.
Sono io che sbaglio qualcosa o è normale e ci devo fare l'abitudine ?
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Marco Beri
2011/4/1 Cesco d...@cesco.it

sarà vero quello che scrive Marco Beri che Python è un linguaggio fortemente
 tipizzato


Ehi! Io non l'ho mai detto! Anche perché non so cosa vuol dire... :-D

Ciao.
Marco.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Enrico Franchi

Cesco wrote:


Non ho grandi esperienze in nessuno dei due linguaggi,


Certo che puoi dire la tua, ma forse, prendendo buono quello che *tu* 
scrivi, non sarebbe meglio porre la questione come una *domanda* a chi 
sa rispondere invece che come un problema.



Un giorno Tizio, che è un programmatore sciatto che non inserisce nemmeno una 
riga di docstrings, scrive:


def gigetto(a, b):
return a + b


E qui sbaglia. Avrebbe dovuto scrivere qualcosa tipo Applies the 
operator + to two objects. Poi potremmo chiederci se avrebbe dovuto 
scrivere quel metodo; potremmo chiederci se non andrebbe licenziato per 
la scelta dei nomi peggiorabile solo usando un generatore di stringhe 
ascii casuali.



Il giorno dopo arriva Caio, legge il codice e si domanda cosa fa gigetto. Somma 
due numeri?
Concatena due stringhe? Si perchè quando Caio prova a passare diversi 
parametri ottiene risultati diversi


print(somma(4, 3)) # Restituisce il numero 7
print(somma(Ajeje, Brazorv)) # Restituisce AjejeBrazorv


Toh, quella cosa che nei linguaggi a tipizzazione statica bisogna 
pezzare introducendo il polimorfismo statico o dinamico perche' 
altrimenti si fa veramente fatica a campare.




Vero che Tizio avrebbe potuto scrivere due righe di codice in più per 
verificare i tipi
dei parametri passati a gigetto, però è altrettanto vero che in java un 
problema

non si sarebbe posto, perchè tizio avrebbe probabilmente scritto:


public int gigetto(int a, int b) {
 return a + b;
}


E sarebbe stato ugualmente da licenziare... ;)

Comunque, tornando a noi, dissento. In un programma *normale* quel 
codice sarebbe diventato qualcosa tipo:


public Addible gigetto(Addible a, Addible b) {
return a.add(b);
}

e buona fortuna.


e se Caio ci prova soltanto a scrivere:

System.out.println(gigetto(Ajeje, Brazorv))

Java s'incavola chiedendogli cosa diavolo vuole fare:

method gigetto in class X cannot be applied to given types
required: int, int
found: java.lang.String, java.lang.String


E quindi ti saresti giocato ampiamente un programma valido. Hai insomma 
reso il tuo software meno versatile per alcuna ragione.




Io difatti per risolvere il problema alla radice in python scrivo:

def gigetto(a, b):
assert isinstance(a, int)
assert isinstance(b, int)
return a + b

e questo mi aiuta ad ottenere un comportamento simile a quello di Java.
Sono io che sbaglio qualcosa o è normale e ci devo fare l'abitudine ?


Sbagli completamente.  In particolare se non te la senti di scrivere 
codice duck typed, ti consiglio di cambiare linguaggio.


Fare cose del genere in Python va contro la filosofia stessa di Python. 
Ma in realta' va un po' contro il concetto di programmazione ad oggetti.


Uno dei fondamenti della programmazione ad oggetti ti dice di 
programmare per un'interfaccia, non per un'implementazione. Tu programmi 
per un'implementazione: il codice risultante e' poco astratto, ne limiti 
il riutilizzo.


Python porta il discorso al passo successivo: dove in Java usi 
un'interface per astrarti dall'implementazione, in Python definisci 
implicitamente l'interfaccia sulla base di quello che devi fare con gli 
oggetti. Di fatto questo tronca alla radice la potenziale proliferazione 
di interfacce che potresti avere in Java, e rende il codice molto piu' 
estensibile.



--
.
..: -enrico-

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Carlos Catucci
 Posso dire nel mio piccolo la mia su Python vs Java ? Non ho grandi 
 esperienze in nessuno dei due linguaggi, però vengo dal mondo ovattato di 
 Visual Studio e come programmatore sono stato viziato e cresciuto nella 
 bambagia.

Ah questi mollaccioni :)

VS e', lo ammetto, un bell'IDE. Se togliamo pero' la parte di design
grafico delle form direi che WingIDE (ad esempio) nulla abbia da
invidiare, anzi.

 Dopo aver provato per poche settimane entrambi i linguaggi a pelle mi sta più 
 simpatico Python di Java, però a volte ha degli atteggiamenti che mi stanno 
 un po sulle balle.

It' the Guido's way :)

 Ci sono due programmatori Python, Tizio e Caio.
 Un giorno Tizio, che è un programmatore sciatto che non inserisce nemmeno una 
 riga di docstrings, scrive:

 def gigetto(a, b):
        return a + b

 Il giorno dopo arriva Caio, legge il codice e si domanda cosa fa gigetto. 
 Somma due numeri? Concatena due stringhe? Si perchè quando Caio prova a 
 passare diversi parametri ottiene risultati diversi

 print(somma(4, 3)) # Restituisce il numero 7
 print(somma(Ajeje, Brazorv)) # Restituisce AjejeBrazorv

 Vero che Tizio avrebbe potuto scrivere due righe di codice in più per 
 verificare i tipi dei parametri passati a gigetto, però è altrettanto vero 
 che in java un problema non si sarebbe posto, perchè tizio avrebbe 
 probabilmente scritto:

 public int gigetto(int a, int b) {
        return a + b;
 }

In python il secondo programmatore, democraticamente, picchia il
primo. Il primo inizia a mettere la docstring. Problema risolto in
maniera semplice ed efficiente :)


 e se Caio ci prova soltanto a scrivere:
 System.out.println(gigetto(Ajeje, Brazorv))
 Java s'incavola chiedendogli cosa diavolo vuole fare:

Lessi un tempo (tanto tempo fa, visto che era un libro sul C++ Builder
di Borland) un esempio calzante.

Paragone tra Pascal e C. Nel primo sei costretto a fare le cose in
maniera pulita ed ordinata pena la non compilazione del codice. Non
puoi fare porcate o prendere scorciatoie pericolose. Il secondo ti
lascia libero di fare le peggio cose, e se hai un bug poi sono tutti
ci tuoi. Ma potendo scegliere scegli un linguaggio (C) dinamico e
agiloe oppure uno (pascal) bolso e rigido?

Come sempre la risposta e': dipende da chi sei, da come ti piace
lavorare, da cosa devi fare, etc.

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++. Poo de gustibus.

 Io difatti per risolvere il problema alla radice in python scrivo:

 def gigetto(a, b):
        assert isinstance(a, int)
        assert isinstance(b, int)
        return a + b

 e questo mi aiuta ad ottenere un comportamento simile a quello di Java.
 Sono io che sbaglio qualcosa o è normale e ci devo fare l'abitudine ?

Formallmente corretto, personalmente forse cercherei una strada
diversa. A naso gia' eseguire il controllo (soo uno ) sul valore da
tornare ad esempio, se proprio devo. C'e' da dire che probabilmente il
nome della function o method sarebbe parlante (tipo sommaInteri( a, b
): ) e non gigetto.

Carlos
-- 
Se resiste al -9 sinceramente non so come ammazzarlo.
(Andrea Baron)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Enrico Franchi

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-

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Simone Federici
1) 4 anni fa parlavo bene di maven, ho anche fatto dei talk a riguardo.
Bhè oggi non sono per niente contento di usare maven (non che ci sia una
valida alternativa in java) è lento, è complesso, ogni volta che devo
lanciare jetty (iol modo + rapido per fare un deploy) ho il tempo di leggere
la posta, andare a prendere un caffè e passare per il bagno. La mia
produttività è scesa di almeno il 50% e questo solo perche java non ha un
modo rapido per fare un deploy.

Inoltre il progetto su cui sto lavorando e che ho ripreso dopo 2 anni, ha
delle dipendenze a librerie (stabili) che sono andate perdute nel tempo
come lacrime nella pioggia, quindi ho dovuto riscrivere i pom.

poi se deploy su tomcat, devi mettere le javamail dentro il package, se vai
su jboss, devi togliere hibernate, se vai su weblogic, devi togliere log4j,
... posso andare avanti all'infinito...

2) Come qualcuno ha detto prima l'ecosistema è molto importante, in java
se scrivi una costante e la usi nel resto del progetto, se ricompili o cambi
la classe dove è definita la costante devi ricompilare anche tutti i moduli
che la usano. il che rende gli ide di sviluppo pesanti, pesanti, pesani
e pesanti stanno sempre a compilà

Devi scrivere una webapp, allora django è perfetto, e un runserver che parte
in un nanosecondo ti leva tutti i gap di attesa.

3) Java non è modulare sulle webapp, le JSP non le puoi mettere metà su un
jar meta su un altro... non se po' fa plugin sul web? dimenticali...
(pluggable application?)

Il punto di forza di java è l'integrazione non certo la sintassi, e il
codice gigietto è la prova della malattia che porta l'umanita a
sviluppare il PC mica sbaglia sbagliamo noi, quindi basta la
documentazione e non la compilazione forzatamente tipizzata a risolvere il
problema.

4) lo dico io il python tutto è un oggetto, in java no. Metaclassi,
decorators, generators, list comprensions, iterator, strutture dati
semplici, bounded methods,
ma che ne parliamo a fà non c'è storia non c'è gloria si vince a mani
basse.

Guardiamo la direzione. EJB Struts... JSF. Wicket..
dio ce ne scampi e liberi questo è quello che il mercato chiede...
questo è il sintomo di impoduttività

Un gruppo di persone costretto a utilizzare questi strumenti è penalizzato
nella produttività, altro che singolo e di gruppo...

Produttività == Finiamo prima == più margine == + soldi in tasca
e questo di certo non a scapito della qualità

scegliete il vostro strumento liberamente che io scelgo il mio
S




PS anche a me piace tanto l'obbligo dell'indentazione cosa che in java
sei costretto a fare con strumenti esterni tipo jalopy mettendo hook su
subversion per essere sicuro che tutti gli sviluppatori rispettino la stessa
code convention... e non sputtanare il repository condiviso con commit di
spostamento delle parentesi... o altre menate del genere
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] R: R: Re: Visualizzazione caratteri errata nella console di Windows con Python 3.1 e Windows 7

2011-04-01 Per discussione ceccheri...@libero.it
Stamani ho fatto altre prove e sono ancora piu' confuso,
ho provato a fare una prova con Python 2.7 inserendo come
prima linea

# -*- coding: cp850 -*-
print(8-Rømer (ºRø)\n)

e poi ho creato l'eseguibile e cosi funziona (usando cxfreeze 4.2.2)

allora ho riprovato la stessa cosa con Python 3.1 (usando prima cxfreeze 4.2.3 
e poi anche ho provato la 4.2.2)
ma non funziona

non so piu' come agire.

Messaggio originale
Da: ceccheri...@libero.it
Data: 31/03/2011 23.12
A: python@lists.python.it
Ogg: [Python] R: Re: Visualizzazione caratteri errata nella console di 
Windows con Python 3.1 e Windows 7

Grazie dell'aiuto.

Si Windows usa cp1252 e ho controllato la console di Windows usa cp850,
io come editor per realizzare lo scripts ho usato l'IDLE di Python.

Ho provato a fare altre prova da quel link che mi hai dato ma ancora
non riesco a risolvere il problema,

per esempio questa linea

print(8-Rømer (ºRø)\n)

dentro l'IDLE quando eseguo lo script viene visualizzata correttamente,
mentre quando il file (con cxfreeze) lo trasformo in eseguibile e lo eseguo
mi viene visualizzato il carattere   al posto del carattere ø e al 
posto
del carattere del grado un altro carattere diverso. 


Messaggio originale
Da: manlio.peri...@gmail.com
Data: 31/03/2011 22.25
A: python@lists.python.it
Ogg: Re: [Python] Visualizzazione caratteri errata nella console di 
Windows 
con Python 3.1 e Windows 7

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Il 31/03/2011 19:00, ceccheri...@libero.it ha scritto:
 Ciao a tutti
 vorrei un piccolo aiuto,
 usando Python 3.1 con Windows 7 ho creato un programma
 che usa delle istruzioni print per visualizzare dei caratteri particolari
 come i caratteri º (simbolo del grado) e ø.
 Una volta trasformato il mio programma in un file exe e lo eseguo
 (essendo un programma senza interfaccia grafica mi apre la console di 
 Windows) 
 al posto dei caratteri che ho indicato viene visualizzato dei caratteri 
 diversi, 
 dovrebbe essere un problema di codifica, 

Si, è un problema di codifica.
Perchè la console di Windows usa un encoding diverso da quello
utilizzato nel resto di Windows.
Per la versione Occidentale, la console usa il character set cp850
mentre il resto di Windows usa cp1252
http://www.postgresql.org/docs/9.0/interactive/app-psql.html#AEN75731


Strano che però tu abbia il problema con Python 3.1 che usa Unicode di
default.
Puoi postare un esempio minimale che riproduce il problema?


Comunque quello che succede è che probabilmente hai il tuo script creato
con un editor che usa l'encoding cp1252 che però viene poi eseguito in
un ambiente con encoding cp850.

Dato che in Python 3.1 le stringhe sono Unicode di default, il problema
non dovrebbe sussistere.
Hai dichiarato l'encoding del tuo file sorgente:
  http://www.python.org/dev/peps/pep-0263/
?

 [...]


Ciao  Manlio
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk2U4yAACgkQscQJ24LbaURcTACfTGxsEzlcCfvRNwe7kvyDeKu3
9CcAmgO0JRWob9i1iOBY6M19LhcX3xnB
=tOOS
-END PGP SIGNATURE-
___
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



___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Carlos Catucci
 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).

Hai mai usato WingIDE? Provalo e poi vedrai che vale la stessa cosa.

 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

Io mi trovo (sempre) con il pattern

1. Definisci le specifiche
2. scrivi il codice
3. lo mostri a chi ha fornito le specifiche
4. riefactoring perche' chi ha dato le specifiche si era scordato un
casino di ronba/ha cambiato idea
5. torna al punto 3

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

Se in Java usi Vim e' manuale anche li. E anche piu' complesso. Se usi
un tool e' facile uguale.

 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.

Ma refactorizzano (almeno WingIDE) anche cose piu' complesse.

 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.

Infatti le regex sono una delle cose che odio, indipendentemente dal
linguaggio in cui vengono usate

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

Appunto

Carlos
-- 
Se resiste al -9 sinceramente non so come ammazzarlo.
(Andrea Baron)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Daniele Varrazzo
On Thu, 31 Mar 2011 18:52:48 +0200, Alan Franzoni mail...@franzoni.eu
wrote:

 L'impressione (brutta) che ho, ultimamente, e che i pythonisti si
 sentano un po' troppo fighi, e spesso e volentieri senza conoscere
 $STUFF a fondo.

+1


 La spocchiosità non aiuta; credersi i più fighi serve solo a non far
 vedere i propri errori.

+1


Un'altra bella collana di perle di arroganza come ogni volta viene tirato
in campo qualcosa che non sia il Pitone Sacro Di Guido.


-- 
Daniele
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Indentazione molto significativa (era: Re: 2 neo pythonisti che affrontano un orda barbara di javisti - con quasi-rissa finale)

2011-04-01 Per discussione Nicola Larosa
 Giorgio Zoppi wrote:
 Trovo inutile la identazione obbligata. Di solito in un gruppo ci sono
 dei coding standard.

Marco Beri wrote:
 Ironia della sorte è la cosa che a me ha fatto *subito* capire che Python
 era fatto per me ;-)

 De gustibus non disputandum est :-)

Non si tratta di gusti.

L'indentazione significativa permette di sincronizzare il punto di vista
che del programma hanno il programmatore e la macchina.

E` ben spiegato qui:

http://aroberge.blogspot.com/2006/06/praise-for-python.html

E` un'intuizione tristemente mancante negli altri linguaggi di
programmazione.

Da buon fondamentalista oserei affermare che non solo l'apprezzamento, ma
la viscerale ammirazione per questa caratteristica del linguaggio è dote
essenziale per potersi fregiare del titolo di Pythonista. ;-P

-- 
Nicola Larosa - http://www.teknico.net/

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Visualizzazione caratteri errata nella console di Windows con Python 3.1 e Windows 7

2011-04-01 Per discussione Daniele Varrazzo
On Fri, 1 Apr 2011 10:35:33 +0200 (CEST), ceccheri...@libero.it
ceccheri...@libero.it wrote:
 Stamani ho fatto altre prove e sono ancora piu' confuso,
 ho provato a fare una prova con Python 2.7 inserendo come
 prima linea
 
 # -*- coding: cp850 -*-
 print(8-Rømer (ºRø)\n)
 
 e poi ho creato l'eseguibile e cosi funziona (usando cxfreeze 4.2.2)
 
 allora ho riprovato la stessa cosa con Python 3.1 (usando prima cxfreeze
 4.2.3 
 e poi anche ho provato la 4.2.2)
 ma non funziona

Tanto per capire con chi stai parlando, vuoi provare a stampare il valore
di sys.getsystemencoding() e sys.getfilesystemencoding() nei diversi
ambienti (freezato e non). Il secondo dovrebbe essere sempre utf8, di
solito è il primo a dare problemi.

In Python 2 se usi

 # -*- coding: cp850 -*-
 print(8-Rømer (ºRø)\n)

ma il tuo editor è settato con un'altra cosa, quello che leggi potrebbe
essere una bugia. Prova a stampare non solo questa frase, ma anche il suo
repr() per vedere se i byte che stai mandando in stdout sono quelli
giusti.

-- 
Daniele Varrazzo - Develer S.r.l. 
http://www.develer.com

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] R: R: Re: Visualizzazione caratteri errata nella console di Windows con Python 3.1 e Windows 7

2011-04-01 Per discussione Manlio Perillo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Il 01/04/2011 10:35, ceccheri...@libero.it ha scritto:
 Stamani ho fatto altre prove e sono ancora piu' confuso,
 ho provato a fare una prova con Python 2.7 inserendo come
 prima linea
 
 # -*- coding: cp850 -*-
 print(8-Rømer (ºRø)\n)
 
 e poi ho creato l'eseguibile e cosi funziona (usando cxfreeze 4.2.2)
 

Tieni conto, però, che la stringa 8-Rømer (ºRø)\n in Python 2.x è
una byte string.
Dovresti usare, invece:
  print(u8-Rømer (ºRø)\n)


 allora ho riprovato la stessa cosa con Python 3.1 (usando prima cxfreeze 
 4.2.3 
 e poi anche ho provato la 4.2.2)
 ma non funziona
 

Hai dichiarato l'encoding come cp850?
Dichiaralo invece secondo l'encoding che usa l'editor, o meglio ancora
abituati a usare *sempre* utf-8.

Quindi:

# -*- coding: cp850 -*-
print(8-Rømer (ºRø)\n)


Fammi sapere se così funziona.

 [...]



Ciao   Manlio
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk2VllIACgkQscQJ24LbaURekQCdG8lVCed6+Aa+GxF2h38BvLIO
qikAnjs04u6M2Ojag0JfLgkgHrVus4Ia
=Llr2
-END PGP SIGNATURE-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Marco Beri
2011/4/1 Daniele Varrazzo p...@develer.com

Un'altra bella collana di perle di arroganza come ogni volta viene tirato
 in campo qualcosa che non sia il Pitone Sacro Di Guido.


-1

-- 
http://thinkcode.tv/gratis - Capire in 15 minuti cosa può fare Python
http://stacktrace.it - Aperiodico di resistenza informatica
http://python.thinkcode.tv - Videocorso di Python
http://beri.it - Blog di una testina di vitello
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] 2 neo pythonisti che affrontano un orda barbara

2011-04-01 Per discussione Michele Gatti
Il giorno 31 marzo 2011 16:54, python-requ...@lists.python.it ha scritto:


 Message: 3
 Date: Thu, 31 Mar 2011 16:34:26 +0200
 From: Simone Federici s.feder...@gmail.com
 To: Discussioni generali sul linguaggio Python
python@lists.python.it
 Subject: [Python] 2 neo pythonisti che affrontano un orda barbara di
javisti - con quasi-rissa finale
 Message-ID:
AANLkTi=takcb1v0bqaut79nrrbl9pun2fxb+snow_...@mail.gmail.com
 Content-Type: text/plain; charset=iso-8859-1

 http://blip.tv/file/4953252

 la rissa è nata sull'argomento: perchè un programmatore python è più bravo
 di uno java

 chiaramente è una metafora
 http://blip.tv/file/4953252S
 -- parte successiva --
 Un allegato HTML è stato rimosso...
 URL: 
 http://lists.python.it/pipermail/python/attachments/20110331/e1945918/attachment-0001.html
 

 --

 Message: 4
 Date: Thu, 31 Mar 2011 16:44:52 +0200
 From: Carlos Catucci carlos.catu...@gmail.com
 To: Discussioni generali sul linguaggio Python
python@lists.python.it
 Subject: Re: [Python] 2 neo pythonisti che affrontano un orda barbara
di javisti - con quasi-rissa finale
 Message-ID:
AANLkTi=k4d963qa5j4ed+h_pazb0pcpgdd7k9vubq...@mail.gmail.com
 Content-Type: text/plain; charset=ISO-8859-1

  la rissa è nata sull'argomento: perchè un programmatore python è più
 bravo
  di uno java

 Perche' si.

  chiaramente è una metafora

 Chiamala come vuoi ma se uno sceglie di usare un linguaggio di
 programmazione elegante, raffinato, conciso, pulito, chiaro e
 mantenibile, e un'altro sceglie java, il secondo di cosa si lamenta se
 ha appena dimostrato di essere meno bravo a scegliere il linguaggio
 con cui scrivere codice ? :)

 Carlos
 --
 Se resiste al -9 sinceramente non so come ammazzarlo.
 (Andrea Baron)


 --

 Message: 5
 Date: Thu, 31 Mar 2011 16:49:32 +0200
 From: Simone Federici s.feder...@gmail.com
 To: Carlos Catucci carlos.catu...@gmail.com
 Cc: Discussioni generali sul linguaggio Python
python@lists.python.it
 Subject: Re: [Python] 2 neo pythonisti che affrontano un orda barbara
di javisti - con quasi-rissa finale
 Message-ID:
AANLkTi=CkL5Oa_vQ152A=veqf0dz6t_bnh4hltxj1...@mail.gmail.com
 Content-Type: text/plain; charset=iso-8859-1

 2011/3/31 Carlos Catucci carlos.catu...@gmail.com

  Chiamala come vuoi ma se uno sceglie di usare un linguaggio di
  programmazione elegante, raffinato, conciso, pulito, chiaro e
  mantenibile, e un'altro sceglie java, il secondo di cosa si lamenta se
  ha appena dimostrato di essere meno bravo a scegliere il linguaggio
  con cui scrivere codice ? :)
 

 Buona con me e con la lista :-P
 ma contro l'orda di javisti la tesi deve essere più convincente.
 io sono quello che è salito sul palco li alla fine del talk a sostenere la
 tua stessa tesi :-)

 però bisogna presentarla bene e mostrare i punti di forza,
 appena esce il video del talk su java sucks, python rocks a livello
 architetturale te lo giro e mi dici che ne pensi.
 S
 -- parte successiva --
 Un allegato HTML è stato rimosso...
 URL: 
 http://lists.python.it/pipermail/python/attachments/20110331/4c54f0d7/attachment-0001.html
 

 --

 Message: 6
 Date: Thu, 31 Mar 2011 16:53:31 +0200
 From: Carlos Catucci carlos.catu...@gmail.com
 To: Simone Federici s.feder...@gmail.com
 Cc: Discussioni generali sul linguaggio Python
python@lists.python.it
 Subject: Re: [Python] 2 neo pythonisti che affrontano un orda barbara
di javisti - con quasi-rissa finale
 Message-ID:
aanlktin1yc5t1lcuffagdh6kbo8q_kku+sg-phm5x...@mail.gmail.com
 Content-Type: text/plain; charset=ISO-8859-1

  Buona con me e con la lista :-P

 Era chiaramente un joke. Io sono dell'idea che il miglior linguaggio
 (editor/ide, ambiente/os/quant'altro) sia quello con cui ti trovi
 meglio.

  io sono quello che è salito sul palco li alla fine del talk a sostenere
 la
  tua stessa tesi :-)

 Sono al lavoro ed il porxy mi blocca l'accesso , ma appena arrivo a
 casa ci guardo

  però bisogna presentarla bene e mostrare i punti di forza,
  appena esce il video del talk su java sucks, python rocks a livello
  architetturale te lo giro e mi dici che ne pensi.

 Mucjhas gracias, sempre interessante

 Carlos
 --
 Se resiste al -9 sinceramente non so come ammazzarlo.
 (Andrea Baron)


 --

 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python


 Fine di Digest di Python, Volume 61, Numero 23
 **


Questa è una discussione di fuffa

-- 

Michele Gatti

MG Soluzioni Informatiche
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Carlos Catucci
 Ma di quale arroganza parliamo?
 è più arrogante chi dica la sua con forza o chi non la dice affatto?

Ribadisco, affermare che a me sembri migliore, motivandolo, un
linguaggio rispetto ad un'altro non mi appare arroganza.

Guardare gli altri con sufficienza manco fossimo bimbi che giocano con
il Logo dall'alto delle loro roboanti sigle Enterprise qualcosa, mi
sembrano quelli davvero arroganti.

Se la storia insegna, prima o poi si dovranno convertire al Pitone
Sacro Di Guido. Perche' con Java nelle manine sante di BigO e del suo
famelico barracud...ehm, capo, il futuro non e' certo gravido di buoni
auspici.

Carlos
-- 
Se resiste al -9 sinceramente non so come ammazzarlo.
(Andrea Baron)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] 2 neo pythonisti che affrontano un orda barbara

2011-04-01 Per discussione Carlos Catucci
2011/4/1 Michele Gatti mgsoluzi...@gmail.com:
 Il giorno 31 marzo 2011 16:54, python-requ...@lists.python.it ha scritto:

 Message: 3

...


 Questa è una discussione di fuffa

Il tuo e' un quoting del cavolo. E quindi?  :P

Carlos
-- 
Se resiste al -9 sinceramente non so come ammazzarlo.
(Andrea Baron)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] 2 neo pythonisti che affrontano un orda barbara

2011-04-01 Per discussione Nicola Larosa
 Michele Gatti ha scritto:
 Questa è una discussione di fuffa

Carlos Catucci wrote:
 Il tuo e' un quoting del cavolo. E quindi?  :P

E ora tutti a votare:

http://www.linuxjournal.com/content/whats-your-favorite-programming-language

No Daniele, Erlang non è previsto, na na na na na. ;-)

-- 
Nicola Larosa - http://www.teknico.net/

La sparizione dei fondamentalismi di cui Benedetto XVI e Ahmadinejad
sono i rappresentanti è una condizione necessaria per l’instaurazione
della giustizia e il raggiungimento della stabilità. Non è certo suffi-
ciente, ma fino a che ci sarà gente come loro e i loro seguaci, non
andremo molto lontano sulla via che potrebbe condurre alla giustizia
e alla pace. - Piergiorgio Odifreddi, novembre 2010

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Indentazione molto significativa (era: Re: 2 neo pythonisti che affrontano un orda barbara di javisti - con quasi-rissa finale)

2011-04-01 Per discussione Riccardo Vianello
2011/4/1 Nicola Larosa n...@teknico.net:
 L'indentazione significativa permette di sincronizzare il punto di vista
 che del programma hanno il programmatore e la macchina.

 E` ben spiegato qui:

 http://aroberge.blogspot.com/2006/06/praise-for-python.html

 E` un'intuizione tristemente mancante negli altri linguaggi di
 programmazione.

avevo scoperto qualche tempo fa che non rappresenta neppure una novità
introdotta con python dato che risale almeno agli anni '60. certamente
non si tratta di una caratteristica dominante nei linguaggi di più
vasta adozione (http://en.wikipedia.org/wiki/Off-side_rule).

--
Riccardo
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Alan Franzoni
2011/3/31 Marco Beri marcob...@gmail.com:
 Ti dico la verità, mi sentirei anche di darti ragione, ma dopo che gli
 ultimi 8 o 9 mesi li ho passati sviluppando un applet Java che deve per
 forza funzionare sulla JVM 1.4, allora no, mi spiace, ma io,
 spocchiosamente, risolutamente, convintamente, rabbiosamente dico e affermo:
 JAVA E' UNA MERDA.

Java 1.4 è vecchio come il cucco. La prima release di Java 1.4 è del
*2002* e si parla dell'era pre-generics, ta le altre cose!

Come ti troveresti a lavorare con Python 2.2 ?

Putroppo il problema di Java è, non di rado, proprio l'enterprise. Le
grosse aziende sono restie e lentissime ad adottare nuove tecnologie
anche se sono solo nuove versioni di una tecnologia di lenta
evoluzione, true  proven e con grande attenzione alla
retrocompatibilità.

Non è colpa di Java; è colpa dell' enterprise.


-- 
http://www.franzoni.eu - public@[mysurname].eu
Latest blog post: Using twisted trial as a test runner with
zc.buildout http://bit.ly/fAYiQl
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Indentazione molto significativa (era: Re: 2 neo pythonisti che affrontano un orda barbara di javisti - con quasi-rissa finale)

2011-04-01 Per discussione Nicola Larosa
 Nicola Larosa wrote:
 L'indentazione significativa [...] è un'intuizione tristemente
 mancante negli altri linguaggi di programmazione.

Riccardo Vianello wrote:
 Avevo scoperto qualche tempo fa che non rappresenta neppure una novità
 introdotta con Python dato che risale almeno agli anni '60.

Vero.


 Certamente non si tratta di una caratteristica dominante nei linguaggi
 di più vasta adozione (http://en.wikipedia.org/wiki/Off-side_rule).

Grazie del riferimento!

-- 
Nicola Larosa - http://www.teknico.net/

La sparizione dei fondamentalismi di cui Benedetto XVI e Ahmadinejad
sono i rappresentanti è una condizione necessaria per l’instaurazione
della giustizia e il raggiungimento della stabilità. Non è certo suffi-
ciente, ma fino a che ci sarà gente come loro e i loro seguaci, non
andremo molto lontano sulla via che potrebbe condurre alla giustizia
e alla pace. - Piergiorgio Odifreddi, novembre 2010

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Alan Franzoni
2011/3/31 Carlos Catucci carlos.catu...@gmail.com:
 Tranquillo: non esistono :-)
 Ammetto di essermi fermato a java .15 e quindi non o come sia evoluto
 il linguaggio.

Cambia pochissimo tra 5 e 6 a livello di linguaggio; sono solo quasi
miglioramenti infrastrutturali.
 Che i citati siano un po' da raffinare (passami l'eufemismo) si, ma
 stiamo parlando di tool esterni. Come se dicessi che quell'auto e'
 eglio di quell'altra perche' il concessionario ha un salone piu'
 curato.

Sto dicendo che non conta solo il linguaggio, contano tutti i tool che
ci stanno intorno.

L'esperienza di Android e IOS insegna: è l'ecosistema che fa la
differenza. Se ci metto poco a programmare, ma poi è un parto per ogni
dipendenza esterna, il risultato è che tenderò a reinventare ogni
volta la ruota piuttosto che riutilizzare ciò che è già disponibile.

 Se m metto a cercare sul repository Ubuntu di API, warapper, libraries
 etc per python non arrivo a fine prima idi sera (va bene che non e'
 prestissimo ;) ) e il concetto di battery included non e' di Java.

Per API intendo un set di interfacce ben preciso e condiviso, che mi
permetta di programmare una certa funzionalità e scegliere a
posteriori una specifica implementazione - come appunto la DB-API o
WSGI. Il mondo Java ne è letteralmente stracolmo; ovviamente la
definizione e l'evoluzione delle interfacce porta via un bel po' di
tempo, ma consente di programmare per una specifica e non per
un'implementazione.

 Specifica standard per il runtime: vi è mai capitato che su una certa
 ne esistono diversi ma non mi sembra che java se gli manca un package
 se lo vada a cercare da se

Ne esistono diversi: quali?

Poi Java non è che se li vada a cercare da sè, ma ha un sistema di
build e dependency management quale Maven che consente di specificare
in maniera *dichiarativa* i requisiti di un'applicazione.

 Un ottimo sviluppatore a oggetti lavora bene con qualsiasi linguaggio
 ad oggetti. Ma non ha nulla a che vedere con il fatto che un
 linguaggio sia migliore di un'altro.

Questa tendenza però rischia di diventare dannosa per la community.
Sentirmi snobbare una soluzione già true  proven su un'altra
tecnologia solo perché sarebbe l'approccio di Java mi fa schifo.
Sentirmi rigettare alcuni principi di sviluppo ( SOLID ) perché 'In
Python non servono' mi sembra una vaccata. Però succede, e ti confesso
che mi succede molto più spesso sui progetti Python che non su quelli
Java.

 Esprimere un punto di vista personale su due oggettI non mi sembra
 spocchia. Au contraire trovo tantissimi Javisti che quando dici  cche
 usi Python ti guardano come a dire: Si va bene, torna pure a giocare
 con i cubetti di legno e lasciaci lavorare.

E anche quegli sviluppatori Java saranno probabilmente spocchiosi e
non faranno scelte adeguate :-)


-- 
http://www.franzoni.eu - public@[mysurname].eu
Latest blog post: Using twisted trial as a test runner with
zc.buildout http://bit.ly/fAYiQl
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Marco Beri
2011/4/1 Alan Franzoni mail...@franzoni.eu

 2011/3/31 Marco Beri marcob...@gmail.com:
  Ti dico la verità, mi sentirei anche di darti ragione, ma dopo che gli
  ultimi 8 o 9 mesi li ho passati sviluppando un applet Java che deve per
  forza funzionare sulla JVM 1.4, allora no, mi spiace, ma io,
  spocchiosamente, risolutamente, convintamente, rabbiosamente dico e
 affermo:
  JAVA E' UNA MERDA.

 Java 1.4 è vecchio come il cucco. La prima release di Java 1.4 è del
 *2002* e si parla dell'era pre-generics, ta le altre cose!

 Come ti troveresti a lavorare con Python 2.2 ?


Cambiare Java 1.4 con Python 1.5.2 ? Non ci penso un microsecondo.
Ci ho lavorato a lungo con entrambi.

Putroppo il problema di Java è, non di rado, proprio l'enterprise. Le
 grosse aziende sono restie e lentissime ad adottare nuove tecnologie
 anche se sono solo nuove versioni di una tecnologia di lenta
 evoluzione, true  proven e con grande attenzione alla
 retrocompatibilità.

 Non è colpa di Java; è colpa dell' enterprise.


Capisco ma, sorry, sto considerando solo il linguaggio in questa mia
invettiva.

E ora lasciami tornare una delle tante static class di questi ultimi mesi...

Java 1.4:
public static class TYPE {
private final String name;
 public static final TYPE PROPRIETARY = new TYPE(PROPRIETARY);
 public static final TYPE LOADING = new TYPE(LOADING);
public static final TYPE MODIFY = new TYPE(MODIFY);
 public static final TYPE MISCELLANEOUS = new TYPE(MISCELLANEOUS);
 private TYPE(String name){
this.name = name;
}
public String toString(){
return name;
}

Python 1.5.2:
 class Type:
 PROPRIETARY = PROPRIETARY
LOADING = LOADING
MODIFY = MODIFY
 MISCELLANEOUS = MISCELLANEOUS


Non ho dubbi :-)

Ciao.
Marco.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Simone Federici
2011/4/1 Alan Franzoni mail...@franzoni.eu

 2011/3/31 Carlos Catucci carlos.catu...@gmail.com:
  Tranquillo: non esistono :-)
  Ammetto di essermi fermato a java .15 e quindi non o come sia evoluto
  il linguaggio.

 Cambia pochissimo tra 5 e 6 a livello di linguaggio; sono solo quasi
 miglioramenti infrastrutturali.


e tra la 6 e la 7 ancor meno :-)


  Che i citati siano un po' da raffinare (passami l'eufemismo) si, ma
  stiamo parlando di tool esterni. Come se dicessi che quell'auto e'
  eglio di quell'altra perche' il concessionario ha un salone piu'
  curato.

 Sto dicendo che non conta solo il linguaggio, contano tutti i tool che
 ci stanno intorno.

 L'esperienza di Android e IOS insegna: è l'ecosistema che fa la
 differenza. Se ci metto poco a programmare, ma poi è un parto per ogni
 dipendenza esterna, il risultato è che tenderò a reinventare ogni
 volta la ruota piuttosto che riutilizzare ciò che è già disponibile.

  Se m metto a cercare sul repository Ubuntu di API, warapper, libraries
  etc per python non arrivo a fine prima idi sera (va bene che non e'
  prestissimo ;) ) e il concetto di battery included non e' di Java.

 Per API intendo un set di interfacce ben preciso e condiviso, che mi
 permetta di programmare una certa funzionalità e scegliere a
 posteriori una specifica implementazione - come appunto la DB-API o
 WSGI. Il mondo Java ne è letteralmente stracolmo; ovviamente la
 definizione e l'evoluzione delle interfacce porta via un bel po' di
 tempo, ma consente di programmare per una specifica e non per
 un'implementazione.


Lo standard serve ai vendor per vendere i loro prodotti java è stracolmo
di standard che non fanno quello che serve alle persone quindi fai il 90%
standard e il 10% legato al prodotto

e chi ci guardagna è solo chi arriva con la soluzione in mano, vedi toplink
anziche hiubernate, vedi kodo ecc sembra che il motto sia sviluppate
standard cosi noi vendiamo.


  Specifica standard per il runtime: vi è mai capitato che su una certa
  ne esistono diversi ma non mi sembra che java se gli manca un package
  se lo vada a cercare da se

 Ne esistono diversi: quali?

 Poi Java non è che se li vada a cercare da sè, ma ha un sistema di
 build e dependency management quale Maven che consente di specificare
 in maniera *dichiarativa* i requisiti di un'applicazione.


c'è un progetto setuptools2 che scrive in modo dichiarativo su xml le
pipendenze...
non credo che ci guadagneremo nulla, meglio scrivere in python.

setuptools e pypi non hanno niente da invidiare a maven




  Un ottimo sviluppatore a oggetti lavora bene con qualsiasi linguaggio
  ad oggetti. Ma non ha nulla a che vedere con il fatto che un
  linguaggio sia migliore di un'altro.

 Questa tendenza però rischia di diventare dannosa per la community.
 Sentirmi snobbare una soluzione già true  proven su un'altra
 tecnologia solo perché sarebbe l'approccio di Java mi fa schifo.
 Sentirmi rigettare alcuni principi di sviluppo ( SOLID ) perché 'In
 Python non servono' mi sembra una vaccata. Però succede, e ti confesso
 che mi succede molto più spesso sui progetti Python che non su quelli
 Java.

 ma che centra con il linguaggio i talebani li trovi ovunque.
tu ne hai visti più in python e io ne ho visti più su java... ma questo non
ci deve portare a dire javisti/pythonisti non scivono solid... dipende dal
programmatore non dal linguaggio



  Esprimere un punto di vista personale su due oggettI non mi sembra
  spocchia. Au contraire trovo tantissimi Javisti che quando dici  cche
  usi Python ti guardano come a dire: Si va bene, torna pure a giocare
  con i cubetti di legno e lasciaci lavorare.

 E anche quegli sviluppatori Java saranno probabilmente spocchiosi e
 non faranno scelte adeguate :-)


parliamo di produttività, è l'unica cosa che conta
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Simone Federici
2011/4/1 Marco Beri marcob...@gmail.com

  class Type:
  PROPRIETARY = PROPRIETARY
 LOADING = LOADING
 MODIFY = MODIFY
  MISCELLANEOUS = MISCELLANEOUS


da, dai... non è questo l'esempio giusto puoi fare di meglio!

java5
enum Type{
PROPRIETARY,
LOADING,
MODIFY,
 MISCELLANEOUS,
}
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Marco Beri
On Fri, Apr 1, 2011 at 12:27 PM, Simone Federici s.feder...@gmail.comwrote:

 2011/4/1 Marco Beri marcob...@gmail.com

  class Type:
  PROPRIETARY = PROPRIETARY
 LOADING = LOADING
 MODIFY = MODIFY
  MISCELLANEOUS = MISCELLANEOUS


 da, dai... non è questo l'esempio giusto puoi fare di meglio!

 java5
 enum Type{
 PROPRIETARY,
 LOADING,
 MODIFY,
  MISCELLANEOUS,
 }


Ho scritto Java 1.4 e Python 1.5.2 :-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Massimo Capanni
Non sono un programmatore di professione, la sistemistica a volte mi
da meno grattacapi filosofici ;-) tuttavia posso affermare onestamente
che il concetto espresso nel talk 'il programmatore Python si puo'
concentrare piu' su cosa risolvere e meno sul linguaggio' (o qualcosa
del genere, scusate la superficialita') e' stata la prima cosa che mi
e' saltata agli occhi nel momento che ho cominciato a realizzare
script in Python che realizzassero qualcosa di veramente utile.

Per il resto, boh! :-)



Il 01 aprile 2011 12:35, Marco Beri marcob...@gmail.com ha scritto:
 On Fri, Apr 1, 2011 at 12:27 PM, Simone Federici s.feder...@gmail.com
 wrote:

 2011/4/1 Marco Beri marcob...@gmail.com

      class Type:
 PROPRIETARY = PROPRIETARY
 LOADING = LOADING
 MODIFY = MODIFY
 MISCELLANEOUS = MISCELLANEOUS

 da, dai... non è questo l'esempio giusto puoi fare di meglio!
 java5
 enum Type{
 PROPRIETARY,
 LOADING,
 MODIFY,
 MISCELLANEOUS,
 }

 Ho scritto Java 1.4 e Python 1.5.2 :-)

 ___
 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] 2 neo pythonisti che affrontano un orda barbara di javisti - con quasi-rissa finale

2011-04-01 Per discussione Simone Federici
2011/4/1 Marco Beri marcob...@gmail.com

 On Fri, Apr 1, 2011 at 12:27 PM, Simone Federici s.feder...@gmail.comwrote:

 2011/4/1 Marco Beri marcob...@gmail.com

  class Type:
  PROPRIETARY = PROPRIETARY
 LOADING = LOADING
 MODIFY = MODIFY
  MISCELLANEOUS = MISCELLANEOUS


 da, dai... non è questo l'esempio giusto puoi fare di meglio!

 java5
 enum Type{
 PROPRIETARY,
 LOADING,
 MODIFY,
  MISCELLANEOUS,
 }


 Ho scritto Java 1.4 e Python 1.5.2 :-)


Vero! e perche allora non prendere java 1.1
dai meglio parlare dell'attuale, la sintassi java è ferma dalla 1.2

i generics sono un bufala (usati solo nelle collections)
e Inboxing/outboxing sono
strategie per sopperire delle carenze strutturali

ma sapete quali sono gli errori più clamorosi di design di java?
object ha un metodo clone ma non implementa clonable

l'interfaccia serializable non è un interfaccia ma un marcatore.
a questo punto era meglio implement NotSerializable :-)

ciao
S
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Alan Franzoni
2011/4/1 Simone Federici s.feder...@gmail.com:
 Cambia pochissimo tra 5 e 6 a livello di linguaggio; sono solo quasi
 miglioramenti infrastrutturali.

 e tra la 6 e la 7 ancor meno :-)

Verissimo.

 Per API intendo un set di interfacce ben preciso e condiviso, che mi
 permetta di programmare una certa funzionalità e scegliere a
 posteriori una specifica implementazione - come appunto la DB-API o
 WSGI. Il mondo Java ne è letteralmente stracolmo; ovviamente la
 definizione e l'evoluzione delle interfacce porta via un bel po' di
 tempo, ma consente di programmare per una specifica e non per
 un'implementazione.

 Lo standard serve ai vendor per vendere i loro prodotti java è stracolmo
 di standard che non fanno quello che serve alle persone quindi fai il 90%
 standard e il 10% legato al prodotto

Questa è un'opinione che davvero non condivido.

 c'è un progetto setuptools2 che scrive in modo dichiarativo su xml le
 pipendenze...
 non credo che ci guadagneremo nulla, meglio scrivere in python.
 setuptools e pypi non hanno niente da invidiare a maven

Mi dispiace, ma se la pensi così non hai approfondito la questione. Maven
- e i repo Maven - funzionano abissalmente meglio di setuptools/pypi,
e negarlo impedirà soltanto di migliorare il prodotto Python.
Personalmente ho già un elenco di difetti che vorrei correggere e li
sto pian piano spingendo nelle varie ML, poi spero di vedere un po' di
gente ad EP per parlarne.

 parliamo di produttività, è l'unica cosa che conta

Parliamo di produttività. Per me una funzionalità è completa quando è
ready for delivery, ovvero quando passa i test di accettazione su
una macchina production-like.

Se io sto poco a scrivere del codice ma poi il deploy è complesso
(difficoltà a gestire versioni di python e dipendenze sulla macchina
destinazione), rischia di fallire senza motivo (es. se su pypi
cambiano le versioni disponibili), devo tenere un mirror gestito
manualmente in locale (c'è qualche soluzione per un repo pypi-like che
sia all'altezza di Artifactory o Nexus?) , siamo certi che il tempo
che intercorre tra l'inizio dello sviluppo e il passaggio in
produzione sia inferiore in Python che in Java?

Nella mia posizione attuale ho avuto parecchio il ruolo di build,
integration  release manager, e ti garantisco che ho avuto molti,
molti, molti meno grattacapi con Java che con Python.


Per terminare: io non sputo su Python e non idolatro Java. Ma negare
l'esistenza di un problema è il miglior modo perchè questo NON venga
risolto.

--
http://www.franzoni.eu - public@[mysurname].eu
Latest blog post: Using twisted trial as a test runner with
zc.buildout http://bit.ly/fAYiQl
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Marco Beri
2011/4/1 Simone Federici s.feder...@gmail.com

Vero! e perche allora non prendere java 1.1


Beh, semplicemente perché il cliente (un GROSSO cliente, di quelli con cui
non puoi discutere) ha deciso che l'applet deve andare su più browser
possibile.

:-(
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Simone Federici
2011/4/1 Alan Franzoni mail...@franzoni.eu

 Mi dispiace, ma se la pensi così non hai approfondito la questione. Maven


spingo maven da 5 anni, da quando l'ho conosciuto, e mi piace...
Ho scritto anche dei plugin per varie questioni...

Però non lo definirei un cavallo di battaglia.

E' uno strumento coplesso, però in definitiva devi scriverti per ogni app
server
un profilo adhoc. Ed è estremamente lento.

Ma prche Ivy non va bene? non è più leggero?

Comunque per python c'è sicuramente più difficoltà nel gestire le librerie
non pure python... del resto le librerie java quando mappa le native... non
sono nemmeno supportate da maven... si tratta solo di prendere dei jar e
metterli nel classpath

ciao
S
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Alan Franzoni
2011/4/1 Simone Federici s.feder...@gmail.com:

 Ma prche Ivy non va bene? non è più leggero?

Ma non altrettanto potente. L'abbiamo usato per un po', alla fine
siamo passati a Maven e siamo decisamente soddisfatti.

 Comunque per python c'è sicuramente più difficoltà nel gestire le librerie
 non pure python... del resto le librerie java quando mappa le native... non
 sono nemmeno supportate da maven... si tratta solo di prendere dei jar e
 metterli nel classpath

La questione lib native/non native è un tradeoff delle due
piattaforme, ovviamente; non si può dire che una soluzione è migliore
dell'altra.

Quello del classpath è un altro discorso che scotta. Secondo me il
fatto che sys.path sia una globale accessibile *in scrittura* da
qualsiasi modulo è un vero inferno - ho dovuto lottare un sacco di
volte con moduli di terze parti che si basavano su supposizioni
assurde o modificavano sys.path a runtime - di certo non è una best
practice, ma in Python è troppo facile da fare. Se devi scrivere un
ClassLoader almeno un po' di tempo lo perdi :-)




-- 
http://www.franzoni.eu - public@[mysurname].eu
Latest blog post: Using twisted trial as a test runner with
zc.buildout http://bit.ly/fAYiQl
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Enrico Franchi

Simone Federici wrote:


ma sapete quali sono gli errori più clamorosi di design di java?
object ha un metodo clone ma non implementa clonable


+1


l'interfaccia serializable non è un interfaccia ma un marcatore.
a questo punto era meglio implement NotSerializable :-)


E la reiterano. RandomAccessCollections o come si chiama.

--
.
..: -enrico-

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Come spiegare a un javista convinto, come migliorare il prorio lavoro usando uno strumento migliore

2011-04-01 Per discussione Simone Federici
Non è lo strumento che costruisce un professionista

http://blip.tv/file/4953891
 http://blip.tv/file/4953891
http://www.aldaran.org/press/java/2011/03/06/codemotion-2011-python-amazing-enterprise-front-end-back-end/

S
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Simone Federici
2011/4/1 Alan Franzoni mail...@franzoni.eu

 Quello del classpath è un altro discorso che scotta. Secondo me il
 fatto che sys.path sia una globale accessibile *in scrittura* da
 qualsiasi modulo è un vero inferno - ho dovuto lottare un sacco di
 volte con moduli di terze parti che si basavano su supposizioni
 assurde o modificavano sys.path a runtime - di certo non è una best
 practice, ma in Python è troppo facile da fare. Se devi scrivere un
 ClassLoader almeno un po' di tempo lo perdi :-)


un issue di weblogic è che il classpath viene passato su linea di comando e
ha un limite di cratteri, quindi se istalli weblogic su
/pipo/vatteloapesca/pathmoltolungo/ maco parte. e tutto perche hai
copiato una nuova lib nella directory lib

ce ne sono a bizeffe.
In sud africa c'erano EJB che estendevano da bytearrayinputstream e ogni
volta che il conteiner li passivava vabbè lasciamo stare oppure un
ejb che lancia un thread e come lo controlli? se uno fa come gli pare fa
come gli pare
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Giorgio Zoppi
Gli EJB andrebbero aboliti dalla convenzione di ginevra.
Piuttosto di scrivere un componente con EJB lo scrivo con fractal
della inria, che anche quello andrebbe abolito.


Il 01 aprile 2011 14:52, Simone Federici s.feder...@gmail.com ha scritto:

 2011/4/1 Alan Franzoni mail...@franzoni.eu

 Quello del classpath è un altro discorso che scotta. Secondo me il
 fatto che sys.path sia una globale accessibile *in scrittura* da
 qualsiasi modulo è un vero inferno - ho dovuto lottare un sacco di
 volte con moduli di terze parti che si basavano su supposizioni
 assurde o modificavano sys.path a runtime - di certo non è una best
 practice, ma in Python è troppo facile da fare. Se devi scrivere un
 ClassLoader almeno un po' di tempo lo perdi :-)

 un issue di weblogic è che il classpath viene passato su linea di comando e
 ha un limite di cratteri, quindi se istalli weblogic su
 /pipo/vatteloapesca/pathmoltolungo/ maco parte. e tutto perche hai
 copiato una nuova lib nella directory lib
 ce ne sono a bizeffe.
 In sud africa c'erano EJB che estendevano da bytearrayinputstream e ogni
 volta che il conteiner li passivava vabbè lasciamo stare oppure un
 ejb che lancia un thread e come lo controlli? se uno fa come gli pare fa
 come gli pare



 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python





-- 
Quiero ser el rayo de sol que cada día te despierta
para hacerte respirar y vivir en me.
Favola -Moda.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Simone Federici
2011/4/1 Alan Franzoni mail...@franzoni.eu

 Ripeto, il problema secondo me non è sbagliare. Tutti sbagliano. Il
 problema è a) continuare a sbagliare b) credere di non aver sbagliato
 c) non osservare e imparare da errori  successi altrui.


il problema è non avere una community che fa evolvere il linguaggio

purtroppo il ruolo della community in java è sempre stato quello di scrivere
librerie di terze parti. La sintassi, e non nominatemi i nuovi for o altre
stronzate simili, è ferma dalla 1.2

La comunity python è più aperta, e c'è un evoluzione vera nel linguaggio. Un
miglioramento continuo.

poi ognuno è libero di pensarla come vuole, però che java è fico perche c'è
maven. dai, non me la bevo :-)

guardati l'altro link che ho postato
S
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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

2011-04-01 Per discussione Marco Mariani
2011/4/1 Alan Franzoni mail...@franzoni.eu:


 Ripeto, il problema secondo me non è sbagliare. Tutti sbagliano. Il
 problema è a) continuare a sbagliare b) credere di non aver sbagliato
 c) non osservare e imparare da errori  successi altrui.


h, ma come siete precisini... non va mai bene niente

...

...javascript vi seppellira'  :-D
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python