PDA

View Full Version : [Python] Quale release utilizzare per iniziare: 2.6.2 o 3.0.1?


m4dbra1n
11-05-2009, 23:47
Ciao a tutti,

dopo aver aperto il thread per chiedere info su quale linguaggio utilizzare, passo ad una domanda più diretta su Python.

Come da titolo, vorrei sapere con quale iniziare: essendo la 2.6.2 l'aggiornamento del ramo principale, penso possa essere meglio soprattutto per chiedere aiuto in caso mi serva, ma visto che il futuro è la 3.x, non mi conviene iniziare direttamente con questa release e imparare direttamente con i vari cambiamenti e aggiornamenti che sono stati apportati al linguaggio?

Poi non ho ancora capito se il ramo 2.x cesserà e convergerà tutto nel 3.x o se andranno avanti 2 rami differenti...

Grazie come al solito a chi dipanerà i miei dubbi :D

Bye!

-Slash
12-05-2009, 00:17
Ciao a tutti,

dopo aver aperto il thread per chiedere info su quale linguaggio utilizzare, passo ad una domanda più diretta su Python.

Come da titolo, vorrei sapere con quale iniziare: essendo la 2.6.2 l'aggiornamento del ramo principale, penso possa essere meglio soprattutto per chiedere aiuto in caso mi serva, ma visto che il futuro è la 3.x, non mi conviene iniziare direttamente con questa release e imparare direttamente con i vari cambiamenti e aggiornamenti che sono stati apportati al linguaggio?

Poi non ho ancora capito se il ramo 2.x cesserà e convergerà tutto nel 3.x o se andranno avanti 2 rami differenti...

Grazie come al solito a chi dipanerà i miei dubbi :D

Bye!
Io ho studiato il tutorial della 3.0

Ovviamente al momento ci sono pochissime librerie che supportano la 3.0, quindi per il momento devi usare la 2.6, ma le differenze a livello di sintassi alla fine sono minime... Quindi impara una delle due versioni e poi impara le differenze tra le due..

cdimauro
12-05-2009, 07:07
Ciao a tutti,

dopo aver aperto il thread per chiedere info su quale linguaggio utilizzare, passo ad una domanda più diretta su Python.

Come da titolo, vorrei sapere con quale iniziare: essendo la 2.6.2 l'aggiornamento del ramo principale, penso possa essere meglio soprattutto per chiedere aiuto in caso mi serva, ma visto che il futuro è la 3.x, non mi conviene iniziare direttamente con questa release e imparare direttamente con i vari cambiamenti e aggiornamenti che sono stati apportati al linguaggio?
A livello didattico la mia risposta è: usa la 3.0.

Ma poi, come dice giustamente -Slash, trovi ben poche librerie disponibili quando ti troverai a utilizzarlo per lavorarci seriamente.

Per cui, a malincuore (perché mi piace tantissimo la 3.0), ti consiglio la 2.6.
Poi non ho ancora capito se il ramo 2.x cesserà e convergerà tutto nel 3.x o se andranno avanti 2 rami differenti...
No, saranno sempre due rami diversi.
Grazie come al solito a chi dipanerà i miei dubbi :D

Bye!
:p

AnonimoVeneziano
12-05-2009, 09:39
Risposta veloce :

Stai imparando da 0 la programmazione -> 3.0

Stai imparando python , ma programmi già -> 2.6

Risposta lunga:

Se stai imparando da 0 a programmare allora forse ti conviene partire dalla 3.0.
Sicuramente per quando arriverai a fare qualcosa di utile saranno disponibili molte più librerie per la versione 3.0, ma per l'inizio basta ciò che ti offre il linguaggio.

Se invece sai già programmare e hai bisogno di python per produttività la risposta è la 2.6 che ha già moltissime librerie disponibili. In poco tempo puoi già iniziare ad essere produttivo e iniziare a scrivere i tuoi programmi in Python.

Ciao

m4dbra1n
12-05-2009, 09:56
A livello didattico la mia risposta è: usa la 3.0.

Ma poi, come dice giustamente -Slash, trovi ben poche librerie disponibili quando ti troverai a utilizzarlo per lavorarci seriamente.

Per cui, a malincuore (perché mi piace tantissimo la 3.0), ti consiglio la 2.6.

No, saranno sempre due rami diversi.

:p

Come al solito un grazie a cdimauro, sempre velocissimo ad aiutarmi ;)

Risposta veloce :

Stai imparando da 0 la programmazione -> 3.0

Stai imparando python , ma programmi già -> 2.6

Risposta lunga:

Se stai imparando da 0 a programmare allora forse ti conviene partire dalla 3.0.
Sicuramente per quando arriverai a fare qualcosa di utile saranno disponibili molte più librerie per la versione 3.0, ma per l'inizio basta ciò che ti offre il linguaggio.

Se invece sai già programmare e hai bisogno di python per produttività la risposta è la 2.6 che ha già moltissime librerie disponibili. In poco tempo puoi già iniziare ad essere produttivo e iniziare a scrivere i tuoi programmi in Python.

Ciao

Avendo fatto informatica alle superiori, non inizio proprio da 0: inizio da 0 con Python, dato che a scuola e anche a casa mi dilettavo solo con VB e C++

Ecco perché chiedo con quale release iniziare, anche perché sul sito c'è scritto che la 3.x è stata appositamente voluta non compatibile con la 2.x per eliminare alcune cose e ottimizzare il codice (sempre se nn ho capito male...)

Quindi dite 2.x soprattutto per le librerie che potrei trovare in giro che mi agevolerebbero il lavoro in certi ambiti - anche col progettino che avevo in mente nell'altro thread? :D cdimauro sa di cosa parlo...

cdimauro
12-05-2009, 10:46
Francamente non me lo ricordo (non si direbbe, ma ho una pessima memoria :mad: ), ma se già devi scrivere qualcosa di "produttivo" per me la scelta è già chiara. ;)

m4dbra1n
12-05-2009, 10:55
Francamente non me lo ricordo (non si direbbe, ma ho una pessima memoria :mad: ), ma se già devi scrivere qualcosa di "produttivo" per me la scelta è già chiara. ;)

Ecco il thread CLICCA (http://www.hwupgrade.it/forum/showthread.php?t=1977196)

Praticamente chiedevo info e consigli su quale linguaggio utilizzare per creare una piccola applicazione per la gestione dell'assistenza per il negozietto d'informatica dove lavoro :D

cdimauro
12-05-2009, 11:01
OK, adesso ricordo. :D

Vai con la 2.6, che ha già diverse librerie utili allo scopo. ;)

m4dbra1n
17-05-2009, 16:42
Ho trovato quello che mi pare essere un ide abbastanza buono, Pyscripter: ce ne sono altri validi, rispetto all'IDLE incluso con l'installazione di Python stesso?

cdimauro
17-05-2009, 16:53
Di recente mi sono convertito a Eclipse + plugin PyDev.

m4dbra1n
17-05-2009, 18:41
Di recente mi sono convertito a Eclipse + plugin PyDev.

Io ultimamente mi sono installato NetBeans 6.5 per provarlo: su molti siti dicono che è meglio di Eclipse.

Vale la stessa regola anche se applicato al Python, in questo caso?

cdimauro
17-05-2009, 19:01
Dovrei provarlo NetBeans, per cui al momento sospendo il mio giudizio.

~FullSyst3m~
17-05-2009, 19:07
Io ultimamente mi sono installato NetBeans 6.5 per provarlo: su molti siti dicono che è meglio di Eclipse.

Vale la stessa regola anche se applicato al Python, in questo caso?

NetBeans è favoloso. C'è il plugin per Python ovviamente.

m4dbra1n
17-05-2009, 19:19
NetBeans è favoloso. C'è il plugin per Python ovviamente.

Ho appena scaricato Eclipse Classic e dal sistema di update ho subito installato il plugin pydev: comodissimo :D

E mi pare si carichi anche + velocemente di Netbeans...

~FullSyst3m~
17-05-2009, 19:48
Ho appena scaricato Eclipse Classic e dal sistema di update ho subito installato il plugin pydev: comodissimo :D

E mi pare si carichi anche + velocemente di Netbeans...

A me NetBeans su Ubuntu si carica al volo.

cdimauro
17-05-2009, 19:50
NetBeans è favoloso. C'è il plugin per Python ovviamente.
Cos'ha d'interessante? Così magari vedo se vale la pena provarlo.
Ho appena scaricato Eclipse Classic e dal sistema di update ho subito installato il plugin pydev: comodissimo :D

E mi pare si carichi anche + velocemente di Netbeans...
Sì, Eclipse con le ultime versioni ha fatto un enorme passo in avanti sui tempi di caricamento.

PyDev, poi, lo trovo veramente ben fatto.

~FullSyst3m~
17-05-2009, 19:52
Cos'ha d'interessante? Così magari vedo se vale la pena provarlo.

Sì, Eclipse con le ultime versioni ha fatto un enorme passo in avanti sui tempi di caricamento.

PyDev, poi, lo trovo veramente ben fatto.

Non posso fare il paragone con Eclipse perchè non l'ho mai provato, però sicuramente ha le funzioni che ha pure Eclipse, in più ha una gestione dei plug-in molto comoda, una bell'area di lavoro ricca di strumenti, per quanto mi riguarda è veloce, autocompletamento e colorazione sintassi, e documentazione "real-time".

cdimauro
17-05-2009, 19:58
Come si chiama il plugin che usi? Così faccio un confronto con PyDev.

~FullSyst3m~
17-05-2009, 22:48
Come si chiama il plugin che usi? Così faccio un confronto con PyDev.

Non ha un nome preciso, semplicemente Python. Se vai sul sito oppure dal menu plugins dell'IDE troverai il plugin Python.

cdimauro
18-05-2009, 08:04
Dall'elenco delle caratteristiche mi sembra meno completo rispetto a PyDev.

Guarda qui (http://pydev.sourceforge.net/features.html).

-Slash
18-05-2009, 10:55
Ho trovato, a proposito di ide, il modo di caricare il completamento automatico per librerie esterne con Komodo Edit. Posto il procedimento perchè è un po' un casino, ed inoltre almeno su ubuntu non funziona il file python fornito da activestate, ma l'ho dovuto modificare :muro:

Da shell:

sudo apt-get install svn python-celementtree
svn co http://svn.openkomodo.com/repos/openkomodo/trunk/src/codeintel/support/gencix/python python_gencix


Ora editate il file gencix.py sostituendo tutta la gestione delle eccezioni iniziale dei vari ImportError con

from xml.etree.cElementTree import Element, SubElement, ElementTree

Ora con lo script python che abbiamo scaricato possiamo creare file cix per la code intelligence di librerie esterne. Ad esempio con le pyqt4:


cd python_gencix
python gencix.py --onefile=PyQt4-4-4.cix --name="PyQt4" --description="Python QT bindings - version 4.4.4-2" PyQt4.QtCore PyQt4.QtGui PyQt4.QtNetwork PyQt4.QtOpenGL PyQt4.QtScript PyQt4.QtSql PyQt4.QtSvg PyQt4.QtTest PyQt4.QtXml PyQt4.QtAssistant PyQt4.QtDesigner


Verrà generato un file .cix in quella cartella. Poi andate da komodo su edit-preferences-code intelligence e caricate il file cix generato precedentemente.

Spero possa essere utile a qualcuno :)

~FullSyst3m~
18-05-2009, 11:16
Ho trovato, a proposito di ide, il modo di caricare il completamento automatico per librerie esterne con Komodo Edit. Posto il procedimento perchè è un po' un casino, ed inoltre almeno su ubuntu non funziona il file python fornito da activestate, ma l'ho dovuto modificare :muro:

Da shell:

sudo apt-get install svn python-celementtree
svn co http://svn.openkomodo.com/repos/openkomodo/trunk/src/codeintel/support/gencix/python python_gencix


Ora editate il file gencix.py sostituendo tutta la gestione delle eccezioni iniziale dei vari ImportError con

from xml.etree.cElementTree import Element, SubElement, ElementTree

Ora con lo script python che abbiamo scaricato possiamo creare file cix per la code intelligence di librerie esterne. Ad esempio con le pyqt4:


cd python_gencix
python gencix.py --onefile=PyQt4-4-4.cix --name="PyQt4" --description="Python QT bindings - version 4.4.4-2" PyQt4.QtCore PyQt4.QtGui PyQt4.QtNetwork PyQt4.QtOpenGL PyQt4.QtScript PyQt4.QtSql PyQt4.QtSvg PyQt4.QtTest PyQt4.QtXml PyQt4.QtAssistant PyQt4.QtDesigner


Verrà generato un file .cix in quella cartella. Poi andate da komodo su edit-preferences-code intelligence e caricate il file cix generato precedentemente.

Spero possa essere utile a qualcuno :)

Se ne parla da qualche parte di questo errore nel file gencix.py?

-Slash
18-05-2009, 11:55
Se ne parla da qualche parte di questo errore nel file gencix.py?
No, su ubuntu non funzionava, quindi ho aperto il codice, ed ho visto che all'inizio c'era una parte che sceglieva opportunamente(almeno nelle loro intenzioni) come caricare la libreria richiesta nel sistema a seconda di che nome aveva, usando le eccezioni. Nonostante la libreria fosse installata nel mio caso, lo script non funzionava dandomi un errore strano. Quindi ho sostituito tutto il codice che sceglie il modulo da importare con una riga che specificasse semplicemente il nome che ha quel modulo su ubuntu(e penso anche in altre distribuzioni)

~FullSyst3m~
18-05-2009, 11:58
No, su ubuntu non funzionava, quindi ho aperto il codice, ed ho visto che all'inizio c'era una parte che sceglieva opportunamente(almeno nelle loro intenzioni) come caricare la libreria richiesta nel sistema a seconda di che nome aveva, usando le eccezioni. Nonostante la libreria fosse installata nel mio caso, lo script non funzionava dandomi un errore strano. Quindi ho sostituito tutto il codice che sceglie il modulo da importare con una riga che specificasse semplicemente il nome che ha quel modulo su ubuntu(e penso anche in altre distribuzioni)

Capito.

m4dbra1n
21-05-2009, 22:55
Ringrazio tutti x le dritte ;)

Speriamo di riuscire a combinare qualcosa col tempo :D

Thanks guys!