|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
|
[Java e Pyton] Differenze tra i due?
Ciao,
stò studiando Java per un secondo esame universitario. Ho sentito parecchio parlare di Pyton, anche lui object oriented e credo anche lui interpretato (anche se suppongo in maniera ben diversa da Java che usa il bytecode ed una macchina virtuale vera e propria). Volevo avere qualche info (per ora è pura curiosità...nel futuro chissà) 1) Differenza di difficoltà nello studiare Java rispetto a Pyton (da quello che ho capito Pyton è abbastanza più semplice, o sbaglio?) 2) Applicazioni pratiche di Pyton? 3) Pyton supporta un qualche tipo di polimorfismo? Grazie Andrea |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
Python con l' "h"
|
|
|
|
|
|
#3 | ||||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
La differenza è che la VM di Java ha un compilatore JIT integrato, che ne accelera molto la velocità di esecuzione. Quote:
Quote:
Quote:
Quindi il modello di Python è più "generale" / flessibile.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||
|
|
|
|
|
#4 | |
|
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
|
Quote:
mmm si vabbè poi mi pare che Java per garantire la type safty attui anche delle regole più restrittivi rispetto alle normali regole di varianza e controvarianza...se non erro in Java i metodi dichiarati nelle classi figlie devono avere la stessa signature di quelli dichiarati nella classe padre...quindi in Pyton questa cosa non è obbligatoria? E' cmq type safe? Cos'è il compilatore Jit integrato alla virtual machine di java? Grazie delle info Andrea |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Il supporto di Python all'ereditarietà multipla è un tantinello bizzarro perchè una classe è conforme o non conforme al contratto delle sue superclassi a seconda dell'ordine di inizializzazione se esiste una convergenza nella firma di più metodi ereditati da genitori diversi (che è poi il problema classico dell'estensione multipla).
Per i metodi Java, sebbene il tipo restituito non sia considerato parte della firma a partire da Java 5 un metodo A sovrascrive un metodo B se la firma è identica e il tipo restituito da A è compatibile in assegnamento col tipo restituito da B (sono diventati covarianti, prima erano invarianti). Il JIT traduce l'intera rappresentazione di un metodo da bytecode java a codice macchina dopo l'N-sima invocazione di quel metodo (1000 volte nella JVM client). Agli albori era possibile solo con i metodi non virtuali, ora grazie alla capacità del JIT di compiere il processe inverso (da codice macchina a byte code) lo fa con tutti i metodi. Quindi un programma Java è interamente interpretato all'avvio e tende a diventare interamente compilato nel corso della sua esecuzione.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#6 | |
|
Bannato
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
|
Quote:
Tnx Andrea |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
è A che sovrascrive B. Comunque sì, se B restituisce Number allora A può restituire ad esempio Integer.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#8 | ||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Imposto mica tanto. L'mro cambia a seconda di come scrivi la clausola di estensione. Tra l'altro è possibile che un ordine dei nomi nella clausola di estesione produca una gerarchia valida (nel senso che ogni metodo esteso è effettivamente invocabile) e un altro no.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#10 | |||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
E' molto più semplice.che avevo scritto prima. Per fortuna che siamo abbastanza distanti. ![]() Comunque l'uso del termine "semplice" non è di dominio esclusivo del tipico pythonista (fa parte dello "Zen di Python": Simple is better than complex). Fa parte anche del principio K.I.S.S., e in generale (quindi non soltanto riguardo l'informatica) tendere alla semplicità non mi sembra una cattiva cosa.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Quote:
Il problema è sempre quello: l'informatica è una questione di quantità, non di qualità. Le cose sono zero, uno o mille, non sono "belle", "brutte", "facili", "difficili". Tutte cose di cui già vaneggiai in altro notorio thread
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Immaginavo che fosse quello il pomo della discordia, ma volevo esserne sicuro.
Però, se ricordi, nessuno ha mai parlato di teorie, quanto di "best practices" dettate dall'esperienza e da prove empiriche. ![]() Un po' come dire: "la programmazione a oggetti aiuta a scrivere codice migliore". E' un'affermazione puramente empirica, e come tale criticabile: "Object-oriented programming is an exceptionally bad idea which could only have originated in California." --Edsger Dijkstra.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Tu mi inciti all'off-topic ma non cadrò nel tranello. Non concordo, fortissimamente non concordo
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Si può sempre aprire un thread ad hoc per parlarne.
L'argomento è interessante, e penso che possa servire anche agli altri utenti del forum.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Oct 2006
Messaggi: 1105
|
a me, per esempio, interesserebbe. Tra l'altro, mi trovo un po' in disaccordo con quanto accennato da PGI-bis e non conosco il thread di cui parlava...
@cdimauro: bel talk il tuo a Firenze, peccato non ci sia stata occasione per parlare di persona Ultima modifica di mad_hhatter : 21-05-2009 alle 09:49. |
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Anche a me interesserebbe.
In effetti sono thread-post con considerazioni/posizioni di confronto come queste che in passato mi hanno stimolato di più a pormi delle domande.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Oct 2006
Messaggi: 1105
|
|
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Oct 2006
Messaggi: 1105
|
Quote:
Ultima modifica di mad_hhatter : 21-05-2009 alle 10:43. |
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Beh, almeno tu hai conosciuto me.
Il prossimo anno tocca a me conoscere te.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:08.





















