|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
C++ vs C#
Ciao,
sto studiando il C# sul libro "Microsoft Visual C# 2010 Step by Step" di John Sharp (Microsoft Press), avendo una conoscenza del C++ che non definirei buona ma neanche basilare, ci faccio calcoli numerici e ho creato una calcolatrice in Qt. Quello che vorrei sapere è: c'è un libricino (o meglio, un articolo su qualche sito/blog) che riassuma le differenze tra C++ e C#? Io me le sto scrivendo a mano, capitolo per capitolo, ma vorrei un elenco completo visto che non ci sarà scritto tutto in questo libro... Grazie! with L920 |
![]() |
![]() |
![]() |
#2 | |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21805
|
Quote:
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Quote:
Nella tua enorme esperienza di programmatore ti sei mai imbattuto in documenti simili a quello che cerco? Se sì, mi lasceresti un link, un nome di autore, un indizio criptato? Non mi pare di chiedere la luna. |
|
![]() |
![]() |
![]() |
#4 | |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21805
|
Quote:
Comunque in commercio si dovrebbero trovare dei manuali di programmazione specifici per il passaggio di linguaggio prova a darci un occhiata cmq rimanendo in tema di quello che dici (ovvero c++ e qt vs c#) inanzitutto bisogna partire con il dire che non conosco minimamente i vincoli dell'sdk di windows phone (non sono tanto i limiti del linguaggio quanto quelli del framework) comunque per fare un breve elenco si può dire che ad esempio
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Quote:
A livello generale diciamo che definirlo un linguaggio totalmente diverso come approcio rispetto al C++ non mi trova propriamente daccordo. È un linguaggio sicuramente per molti aspetti diverso, decisamente più moderno (non per questo migliore in assoluto) quindi si avvale di una serie di strumenti sconosciuti al C++, una gestione dei tipi secondo me più valida, un sistema di garbage collector, una predisposizione per la logica degli eventi e molte altre cosine che se viste nel dettaglio aumentano a dismisura le differenze. Se poi però si parte dalle basi del linguaggio come stai facendo tu (per quando riguarda il C#) e si procede per step vedrai che ti sarà estremamente naturale passare dal C++ al C#. Una serie di differenze comunque le trovi nel canale MSDN, se la trovo te la posto... |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Ok vi ringrazio, più avanti trascriverò la mia lista (che è solo agli inizi) per farvi capire meglio cosa intendo
![]() |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Ecco le foto delle 3 paginette che finora ho riempito con le cose che mi hanno colpito, leggendo questo libro sul C#:
http://sdrv.ms/Re5bLl http://sdrv.ms/TZAe8f http://sdrv.ms/YknekY Quello che cerco io son differenze più che altro di sintassi. Ad esempio, nella prima foto si vede che in C++ è valido scrivere Codice:
if (myInt) Codice:
if (myInt != 0) Codice:
for (int i = 0, int j = 0; i < 10, j < 5; ++i, ++j) E altre cose così. Ovviamente sulla lista ci sono anche altre differenze, di struttura del linguaggio (no metodi "globali", tutto incapsulato in una classe, ecc) ma per convertire la mia calcolatrice mi serve anche tener d'occhio le subdole variazioni sintattiche ![]() |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Secondo me l'approccio non`è propriamente ideale. Il fatto che ci si trovi bene a passare da C++ e C# non significa che siano linguaggi da affrontare in maniera analoga. Ora come ora mi sembra che tu stia cercando di convertire solo la sintassi, quando dovresti invece imparare a programmare in C#.
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Quote:
![]() Come detto nel 1° post, vorrei una lista tipo la mia ma completa, se esiste. |
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Quote:
|
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
|
Ognuno può approcciare come vuole alla programmazione ma questa tua guida, fidati, non ha molto senso.
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Ok mi fido, ma continuerò visto che l'ho cominciata. Più che altro trovare le differenze mi aiuta a ricordare cosa c'è in comune e mi risparmia di dover memorizzare cose nuove.
Esempio: il costrutto switch è uguale al C++, tranne che accetta string e...per un'altra differenza che non mi sono annotato, infatti non ricordo ![]() ![]() |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Apr 2010
Messaggi: 1710
|
Con C # se vuoi creare un'interfaccia grafica ti conviene usare Visual Studio.
__________________
NEW : Java problema pannello con barra scorrimentonew :Insert pag paypal PHP Basi x notebook cinesi Cerco notebook HP PHP problemi formattazione pagina SELECT Query PHP problem Problema Redirect PHP Project wi-fi Cerco PC C# Dictionary problem |
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Quote:
![]() Comunque nel C# non puoi passare da un'etichetta case all'altra semplicemente non mettendo l'istruzione break. A parte in un caso particolare cioè quando una determinata etichetta è proprio vuota (non ha alcun corpo né break). Nel C++ invece una etichetta case può avere un corpo senza un successivo break, e in questa maniera passa direttamente l'istruzione all'etichetta successiva. Non so se mi sono spiegato bene ![]() |
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#18 | |
Member
Iscritto dal: Nov 2012
Messaggi: 126
|
Quote:
http://msdn.microsoft.com/en-us/libr...(v=vs.90).aspx Anche se trovo lodevole l'iniziativa (denota interesse e dedizione, e questo non è mai male), è meglio farti notare subito che quel documento deve essere per te più una momentanea "curiosità" che non una guida allo studio di quali-che-siano certe differenze che noti/incontri. Quello che voglio dire è che queste notevoli somiglianze nelle due sintassi ti stanno traendo in inganno, facendoti concentrare prematuramente su questioni che a questo punto potresti ignorare per dedicarti invece ad argomenti ben più interessanti e sostanziosi. Nel tuo caso, sarebbe molto più proficuo: - continuare a studiare e praticare (leggi: scrivere molti programmi!) uno solo dei due linguaggi[*], e... - farsi domande di carattere più generale (cosa c'è "dietro" una certa sintassi, la grammatica nei linguaggi formali, cosa è un modello computazionale, ...), anche se inizialmente solo ad un livello introduttivo. Quando si hanno più esperienza e maggiori conoscenze, certi raffronti acquistano un significato completamente diverso e diventano a quel punto si produttivi ed interessanti. [*] imparare inizialmente da più linguaggi e relativi diversi modelli computazionali è possibile, e anzi sarebbe auspicabile se si avesse a disposizione chi ti guida nel farlo. Per l'autodidatta senza guida però è un percorso che rischia di produrre più confusione che benefici. Ultima modifica di van9 : 29-11-2012 alle 13:18. |
|
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: May 2008
Messaggi: 429
|
opinione personale: facendo in questo modo non comprendi le potenzialità di C#, che non sono la differenza della sintassi o il poter fare dei cicli multipli, ma il fatto di avere dietro il .NET Framework e capirne le potenzialità.
|
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Grazie mille
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:21.