Impara C ++ prima / allo stesso tempo di C #? [chiuso]

5

Al momento sto imparando C #, ma mi chiedo se sia utile imparare qualche C ++ prima / allo stesso tempo per capire meglio i concetti? Ho un libro in C ++ e sembra piuttosto utile, specialmente per la spiegazione di puntatori e riferimenti.

    
posta Zivka 12.04.2012 - 10:55
fonte

5 risposte

15

No, non sarebbe di aiuto.

C # e C ++ sono lingue molto diverse, potrebbero avere sintassi simili ma è lì che si fermano le loro somiglianze. Ora, se già avessi familiarità con C ++, sì, quella conoscenza sarebbe utile (ma non richiesta) durante l'apprendimento di C ++ o di qualsiasi altra lingua, davvero.

    
risposta data 12.04.2012 - 11:00
fonte
8

Dichiarazione di non responsabilità: lavoro in entrambe le lingue (e altre ancora) su base giornaliera.

Quando stavo studiando CompSci all'università (studiando Comp Sci e sviluppo giochi), il curriculum che usavano ci insegnava C # nel primo anno (per ottenere le basi di CompSci e sviluppo software), passammo al C ++ nel secondo anno (in modo che potessimo studiare, quelli che chiami "i concetti" e alcuni dei Comp Sci hardcore) e nel terzo anno passammo a C e Assembly (in modo che potessimo vedere la differenza che velocità ed efficienza fanno al design e la quantità di lavoro che devi inserire)

Avevo già studiato un po 'di Assembly e C durante i miei studi universitari (sono inglese, quindi avevo 18 anni all'epoca, ho studiato elettronica e telecomunicazioni, se vi state chiedendo). Così, quando sono arrivato a Uni, avevo già capito perché certi aspetti di C # erano stati progettati in quel modo (ammettiamolo, era di nuovo nel '04 e la lingua è cambiata parecchio da allora).

Oh, a proposito, ho anche studiato giapponese presso Uni, anche

Non riesco a immaginare come sarebbe studiarli entrambi allo stesso tempo. Suppongo che dipenda da quanto in basso vuoi fare la tana del coniglio, ma per ora evito il C ++ perché potresti finire per cercare di imparare troppo tutto in una volta. Alcune persone possono farlo, ma la maggior parte delle persone non può - Non sto cercando di offendere nessuno, ma è così.

Avevo un amico in Uni (che era nuovo allo sviluppo del software) che ha deciso, durante le prime settimane, che voleva scrivere il proprio sistema operativo e che C # non l'avrebbe tagliato. Così, è andato in biblioteca a leggere su C ++ e C. Per essere onesti, ha studiato molto duramente e ha imparato molto sulla famiglia C. Tranne che ha fallito tutti i suoi incarichi (per averli programmati tutti in un ibrido C ++ / C #) e non è mai arrivato da nessuna parte con il suo sistema operativo (per essere uno studente del primo anno con idee grandiose). Ha finito per abbandonare, dopo aver preso il primo anno altre due volte.

Suppongo che il punto che sto cercando di fare sia: è bello che tu abbia l'entusiasmo di imparare e progredire ("... chiedendo se sia utile imparare qualche C ++ prima / allo stesso tempo .. . ") e che vi serviranno bene nel mondo del lavoro (dalla mia esperienza, comunque. Dato che i datori di lavoro tendono a preferire gli sviluppatori che sono disposti a imparare). Ma devi stare attento a non confonderti imparando troppe cose tutte insieme.

È bello avere più di un singolo strumento sulla cintura, ma la capacità di sapere e capire (e questo è il punto chiave) perché questi strumenti differiscono e quando li usi è più importante e utile.

Ad esempio: riesco a far saltare un programma client / client di base in pochi minuti usando C # e .NET e utilizzerò tutta la gestione della memoria e la chiusura automatica delle porte e dei socket forniti da. NET ma non sarà molto efficiente.

Potrei fare la stessa cosa in C ++ e sarebbe essere efficiente, ma richiederebbe molto, molto più tempo per creare e comporterebbe la scrittura di un sacco di codice personalizzato. Non ci sarebbe alcuna gestione della memoria fornita per me e nessuna chiusura automatica di porte e socket. Ma sarebbe davvero veloce ed efficiente.

Ci scusiamo per la lunga risposta. Spero che aiuti.

    
risposta data 12.04.2012 - 13:02
fonte
5

Sebbene l'apprendimento di entrambe le lingue allo stesso tempo possa confondervi a causa di ciò che i linguisti chiamano falsi amici , imparando uno dopo l'altro ti sarà di beneficio. L'ordine in cui apprendi le due lingue non importa molto, a patto che ti sforzassi di padroneggiare entrambe con sufficiente profondità. La seconda lingua ti fornirà una prospettiva aggiuntiva che si rivelerà molto utile per la comprensione dei concetti di programmazione generale che sono indipendenti dal tuo linguaggio di programmazione.

    
risposta data 12.04.2012 - 12:23
fonte
2

Per me è solo una questione di tratti personali.

Alcuni persone trovano che imparare due o tre lingue straniere in un momento più efficace di allora si concentrano su uno. Come puoi immaginare, la maggior parte delle persone troverà questo approccio non così efficace ..

Quindi ti consiglio di provarlo, impara entrambi allo stesso tempo. Se ti trovi confuso, passa a uno.

    
risposta data 12.04.2012 - 12:32
fonte
0

Suggerisco decisamente di imparare uno dopo l'altro. Molto probabilmente diventerai confuso tra loro due se imparerai entrambi allo stesso tempo, questo è quello che mi è successo quando ho imparato Python e Ruby allo stesso tempo. Sarebbe comunque utile, forse per imparare un po 'di C mentre si va avanti con C #. Per alcuni buoni consigli sulle risorse C ++, controlla:

1

2

3

    
risposta data 12.04.2012 - 15:15
fonte

Leggi altre domande sui tag