Gente che dice che il C# non è da utilizzare, soltanto perché non è adatto a creare Sistemi Operativi, non capisco che cavolo voglia dire questo.
Innanzitutto esiste un progetto, di nome Cosmos, che è un Sistema Operativo creato in C Sharp.
ci sono pure sharpos e singularity
il limite non è il linguaggio quanto il runtime e il relativo framework .net....ad esempio ms ha creato il compilatore bartok e un runtime apposito per poter realizzare il suo os in c#....stessa cosa hanno fatto quelli di cosmos
il grosso limite di c# è il fatto che dietro ci sia ms, che ha creato parecchia sfiducia nella comunità allargata degli sviluppatori ( soprattutto quelli opensource )...per il resto il linguaggio non ha nessun limite particolare
Io credo(ovviamente è un mia opinione, ma non sono l'unico a pensarla così) che il C++ non sia un linguaggio da imparare dopo il Pascal.
in realtà nemmeno il pascal è più tanto adatto per chi comincia, ma qui le teorie si sprecano
c'è chi dice che bisogna partire con un linguaggio con weak typing, perchè così il novellino può spaziare e poi avvicinarsi ai formalismi...chi dice che invece bisogna partire da linguaggio come il pascal proprio perchè sono formali all'eccesso
python, ad esempio, si sta imponendo come buona soluzione per iniziare e, imho, a ragione
se dopo il pascal conviene il c++ o altro è difficile dirlo...anche qui c'è chi dice che capire subito come funziona il "dietro le quinte" è meglio che capirlo dopo....altri dicono l'esatto contrario
Ci sono altri linguaggi come il Java, il Python o appunto il C#, che sono molto più facili e permettono di creare praticamente le stesse cose ma in minor tempo, che come dicono anche altri è DENARO.
in questo senso è più importante considerarli quando si va a realizzare software "vero" piuttosto che quando si apprende
In C++ reinventi la ruota, in C# no.
il problema del c++ è la vastità, tant'è che lo stesso Stroustrup ammise di non riuscire a padroneggiare in pieno il linguaggio!!!! per il resto si trovano molte librerie per il c++, solo che sono sparse qua e là e non organizzate in un framework coerente come .net o cocoa e similari
Poi va bene che non c'è l'Ereditarietà Multipla in C# e in C++ si, ma son cose a cui sinceramente non ho mai neanche fatto caso.
E credo che si possa risolvere con l'utilizzo delle Interface, se non sbaglio.
l'ereditarietà multipla fa più danni di quanti ne evita :D
Concludo dicendo che io li uso entrambi e mi trovo meglio con il C Sharp, proprio perché è molto più veloce programmare e ci sono tantissimi progetti e framework.
ovviamente, il linguaggio è maggiormente espressivo e il framework ti mette a disposizione un sacco di roba pronta, organizzata, etichetta e utilizzabile da subito