Newsgroup: it.comp.programmare.win32
Titolo: [.NET] C# Vs C++ .Net

Ciao a tutti.
Leggevo i vari post su Vb.Net e C#. Io sono impegolato con VC++ e
michiedevo la differenza tra i due linguaggi in oggetto sia dal punto
di vista sintattico/logico che dal punto di vista della facilità di
utilizzo...
Se qcuno li ha provati mi da un'idea?
Io li ho in ufficio (Visual Studio .Net) ma non posso usarli (perchè
li ho comprati solo per usarne la licenza su Visual Studio 6.0) al
momento ma mi toccherà...e non sceglierò io se C++.Net o C#...
Grazie per l'"ascolto",
Al3x

 Se qcuno li ha provati mi da un'idea?
Differenze sintattiche prossime al nulla. Differenze logiche qualcosina:
C# è più orientato alla programmazione a componenti essendo praticamente
nato per quello scopo (il c++ si sente che inizia ad esser vecchio).

 
Non credo si tratti di una differenza di età.
E' vero che C# è probabilmente il linguaggio più "vicino" alle 
funzionalità del CLR mentre i linguaggi pre-esistenti e adattati a 
questo ambiente sono stati modificati togliendo (è il caso di C++, se 
lo usi come "managed" C++) o aggiungendo funzionalità (è il caso di 
VB.net).
C++ è, per certi aspetti, un linguaggio di livello più basso rispetto a 
C# (gestione diretta dell'allocazione della memoria, puntatori), ma 
fornisce anche funzionalità che C# non prevede (programmazione 
generica) o prevede in modo più limitato (derivazione multipla).
Altre differenze "random":
Tutti gli oggetti C# tranne i tipi base devono essere dichiarati 
dinamicamente con una new.
In C# i tipi base possono essere utilizzati anche come oggetti.
Inoltre C# (come java) pretende che tutto il codice della classe sia 
scritto inline nella dichiarazione.
In C# esistono funzioni delegate ed eventi.
Differenze pratiche:
In c# è possibile realizzare le schermate in modalità RAD, mentre un 
editor simile non è ancora disponibile per C++ (dovrebbe essere 
disponibile nella prossima release di VS.net).
Non è possibile realizzare applicazioni CLR in C++ utilizzando il 
Compact Framework (versione del .net framework per windows CE).
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

 VB.net).
Quello che intendevo con "il c++ si sente che inizia ad esser vecchio" era
proprio il fatto che non essendo nato per inserirsi in una generica CLI il
suo inserimento nel framework .net è un po' "forzato".

 ha scritto nel messaggio
news:9a381e97.02112...@posting.google.com...

Visual C++ 7.0 genericamente .NET è composto dalla nuova versione del
compilatore C++ con supporto codice nativo win32 MFC e  ATL con il quale
proseguire i progetti in codice nativo (Anche se pare avere qualche piccolo
fastidio nella creazione dei simboli delle DLL) e le managed extension
(Managed C++)  che permettono di usare la sintassi del C++ all'interno del
Common Language Runtime. Queste estensioni modificano sostanzialmente la
filosofia del C++ imponendo la presenza di un Garbage Collector, togliendo
l'ereditarietà multipla, le STL. In aggiunta il Common Type System si
preoccupa di rimapparti i tipi di dati in 
classi.net
 esempio il **char può
benissimo diventare un System.Array ed offrirti quindi dei metodi e delle
proprietà.
Il C#, come in precedenza java, riprende la sintassi del C, dandogli una
moderna impostazione orientata agli oggetti. Per motivi di prestazioni in
compilazione (Il mondo managed è normalmente compilato Just In time) è stato
necessario per entrambi i linguaggi togliere l'ereditarietà multipla, che,
oltre al resto, dava spesso adito a problemi di cross referencing. Molti
costrutti sintattici del C# mancano al C++ e lo rendono un linguaggio
gradevole da usare, molto ben orientato allo sviluppo rapido e orientato ai
componenti.

 componenti.
Beh non male come descrizione ^_^!
Non so se essere felice o meno del mancato supporto all'ereditarietà
multipla...
Spero solo ch questo muro non sia troppo duro quando dovrò per forza
sbatterci la testa sopra!
Ciao, Al3x