Yttrium Furtif | oliv5 a écrit :
Le C# me laisse quand meme la désagréable impression d'avoir été outrageusement pompé sur le Java
Il en est tout aussi simple à prendre en main, mais les programmeurs de chez Microsoft n'ont pas été trés rigoureux : leur API est bizarre des fois, un coup j'utilise des propriétés C# (tout nouveau par rapport au java), un coup j'utilise des méthodes.
Leur API est bien fournie de base, plus que celle du Java à ses débuts, mais souvent on a l'impression que ca fonctionne mal : je pense notemment aux classes réseaux et à leurs systèmes d'évènements asynchrones => le code fourni en exemple dans la MSDN bug dés qu'on sort des sentiers battus, leurs exemples sont trop simples (dans un soft de P2P, tu n'ouvre pas qu'une seule socket, et surtout, tes sockets, tu les ferme un jour et ca, ca bug avec leur système de reception asynchrone et y avait pas d'exemple)
Bref, ca marche bien, mais ya certains trucs qui dérangent quand meme, on a l'impression d'un travail baclé et/ou sans unité.
|
D'un côté, C# est un nouveau langage. Comme tel il souffre encore d'erreurs de jeunesse, comme tu le soulignes justement. Mais je crois qu'elles seront assez vite corrigées. Trois points me viennent à l'esprit :
- d'une part .Net 1.1 contient des améliorations sur le plan de l'homogénéité de son interface par rapport à la version 1.0 ; je ne doute donc pas que la version 2.0 sera elle aussi améliorée. En plus, Microsoft fourni des "Application Blocks" pour à peu près toutes les tâches courantes; dès lors que l'on constate une répétition dans le code de certaines procédures, il vaut la peine de les utiliser. Il n'est pas impossible que certains "Blocks" soient directement portés au sein même de .Net (accès réseau, bases de données, etc.). Et puis, .Net est tout de même une somme colossale de travail : la sortir d'un coup et s'apercevoir qu'elle ne marche finalement pas trop mal est pour le moins une bonne performance.
- la doc Microsoft, et en particulier celle de MSDN, système sur lequel est constuite la doc .Net, a toujours été la potion la plus imbuvable et mal foutue de toutes les docs techniques de l'histoire de l'informatique. Même si elle tend à s'améliorer un peu, elle est toujours aussi déficiente. A noter toutefois que la mise à jour de décembre 2003 pour les versions françaises contient du texte un peu mieux traduit. Mais pour les exemples, c'est toujours pas ça. Il manque en effet des discussions techniques sur le fond, etc.
- VisualStudio a vraiement besoin d'être amélioré : c'est un environnement qui vient d'un autre âge. Cela n'enlève rien à certaines de ses qualités, mais les utilisateurs attendent autre chose : il n'y a qu'à regarder les fonctionalités offertes par certains plug-ins pour d'autres environnemnents/éditeurs conçus par des utilisateurs et non par des vendeurs.
Donc, pour l'instant, C# dépend presque intégralement de son environnement et souffre davantage, à mon avis, de celui-ci que de ses défauts intrinsèques. Je me réjouis de voir ce que donnera ce langage, une fois Mono et DotGnu arrivés en production sur des systèmes *NIX, avec des outils conçus par ceux qui les utilisent.
Mais pour terminer, concernant la syntaxe, C# représente assez bien les tendances d'une nouvelle génération de langages. |