Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-05-2009, 13:28   #1
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2688
[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
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 13:52   #2
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2787
Python con l' "h"
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 14:02   #3
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da D4rkAng3l Guarda i messaggi
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).
Python ha una sua virtual machine e un suo bytecode. Da questo punto di vista è identico a Java.

La differenza è che la VM di Java ha un compilatore JIT integrato, che ne accelera molto la velocità di esecuzione.
Quote:
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?)
E' molto più semplice.
Quote:
2) Applicazioni pratiche di Pyton?
Praticamente le stesse di Java e di numerosi altri linguaggi.
Quote:
3) Pyton supporta un qualche tipo di polimorfismo?

Grazie
Andrea
Python supporta l'ereditarietà multipla. Java quella singola + interfacce multiple.

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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 15:31   #4
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2688
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Python ha una sua virtual machine e un suo bytecode. Da questo punto di vista è identico a Java.

La differenza è che la VM di Java ha un compilatore JIT integrato, che ne accelera molto la velocità di esecuzione.

E' molto più semplice.

Praticamente le stesse di Java e di numerosi altri linguaggi.

Python supporta l'ereditarietà multipla. Java quella singola + interfacce multiple.

Quindi il modello di Python è più "generale" / flessibile.

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
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 15:50   #5
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
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!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 16:13   #6
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2688
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
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.
Gia che ci siamo fammi sto ripassotto, quando dici che: il tipo restituito da A è compatibile in assegnamento col tipo restituito da B intendi dire che il tipo restituito da B è A o un sottotipo di A?

Tnx
Andrea
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 16:16   #7
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
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!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 17:03   #8
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da D4rkAng3l Guarda i messaggi
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?
In Python i metodi delle classi figlie possono cambiare la "signature" dello stesso metodo della classe padre, e restituire anche un valore completamente diverso.
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
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).
Sì, ma un'ordine è comunque stabilito (o, per meglio dire, imposto): http://www.python.org/download/releases/2.3/mro/
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 17:36   #9
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
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!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 21:12   #10
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Imposto mica tanto. L'mro cambia a seconda di come scrivi la clausola di estensione.
Vero. E' l'unica cosa su cui puoi agire per specificare una certa priorità all'override, ma riguarda soltanto l'ultimo livello di "estensione".
Quote:
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.
Questo dipende da come sono implementati i metodi "sovrascritti": se richiamano super correttamente, tutti i metodi con la stessa signature verranno invocati.
Quote:
L'uso del termine semplice in informatica dovrebbe essere punito con cinquanta frustate.
Immagino ti riferisca a questo:
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 21:25   #11
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Immagino ti riferisca a questo:
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.
E' che l'altro giorno ho riletto "Extreme Programming" di Beck e m'è venuta la solita incazzatura, ho visto quel "semplice" e non ho più resistito.

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!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 21:54   #12
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 20-05-2009, 22:14   #13
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
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!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2009, 08:24   #14
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2009, 09:47   #15
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
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.
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2009, 10:02   #16
banryu79
Senior Member
 
L'Avatar di banryu79
 
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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2009, 10:03   #17
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
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.
verissimo!
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2009, 10:10   #18
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da mad_hhatter Guarda i messaggi
@cdimauro: bel talk il tuo a Firenze, peccato non ci sia stata occasione per parlare di persona
Ma perché non ti sei avvicinato? M'avrebbe fatto piacere conoscerti dal vivo e scambiare due chiacchiere.
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2009, 10:29   #19
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Ma perché non ti sei avvicinato? M'avrebbe fatto piacere conoscerti dal vivo e scambiare due chiacchiere.
eh lo so, ma eri sempre impegnato e non mi piace interrompere una conversazione sarà per il prossimo anno

Ultima modifica di mad_hhatter : 21-05-2009 alle 10:43.
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2009, 14:02   #20
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
Auto elettriche, il freddo non fa pi&ugr...
Amazon, ancora sconti sugli smartphone: ...
Il dispositivo hardware AI di Jony Ive p...
Wikipedia valuta il blocco di Archive.to...
Cupra Tavascan primo veicolo cinese a en...
openSIL, il firmware open-source di AMD ...
Da dove avete scaricato 7-zip? Il vostro...
Fotocamera selfie da 100 megapixel: la n...
Robot aspirapolvere in super offerta su ...
Addio a GPT-4o, il modello empatico (e p...
Razer Boomslang 20th Annyversary Edition...
Nintendo contro la pirateria: bloccati d...
NIS2 entra nel vivo: la soluzione di Cyn...
xAI perde due cofondatori in due giorni:...
Robot aspirapolvere Mova Z60 Ultra Rolle...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:25.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v