Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-02-2008, 20:08   #1
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9948
Devo cambiare modo di pensare per passare ai linguaggi ad oggetti?

Insomma passare da linguaggio C a Java o C++ o C#.
Occorre cambiare filosofia giusto?
Cosa consigliate x approciarsi al OO?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2008, 20:09   #2
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Questo: http://www.python.it/doc/Howtothink/...l-it/index.htm
__________________
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 08-02-2008, 20:41   #3
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
questo:
Codice:
rm -rf /brain/programming
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2008, 20:51   #4
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9948
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
questo:
Codice:
rm -rf /brain/programming
Ehm al max:
Quote:
tar cvf languageC.tar *.c
Che non si sa mai!

Sto scaricando sul P2P le lezioni Uninettuno di Java, vedo se da li tiro fuori qualcosa di buono.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2008, 20:52   #5
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9948
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Ma devo partire dall'INTRO dici?!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2008, 21:30   #6
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Personalmente ritengo Java un linguaggio migliore nel paradigma Object oriented di python.

In python non esiste il concetto di visibilità di attiributi e metodi nelle classi e supporta l'ereditarietà multipla.

Java mi piace molto di più da questo punto di vista. Ha 3 livelli di visibilità , non supporta ereditarietà multipla, ma ha le interfacce che permettono un' più accurato design object oriented rispetto a python. Inoltre venendo dal C non avrai problemi a trovarti subito con la sintassi di Java .

Io dico Java.

Ciao

PS = Ah, un altra cosa. Python permette letteralmente di aggiungere attributi e metodi dopo che la classe è stata instanziata ... anche questo non mi piace molto a livello di rigorosità del paradigma object oriented.
__________________
GPU Compiler Engineer

Ultima modifica di AnonimoVeneziano : 08-02-2008 alle 21:40.
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2008, 21:35   #7
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
Ma devo partire dall'INTRO dici?!
Se vuoi imparare il linguaggio, sì. Se t'interessa soltanto la programmazione a oggetti, puoi partire dal capitolo 12 http://www.python.it/doc/Howtothink/...-it/chap12.htm che è sufficientemente chiaro per chi mastica già un po' di programmazione.
__________________
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 08-02-2008, 21:36   #8
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9948
Quote:
Originariamente inviato da AnonimoVeneziano Guarda i messaggi
Personalmente ritengo Java un linguaggio migliore nel paradigma Object oriented di python.

In python non esiste il concetto di visibilità di attiributi e metodi nelle classi e supporta l'ereditarietà multipla.

Java mi piace molto di più da questo punto di vista. Ha 3 livelli di visibilità , non supporta ereditarietà multipla, ma ha le interfacce che permettono un' più accurato design object oriented rispetto a python. Inoltre venendo dal C non avrai problemi a trovarti subito con la sintassi di Java .

Io dico Java.

Ciao
Si ma infatti Java è l'anti C++, non so se anche del C#, ma non mi pare.
Eterna gara chi è meglio tra C++ e Java, ma io a priori sono per Java.

Il fatto NON è che linguaggio imparare, ma come devo vedere le cose mentalmente.

Non è + 1 include di librerie, ma qui si importano le classi.
1 oggetto è 1 istanza della classe, cioè quando faccio new.
Devo fare sempre il catch delle eccezioni.
Posso estendere le classi esistenti, questo dovrebbe dare ereditarietà, mi pare.

CMQ mi sento deficiente col Java ... mi sembra tutto così strano ...
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2008, 21:39   #9
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Se vuoi imparare bene l'object oriented non ritengo il C++ il miglior linguaggio con cui partire perchè risulta essere piuttosto confuso da quel punto di vista, per lo meno molto più sia di Java che di Python.

Io ti consiglio di partire da Java, visto che sai il C per approdare al C++ c'è sempre tempo eventualmente dopo (e una volta imparato il Java sarà ancora più semplice Con questo però non voglio dire che sarà una passeggiata padroneggiare il C++)

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2008, 21:41   #10
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9948
E poi perchè ai colloqui mi chiedono se so usare il Java2 enterprise? Che caz cambia dal Java normale? Cosa intendono?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2008, 21:46   #11
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Java enterprise è un estensione delle librerie di Java per programmare applicazioni in campo enterprise attraverso strumenti come gli Enterprise JavaBeans , JTA e JMS.

Sono solo strumenti in più a disposizione rispetto all'edizione standard. Se vuoi imparare Java devi comunque partire dalla Java SE

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2008, 21:46   #12
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da AnonimoVeneziano Guarda i messaggi
Personalmente ritengo Java un linguaggio migliore nel paradigma Object oriented di python.

In python non esiste il concetto di visibilità di attiributi e metodi nelle classi
Sono tutti pubblici, è vero, ma in Java, C++, Delphi, ecc. puoi comunque "fregare" il linguaggio nel caso di dichiarazioni protected, usando i cracker (e volendo, conoscendo certi dettagli interni, anche quelli privati).
Quote:
e supporta l'ereditarietà multipla.
Perché sarebbe un male?
Quote:
Java mi piace molto di più da questo punto di vista. Ha 3 livelli di visibilità ,
Fino a qui, vedi sopra.
Quote:
non supporta ereditarietà multipla, ma ha le interfacce che permettono un' più accurato design object oriented rispetto a python.
Le interfacce sono perfettamente emulabili grazie all'ereditarietà multipla. Il viceversa ovviamente non è vero.
Quote:
Inoltre venendo dal C non avrai problemi a trovarti subito con la sintassi di Java .
Sintassi poco leggibile e prona a produrre codice offuscato.

Meglio una sintassi semplice e più leggibile.
Quote:
Io dico Java.

Ciao

PS = Ah, un altra cosa. Python permette di aggiungere attributi e metodi alle classi andandoli ad aggiungere letteralmente dopo che la classe è stata instanziata ... anche questo non mi piace molto a livello di rigorosità del paradigma object oriented.
Dove sta scritto che il paradigma OO prevede rigorosamente la non mutabilità del comportamento di un oggetto? Da nessuna parte mi pare.

Anzi, un linguaggio dinamico come Python permette di approcciarsi alla programmazione OO in maniera decisamente più "naturale", poiché è sufficiente che un oggetto esponga una determinata interfaccia (metodi, attributi) affinché si possa dire che si comporti come tale.

Mi spiego meglio con un esempio molto semplice. Se voglio che un oggetto si comporti come un file / stream, è sufficiente che esponga il metodo read(): in questo modo posso passarlo a tutte le funzioni/metodi che si aspettano un file come parametro, e che su di esso invocheranno il metodo read() per leggerne i dati.
Io posso aggiungere un metodo read() a un'istanza o a un'intera classe (e quindi ereditato automaticamente da tutte le sue istanze) in qualsiasi momento, e in questo modo si "comporterà" come un file / stream.

Tutto ciò con un linguaggio come C++ o Java NON è fattibile, perché ogni istanza discende da una ben precisa classe che è assolutamente immutabile.
__________________
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 08-02-2008, 22:00   #13
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7263
java è il miglior linguaggio che io abbia mai conosciuto per entrare nella mentalità object oriented. a volte ti costringe proprio
python è multiparadigma e quindi lo scarterei
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2008, 22:05   #14
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Sono tutti pubblici, è vero, ma in Java, C++, Delphi, ecc. puoi comunque "fregare" il linguaggio nel caso di dichiarazioni protected, usando i cracker (e volendo, conoscendo certi dettagli interni, anche quelli privati).

Perché sarebbe un male?

Fino a qui, vedi sopra.

Le interfacce sono perfettamente emulabili grazie all'ereditarietà multipla. Il viceversa ovviamente non è vero.

Sintassi poco leggibile e prona a produrre codice offuscato.

Meglio una sintassi semplice e più leggibile.

Dove sta scritto che il paradigma OO prevede rigorosamente la non mutabilità del comportamento di un oggetto? Da nessuna parte mi pare.

Anzi, un linguaggio dinamico come Python permette di approcciarsi alla programmazione OO in maniera decisamente più "naturale", poiché è sufficiente che un oggetto esponga una determinata interfaccia (metodi, attributi) affinché si possa dire che si comporti come tale.

Mi spiego meglio con un esempio molto semplice. Se voglio che un oggetto si comporti come un file / stream, è sufficiente che esponga il metodo read(): in questo modo posso passarlo a tutte le funzioni/metodi che si aspettano un file come parametro, e che su di esso invocheranno il metodo read() per leggerne i dati.
Io posso aggiungere un metodo read() a un'istanza o a un'intera classe (e quindi ereditato automaticamente da tutte le sue istanze) in qualsiasi momento, e in questo modo si "comporterà" come un file / stream.

Tutto ciò con un linguaggio come C++ o Java NON è fattibile, perché ogni istanza discende da una ben precisa classe che è assolutamente immutabile.
Bel papiro.

Ma io sto parlando di apprendimento non di potenza in generale.

Puoi craccare gli attributi protected e private? Bene, ma è una forzatura, non è la norma per il linguaggio. Il linguaggio ti guida verso un altra strada.

L'ereditarietà multipla porta,per chi non ha mai usato il paradigma object oriented, a mostruosi errori come schemi di ereditarietà a rombo .
Si può fare benissimo a meno dell'ereditarietà multipla e didatticamente non è il massimo.

Le interfacce sono uno strumento fantastico in Java . Formalizzano in maniera chiara il comportamento di una classe permettendo di separare nettamente l'implementazione dal comportamento. Tutto a favore di leggibilità e apprendimento al contrario dell'"emulazione" (come già dice il nome) tramite ereditarietà multipla.

Per quanto riguarda la sintassi ... beh, a me la sintassi di Python aborre . Ritengo Python un linguaggio dai tanti lati positivi, ma la sintassi per me non è uno di quelli. La sintassi è una questione di gusto comunque, ormai è provato da lunghe discussioni in questo stesso forum che non è un parametro di valutazione oggettivo valido.

Per l'ultima parte ... beh,non sta scritto da nessuna parte, ma didatticamente a mio parere può confondere non definendo bene la strada da seguire per creare un buon progetto OO , portando magari a ragionamenti come : " adesso definisco la classe, dopo una volta istanziata la classe ci aggiungo attributi e metodi", che per me sono sbagliati . Un oggetto è un entità con delle sue proprietà ed è importante che uno impari a definirle fin da subito.

Saluti
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2008, 22:07   #15
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
E poi perchè ai colloqui mi chiedono se so usare il Java2 enterprise? Che caz cambia dal Java normale? Cosa intendono?
e cmq lascia perdere ASSOLUTAMENTE J2EE.
Parti direttamente da JEE5 che è molto meglio.

(solo qua in italia ai colloqui possono chiedere ancora di J2EE )
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2008, 22:09   #16
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
e cmq lascia perdere ASSOLUTAMENTE J2EE.
Parti direttamente da JEE5 che è molto meglio.

(solo qua in italia ai colloqui possono chiedere ancora di J2EE )
Ehm, credo che ai colloqui di lavoro con J2EE si riferiscano a JEE
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2008, 22:13   #17
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
java è il miglior linguaggio che io abbia mai conosciuto per entrare nella mentalità object oriented. a volte ti costringe proprio
Hai dimenticato SmallTalk.
Quote:
python è multiparadigma e quindi lo scarterei
Ne abbiamo già discusso n volte, con n sufficientemente grande da non lasciar dubbi su com'è fatto Python e come funziona, ma vedo che puntualmente ritorni con lo stesso ritornello.

Ripeti con me: in Python ogni elemento è un oggetto e ciò che si può fare (leggi: i paradigmi che si possono usare) dipende strettamente dal modo in cui li usi.
__________________
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 08-02-2008, 22:14   #18
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9948
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
e cmq lascia perdere ASSOLUTAMENTE J2EE.
Parti direttamente da JEE5 che è molto meglio.

(solo qua in italia ai colloqui possono chiedere ancora di J2EE )
Pensa che io pensavo fosse JSP/Servlet/Tomcat ...
CMQ mi ricodo che 8 anni fa cercavano programmatori Java con J2ee ed adesso cercano ancora quelli.
Come mai? Siamo sempre alla rincorsa di qualcosa?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 08-02-2008 alle 22:17.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2008, 22:16   #19
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9948
C'è qualcuno tra di voi che quando la prox settimana (lun o già dom sera) inizio a smanettare in Java i offre da farmi da mentore?!

[PS]
Ma la fisolofia della programmazione OO qual'è?
Che esistono solo oggetti che comunicano tra loro?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2008, 22:19   #20
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9948
UE!
Non bisticciate sui linguaggi di programmazione Turing completi!
Non è il caso! Ogni uno usa quello che gli piace!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Space Pioneer ha annunciato le cause del...
Anthropic avrebbe nuovi antibiotici cont...
Scoperto un 'moltiplicatore nascosto' ne...
DREO: a IFA 2026 4 novità fra cui...
Slackbot genera dashboard e microsite de...
Idrogeno, nuova cella a combustibile rag...
Con la NASA fuori dai giochi, l'ESA risc...
Una falla di ChatGPT permette di estrapo...
Piano clima, 1,34 miliardi per il bonus ...
Porsche esce definitvamente da Bugatti R...
NVIDIA App aggiunge una delle funzioni p...
Come sarebbe il mondo se la luce viaggia...
Titanio, ceramica e zaffiro per HUAWEI W...
Taglio delle accise sul gasolio prorogat...
Universal e ElevenLabs: una piattaforma ...
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: 19:45.


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