Re: [Python] 2 neo pythonisti che affrontano un orda barbara di javisti - con quasi-rissa finale
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
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/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
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
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
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
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
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
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
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)
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
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
-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/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
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
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/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
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 linstaurazione 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/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/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)
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 linstaurazione 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/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/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/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/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
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
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/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/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/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/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/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
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
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/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
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/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/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