|
|||
|
Che differenza c'è tra il C, C++, C# e C.net
Come da titolo, qual'è la differenza?
Ok tra i primi due più o meno la sò, ma tra gli altri? Grazie
__________________
1x PSP, 2x XBOX, 1x XBOX360, 2x PS2, 1x GAMECUBE, 1x PSX, 1x TV LCD SAMSUNG 32" |
|
|||
|
.NET è una piattaforma sviluppata da Microsoft. Sostanzialmente un eseguibile contiene un codice intermedio al posto del codice macchina, richiedendo quindi una VM per poter funzionare (modello Java per intenderci).
Ovviamente ha i suoi vantaggi: 1) l'eseguibile può essere eseguito ovunque, basta che sia installata la VM, senza bisogno di ricompilare il codice 2) il codice eseguito è "sicuro" in quanto normalmente non è possibile accedere ad aree critiche della memoria 3) puoi volendo accedere ad aree critiche come faresti in C/C++, ma per farlo occorre attivare una opzione del compilatore e dichiarare nel codice che quella parte del codice non verrà controllata dalla VM (questa è la differenza + importante da Java che ad esempio non lo consente) 4) Migliore gestione della memoria grazie ad un garbage automatico E i suoi svantaggi: 1) Essendo fatto da microsoft sicuramente loro nn forniranno mai la VM per altri OS, anche se ci sono degli ottimi progetti alternativi (Mono ad esempio) 2) Sono + lenti rispetto a codice scritto in C/C++ in quanto vanno interpretati 3) Il garbage automatico rischia di crearti problemi se usi i puntatori (devi usare degli accorgimenti, altrimenti rischi che venga liberata la memoria su cui volevi lavorare con i puntatori) Se intendi scrivere codice per la piattaforma .NET qualsiasi linguaggio va bene (VB.NET, C++.NET, C#) e solo i tuoi gusti personali devono farti decidere cosa usare... C# è stato pensato apposta per il .NET e quindi è il + indicato per questa piattaforma. C++.NET te lo sconsiglio, usa C++ normale che è meglio |
|
|||
|
Grazie 1000 raga, sempre veloci ed esaurienti.
Ma se io li avessi a dispostizione tutti e quattro, quale mi consigliereste di aprofondire e studiare di più?
__________________
1x PSP, 2x XBOX, 1x XBOX360, 2x PS2, 1x GAMECUBE, 1x PSX, 1x TV LCD SAMSUNG 32" |
|
|||
|
Si ma dopo non vorrei fare un casino bestiale... e poi per fare gli homebrew serve il c, il c++ non va bene...
__________________
1x PSP, 2x XBOX, 1x XBOX360, 2x PS2, 1x GAMECUBE, 1x PSX, 1x TV LCD SAMSUNG 32" |
|
|||
|
Ah, quindi posso usare benissimo il C++ per fare homebrew...
No perchè me l'hnno fatto studiare per tutto un'anno a scuola e sono molto più bravo in c++ che in c (anche se sono quasi uguali).
__________________
1x PSP, 2x XBOX, 1x XBOX360, 2x PS2, 1x GAMECUBE, 1x PSX, 1x TV LCD SAMSUNG 32" |
|
||||
|
C++ a vita, e se proprio hai bisogno di implementare codice o header in c (eh già a volte il compilatore c++ non digerisce che tu scriva istruzioni in c nel sorgente...) ti impari come castarli all'interno del tuo bel file sorgente (qualcuno suggerisce extern C {}
) Se poi vuoi programmare per pc, hai solo l'imbarazzo della scelta. |