Cosa cambia tra c , c# e c++??

Vorrei incominciare a studiare un nuovo linguaggio di programmazione ma sono indeciso tra questi tre sapete dirmi le differenze e le somiglianze e quale è secondo voi il migliore?

Comments

  • facciamo prima a dire che le somiglianze sono minime e riferibili alla parte facile della difficile arte di risolvere i problemi programmando, la sintassi. in pratica i tre linguaggi hanno una sintassi simile, perchè dichiarano i blocchi con {} e terminano le espressioni con ";". fine.

    ti riassumo a volo d'uccello le differenze.

    C è un linguaggio molto vicino al linguaggio macchina, il suo scopo è minimizzare l'uso della memoria costringendo il programmatore a controllarla esplicitamente e ottimizzare l'uso del processore. il paradigma di programmazione è quello procedurale.

    C++ permette di usare il paradigma della programmazione a oggetti(pur permettendo stili procedurali) e il suo scopo è quello di agevolare la scrittura di applicazioni, è un linguaggio fondamentalmente diverso che impone una diversa mentalità e una preparazione specifica.

    c# è un linguaggio interpretato, totalmente orientato agli oggetti ma che sta evolvendo verso paradigmi funzionali, è del tutto inadatto alla programmazione di sistema ma permette di semplificare notevolmente aspetti tradizionalmente ostici in applicazioni piuttosto complesse.

    c# è basato sulla piattaforma .net, che è una Virtual machine e un estesa collezione di classi(detta framework), in questo è simile al suo più pericoloso rivale: java.

    il migliore non esiste, ma lo stanno inventando.

    ognuno ha il proprio ambito applicativo, c è usato per molti software di sistema e lo sarà credo, per molti anni a venire, nel suo ambito specifico non è stato superato dai concorrenti suoi contemporanei, penso a pascal, e non credo l'industria potrà mai imporre qualcosa di alternativo.

    c++ è molto usato, ma nel il suo dominio applicativo ha concorrenti agguerriti, se non è in declino, non è un linguaggio emergente.

    c# è ancora in forte cambiamento e si confronta con linguaggi emergenti, orientati al paradigma funzionale e al web e ancora una volta, java.

    quindi cosa studiare? stando alla mia esperienza, posso dirti 2 cose.

    1) meglio un buon generalista, che capisce un po' di tutto e sa fare un po' di tutto, che una rockstar del linguaggio x che non vuole fare altro che adorare l'unico l'inguaggio/framework/OS/IDE/API che lui ha eletto come "migliore".

    2) si parte dal problema, mai dalla soluzione. il linguaggio è uno strumento e lo strumento fa parte della soluzione, diversi problemi hanno strumenti e soluzioni diversi, ostinarsi a voler usare un unico strumento a cosa porta? immagina un falegname che sa usare solo il martello...

    operativamente, trovati innanzi tutto un problema che ti appassioni, leggi il codice (open source) delle soluzioni esistenti, studia il funzionamento e il linguaggio in cui sono realizzate e poi cerca di migliorarle. confrontarti con altri programmatori, su qualcosa che ti appassiona, ti farà crescere molto velocemente(non soltanto come professionista, come persona).

    buon lavoro

  • bah, studiati il c++ e così in poco tempo apprenderai anche gli altri 2 senza difficoltà.

  • C++ è una evuluzione del c, perciò tra i due a rigor di logica ti consiglierei il secondo... il problema è che si ritiene che chiunque conosca il c++ debba conoscere anche il c... è una conditio nine qua non (o roba del genere)... Sono ambedue orientati all'ambito locale... Il C# è un linguaggio che sinceramentre non apprezzo, una evuluzione anch'esso del C orientato agli oggetti come il C++... questo si presta maggiormente ad ambiti meno legati alla piattaforma locale anche per il suo supporto sul framework.NET... Vuoi un consiglio?? Strudiatelit tutti e tre li troverai estremamente simili... e sarà più semplice imparatli.. (ad ogni modo il C++ integra in modo quasi totale il c perciò imparando il c++ impari con qualche accorgimento anche il c)

Sign In or Register to comment.