Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Borderlands 4, tra divertimento e problemi tecnici
Recensione Borderlands 4, tra divertimento e problemi tecnici
Gearbox Software rilancia la saga con Borderlands 4, ora disponibile su PS5, Xbox Series X|S e PC. Tra le novità spiccano nuove abilità di movimento, un pianeta inedito da esplorare e una campagna che lascia al giocatore piena libertà di approccio
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
NXTPAPER 60 Ultra è il primo smartphone con tecnologia NXTPAPER 4.0 per il display, un ampio IPS da 7,2 pollici. Con finitura anti-riflesso, processore MediaTek Dimensity 7400, fotocamera periscopica e modalità Max Ink per il detox digitale, NXTPAPER 60 Ultra punta a essere il riferimento tra gli smartphone pensati per il benessere degli occhi.
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Questo mouse ultraleggero, con soli 36 grammi di peso, è stato concepito per offrire un'esperienza di gioco di alto livello ai professionisti degli FPS, grazie al polling rate a 8.000 Hz e a un sensore ottico da 33.000 DPI. La recensione esplora ogni dettaglio di questo dispositivo di gioco, dalla sua agilità estrema alle specifiche tecniche che lo pongono un passo avanti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-01-2008, 20:51   #61
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7254
Quote:
Originariamente inviato da mad_hhatter Guarda i messaggi
nell'esempio in C++ le cose vanno diversamente perche' la semantica dell'operatore di assegnamento e' diversa da java.

Nella versione java stai dicendo:
"prendi il rimerimento number e fallo puntare a questo nuovo oggetto". ovviamente number e' una copia e il riferimento originario (quello del chiamante) non viene toccato.

In C++:
ti fai dare l'indirizzo di un'entita' e poi dici: all'entita' presente a quell'indirizzo fai assumere questo valore

il che mi sembra assomigliare molto a quello che, in java, si fa partendo dal riferimento a un oggetto che contiene un dato membro e si cambia il valore di quest'ultimo.

nota che ho detto assomigliare, non "essere esattamente la stessa cosa"
no perchè in C++ puoi usare variabili normali, puntatori o oggetti, quello che vuoi, ma ottieni sempre lo stesso risultato. non farti ingannare dal fatto che ho usato un int e non un oggetto

ps. devo scappare se non mi sono spiegato bene mi spiegherò meglio un'altra volta :P
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 20:54   #62
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
no perchè in C++ puoi usare variabili normali, puntatori o oggetti, quello che vuoi, ma ottieni sempre lo stesso risultato. non farti ingannare dal fatto che ho usato un int e non un oggetto

ps. devo scappare se non mi sono spiegato bene mi spiegherò meglio un'altra volta :P
vorrei chiederti se, nel tuo esempio C++, number = anotherNumber sovrascrive l'area di memoria puntata da &number o se viene modificato il valore del puntatore per puntatre al nuovo oggetto.


e comunque, e' chiaro che java e c++ sono molto diversi, ma io sto parlando appunto di soli oggetti e in maniera del tutto concettuale.

Ultima modifica di mad_hhatter : 19-01-2008 alle 21:03.
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 21:00   #63
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
quando, in C++, faccio un passaggio di un parametro per riferimento, nello stack cosa viene memorizzato? l'indirizzo del parametro? o l'indirizzo a cui si trova un puntatore ad esso?

in java, per quanto posso immaginare, nello stack finisce una copia dell'indirizzo dell'oggetto, cioe', appunto, una copia del valore del suo reference
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 21:02   #64
kingmastermind
Junior Member
 
Iscritto dal: May 2007
Messaggi: 29
Un aiutino grazie

Scusate se mi intrometto nel forum, ma visto che ho la fortuna di potere chiedere a degli esperti di [Java], volevo sapere secondo la vostra esperienza se in termini di calcolo Moltiplicazioni, divisioni, somme ecc. questo linguaggio, a me sconosciuto, possa essere paragonabile o superiore al [C++] o al [C#]! Vi chiedo questo perchè sono sinceramente interessato al linguaggio ma ho sempre creduto che fosse inferiore in termini di calcolo puro rispetto al [C]! Grazie comunque!
kingmastermind è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 21:06   #65
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da kingmastermind Guarda i messaggi
Scusate se mi intrometto nel forum, ma visto che ho la fortuna di potere chiedere a degli esperti di [Java], volevo sapere secondo la vostra esperienza se in termini di calcolo Moltiplicazioni, divisioni, somme ecc. questo linguaggio, a me sconosciuto, possa essere paragonabile o superiore al [C++] o al [C#]! Vi chiedo questo perchè sono sinceramente interessato al linguaggio ma ho sempre creduto che fosse inferiore in termini di calcolo puro rispetto al [C]! Grazie comunque!
a parte il fatto che grazie al compilatore JIT java non e' piu' dichiarabile "sempre piu' lento rispetto al C/C++", credo che per quanto riguarda la pura esecuzione di una operazione aritmetica, usando appunto il JIT, non ci sia alcuna differenza di prestazioni
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 21:06   #66
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
sigh
fek è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 21:08   #67
kingmastermind
Junior Member
 
Iscritto dal: May 2007
Messaggi: 29
Esistono compilatori free e se si quali conviene scaricare! Mi pare di avere sentito parlare di Eclipse o sbaglio? Grazie!
kingmastermind è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 21:13   #68
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da kingmastermind Guarda i messaggi
Esistono compilatori free e se si quali conviene scaricare! Mi pare di avere sentito parlare di Eclipse o sbaglio? Grazie!
per java e' sempre esistito in forma assolutamente gratuita il sdk (detto jdk) con tutto il necessario. se vuoi anche un ide eclipse e' uno dei piu' importanti assieme a netbeans

se vuoi qualcosa di piu' semplice puoi usare jcreator
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 21:14   #69
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da fek Guarda i messaggi
sigh
?
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 21:17   #70
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da kingmastermind Guarda i messaggi
Scusate se mi intrometto nel forum, ma visto che ho la fortuna di potere chiedere a degli esperti di [Java], volevo sapere secondo la vostra esperienza se in termini di calcolo Moltiplicazioni, divisioni, somme ecc. questo linguaggio, a me sconosciuto, possa essere paragonabile o superiore al [C++] o al [C#]! Vi chiedo questo perchè sono sinceramente interessato al linguaggio ma ho sempre creduto che fosse inferiore in termini di calcolo puro rispetto al [C]! Grazie comunque!
le operazioni in floating point pure se non erro sono + lente dato che vengono fatte in emulazione e non in maniera nativa perchè hanno requisiti + stringenti rispetto a quanto utilizzato per il C++.
O almeno era così fino ad un pò di tempo fa, ora sinceramente dovrei informarmi se la situazione è cambiata oppure no.

Per quanto riguarda il tema del topic ora non posso rsp che sto scappando...
se non torno troppo ubriaco rispondo stanotte

__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 21:18   #71
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
tornando IT:

citando dal link di ^TiGeRShArK^: http://www.yoda.arachsys.com/java/passing.html


"reference
The L-value of the formal parameter is set to the L-value of the actual parameter. In other words, the address of the formal parameter is the same as the address of the actual parameter. Any modifications to the formal parameter also immediately affect the actual parameter."

ora, se, concettualmente, pensiamo di passare a un metodo un oggetto (e risottolineao il concettualmente), mi pare che il comportamente in java sia esattamente quello descritto.
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 21:19   #72
kingmastermind
Junior Member
 
Iscritto dal: May 2007
Messaggi: 29
Sono andato velocemente a vedere nei siti in italiano! Cosa vuol dire Abilitare JIT e disabilitarlo? Si tratta forse di una ottimizzazione come in [C++] -O3 -O2 ecc. ?
kingmastermind è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 21:30   #73
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da kingmastermind Guarda i messaggi
Sono andato velocemente a vedere nei siti in italiano! Cosa vuol dire Abilitare JIT e disabilitarlo? Si tratta forse di una ottimizzazione come in [C++] -O3 -O2 ecc. ?
http://en.wikipedia.org/wiki/Just-in-time_compilation
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 21:32   #74
kingmastermind
Junior Member
 
Iscritto dal: May 2007
Messaggi: 29
Grazie infinite ! Buona notte! Domani ci smanetto un poco!
kingmastermind è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2008, 22:25   #75
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da kingmastermind Guarda i messaggi
Esistono compilatori free e se si quali conviene scaricare! Mi pare di avere sentito parlare di Eclipse o sbaglio? Grazie!
25 anni giusto?
fek è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2008, 01:19   #76
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7254
Quote:
Originariamente inviato da mad_hhatter Guarda i messaggi
e tu come lo chiami, in java, il "passaggio di un oggetto" (lo so, non viene passato l'oggetto, ma passami l'abuso di linguaggio)? lo chiami "per valore"?

certo, in C++ sovrascrivi l'oggetto (o almeno questo e' quello che deduco dal tuo esempio), in java non puoi, ok. pero' in java, limitatamente agli oggetti, posso modificarne i membri emulando una sovrascrittura.

di sicuro in java un oggetto non e' passato per valore, quindi io lo chiamo, per semplicita', passaggio per riferimento. sempre concettualemte e consapevole dell'imprecisione.
potresti chiamarlo passaggio per indirizzo come fa qualcuno.. l'unica cosa certa è che non è passaggio per riferimento.
perchè:
Quote:
Originariamente inviato da mad_hhatter
tornando IT:

citando dal link di ^TiGeRShArK^: http://www.yoda.arachsys.com/java/passing.html


"reference
The L-value of the formal parameter is set to the L-value of the actual parameter. In other words, the address of the formal parameter is the same as the address of the actual parameter. Any modifications to the formal parameter also immediately affect the actual parameter."

ora, se, concettualmente, pensiamo di passare a un metodo un oggetto (e risottolineao il concettualmente), mi pare che il comportamente in java sia esattamente quello descritto.
nel caso di java l'L-value del parametro formale e l'L-value del parametro reale sono diversi SEMPRE. tieni conto che i parametri sono variabili e le variabili non contengono MAI oggetti, ma al massimo riferimenti ad essi. se tu vuoi continuare a parlare di oggetti in maniera astratta sappi che non arriviamo da nessuna parte.. java non funziona in maniera astratta
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2008, 01:42   #77
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7254
Quote:
Originariamente inviato da mad_hhatter Guarda i messaggi
vorrei chiederti se, nel tuo esempio C++, number = anotherNumber sovrascrive l'area di memoria puntata da &number o se viene modificato il valore del puntatore per puntatre al nuovo oggetto.


e comunque, e' chiaro che java e c++ sono molto diversi, ma io sto parlando appunto di soli oggetti e in maniera del tutto concettuale.
Codice:
#include <stdio.h>
#include <stdlib.h>

class Integer {
  private:
    int m_number;

  public:
    inline Integer() {m_number = 0;}
    inline Integer(int number) {m_number = number;}
    inline int toInt() {return m_number;}
};

void foo(Integer* &number)
{
  Integer* anotherNumber = new Integer(4);
  number = anotherNumber;
}

int main(int argc, char* argv[])
{
  Integer* number =  new Integer(1);
  foo(number);
  printf("\n%d\n", number->toInt());
  return EXIT_SUCCESS;
}
succede che il risultato è comunque 4 questo è passaggio per riferimento, cioè il parametro è la variabile che viene passata per parametro, non una cosa simile
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2008, 01:43   #78
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
potresti chiamarlo passaggio per indirizzo come fa qualcuno.. l'unica cosa certa è che non è passaggio per riferimento.
perchè:

nel caso di java l'L-value del parametro formale e l'L-value del parametro reale sono diversi SEMPRE. tieni conto che i parametri sono variabili e le variabili non contengono MAI oggetti, ma al massimo riferimenti ad essi. se tu vuoi continuare a parlare di oggetti in maniera astratta sappi che non arriviamo da nessuna parte.. java non funziona in maniera astratta
indirizzo, riferimento... mi spieghi la differenza?
perdonami, ma cos'e' un reference se non un L-value di un particolare oggetto?

possibile che non sia ancora chiaro che non sto parlando di come funziona java, ma sto solo rappresentando il passaggio di parametri (nel solo caso in cui essi siano reference type) "immaginando che" il parametro passato sia l'oggetto e non il suo riferimento (chissa' perche' parliamo di riferimento di un oggetto e io non posso usare il termine passaggio per riferimento visto che, anche tecnicamente, cio' che viene passato e' proprio il riferimento all'oggetto, sia pure soltanto per copia...). E' un modo colloquiale di parlare, se vuoi, o di ragionare in termini spiccioli... ancora, e' un modo per identificare il fatto che l'oggetto non e' passato per copia e, visto che di fatto in java non esiste il passaggio per riferimento, parlando di passaggio per riferimento non introduco ambiguita' o possibilita' di fraintendimenti.
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2008, 01:50   #79
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
Codice:
#include <stdio.h>
#include <stdlib.h>

class Integer {
  private:
    int m_number;

  public:
    inline Integer() {m_number = 0;}
    inline Integer(int number) {m_number = number;}
    inline int toInt() {return m_number;}
};

void foo(Integer* &number)
{
  Integer* anotherNumber = new Integer(4);
  number = anotherNumber;
}

int main(int argc, char* argv[])
{
  Integer* number =  new Integer(1);
  foo(number);
  printf("\n%d\n", number->toInt());
  return EXIT_SUCCESS;
}
succede che il risultato è comunque 4 questo è passaggio per riferimento, cioè il parametro è la variabile che viene passata per parametro, non una cosa simile
tu continui a farmi esempi reali... ho capito che in java il passaggio per riferimento non esiste, mentre in c++ si. non e' questo il punto!

io parlo soltanto a livello di astrazione mentale, nulla di cio' che descrivo avviene realmente, e' solo un modo di immaginare, di SEMPLIFICARE, quello che avviene.

possibile che non mi sia ancora spiegato su questo punto?
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2008, 01:56   #80
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7254
Quote:
Originariamente inviato da mad_hhatter Guarda i messaggi
indirizzo, riferimento... mi spieghi la differenza?
perdonami, ma cos'e' un reference se non un L-value di un particolare oggetto?
no il pezzo che hai quotato prima dal link parla di L-value di una variabile (il parametro), non di un oggetto.
l'L-value è l'indirizzo di memoria della variabile, mentre il reference è il contenuto di una variabile di tipo reference che a sua volta può essere interpretato come L-value di un oggetto. ma considerando che in java le variabili non contengono MAI oggetti allora si può dedurre che il reference non sarà MAI l'L-value di nessuna variabile, ne tantomeno di un parametro. motivo per cui quello che hai quotato dal link è esatto e non porta alle conclusioni a cui sei arrivato.
Quote:
Originariamente inviato da mad_hhatter Guarda i messaggi
possibile che non sia ancora chiaro che non sto parlando di come funziona java, ma sto solo rappresentando il passaggio di parametri (nel solo caso in cui essi siano reference type) "immaginando che" il parametro passato sia l'oggetto e non il suo riferimento (chissa' perche' parliamo di riferimento di un oggetto e io non posso usare il termine passaggio per riferimento visto che, anche tecnicamente, cio' che viene passato e' proprio il riferimento all'oggetto, sia pure soltanto per copia...). E' un modo colloquiale di parlare, se vuoi, o di ragionare in termini spiccioli... ancora, e' un modo per identificare il fatto che l'oggetto non e' passato per copia e, visto che di fatto in java non esiste il passaggio per riferimento, parlando di passaggio per riferimento non introduco ambiguita' o possibilita' di fraintendimenti.
già il fatto che immagini di passare l'oggetto è sbagliato in sè, ma anche ammettendo di poterlo immaginare crei fraintendimenti perchè il concetto di passaggio per riferimento è un concetto generale che non si applica solo a java, ma ai linguaggi in generale (la definizione mica l'ho inventata io). se tu mi dici che in java gli oggetti vengono passati per riferimento allora io potrei scrivere una cosa come quella che ho appena scritto in C++ e pretendere che funzioni, invece non funziona.
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale TCL NXTPAPER 60 Ultra: lo smartphone che trasfor...
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming Un fulmine sulla scrivania, Corsair Sabre v2 Pro...
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni Nokia Innovation Day 2025: l’Europa ha bisogno d...
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza Sottile, leggero e dall'autonomia WOW: OPPO Reno...
Disagi al traffico aereo europeo: le ind...
Intel in crisi chiama Apple: un riavvici...
Snapdragon X2 Elite Extreme, il cuore de...
Snapdragon 8 Elite Gen 5 è il nuovo rife...
Bombe Apple su Amazon: iPhone di scorsa ...
Micron: memoria HBM4 a 11 Gbps e patto d...
NVIDIA rende Audio2Face open source: ecc...
Logitech Signature Slim Solar K980+: 10 ...
Disney Plus aumenta i prezzi: si parte d...
Intel XeSS con Multi Frame Generation: u...
iPhone 16 a soli 700€ su Amazon: stile e...
Signature Slim Solar+ K980, la nuova tas...
Logitech MX Master 3S, il mouse perfetto...
Borderlands 4 per Switch 2 rinviato a te...
Reddit studia con Google una partnership...
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: 06:01.


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