J'ai fais beaucoup de VB.NET et un peu de C#.
VB.NET m'a séduit car j'avais déjà fais du VB6 et que la syntaxe de VB.NET reste trés proche du BASIC. Je trouve donc la syntaxe plus simple. Je regrette par contre qu'on ne puisse pas documenter ses classes comme en C# mais des projets open source sont en cours pour palier ce "manque". Au niveau des performence je pense qu'il n'y a pas vraiment des grosses différences. En effet, avec .NET que l'on fasse du C# ou du VB.NET, tout est compilé en CLR. Les différences de performances seraient donc dues au compilateur qui suivant le langage génére un CLR plus ou moins optimisé. Dans certain cas C#, une procédure en C# sera plus rapide à l'execfution, dans d'autre ce sera la procédure en VB.NET, mais aucunne différence de performance trés significative et globalement, un programme entier en C# ou en VB.NET sera aussi rapide à l'exécution.
Par contre, il y a un point qui pour moi est trés important qui n'a pas été abordé. VB.NET est un langage propriétaire de microsoft donc tous les outils pour programmer en VB.NET seront fournis par microsoft et donc par conséquent pour .NET.
Le C# lui a des spécifications publiques : http://www.ecma.ch/publications/standards/ECMA-334.HTM
Chacun peu donc faire son compilateur C#. Borland va même faire un EDI pour le C# :
http://www.developpez.net/forums/vie...ic.php?t=57410Cet EDI pourra utilisé le framework .NET mais aussi des classe de l'EDI de borland. Ce que je veux dire c'est que le C# dépasse largement les frontières du framework.NET : vu que les spécifications sont publiques rien ne vous empèche d'utiliser un framework "maison" avec C#. C'est un peu ce qui se passe avec le projet go-mono qui est un framework qui ressemble au framework .NET de linux.
Pour conclure je dirais :

Si vous ne faites et voulez faire que du .NET
Si vous venez de VB6 ou un autre langage BASIC, orientez vous vers VB.NET.
Si vous vennez de java ou de C++ orientez vous vers C#.
Par contre, à l'avenir d'autre solutions que le framework .NET vont voir le jours pour C#...
wait and see
0 |
0 |