Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Le débat fait toujours rage : Que choisir pour développer avec DotNET ? C#
VB.NET, C++, Delphi ?

Le , par Louis-Guillaume Morand

23PARTAGES

0  0 
Quel langage choisir pour Dotnet ?
Mise à jour 09/08/2013

Ce sondage a été renouvelé pour 2013. Venez participer, cela se passe ici :
Quel est le meilleur langage pour .NET selon vous ?


Allons y lançons le débat. Quel est le meilleur langage pour .NET ?
C# ,VB.NET , C++ ou Delphi ?

Pourquoi avez vous choisi l'un ou l'autre ?
Pour quelles raisons ?
Pour quels besoins ?
Quelles sont vos expériences positives ou négatives concernant ces 2 langages ?
Quels sont leurs forces et leur faiblesses ?
Qu'est ce qui est présent ou absent dans l'un ou l'autre et inversement ?
Vers lequel de ces deux langages se tourner selon que lon est un développeur VB, ou C++, Delphi ou autre ?

Nous ferons surement un article qui synthétisera tout ça !

Merci d'avance pour vos avis.

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de calagan99
Modérateur https://www.developpez.com
Le 07/08/2009 à 9:31
Pour ma part, j'ai tout juste deux années d'expérience professionnelle, exclusivement sur du DotNet.
J'ai passé ma première année sur du VB.Net et la seconde sur de C#.

Aujourd'hui, je reste sur C# et je ne ferais pas demi-tour sauf si une opportunité vraiment intéressante m'était proposée.

Néanmoins, j'ai commencé le dotnet (et la programmation) avec VB.Net et j'ai vraiment apprécié ce côté verbeux que beaucoup de personnes décrient. Alors que je débutais, l'abondance de mots-clés, la gestion simpliste des évènements (dans VS, dans l'aspx d'une page, clic sur la DDL des contôles, clic la DDL des évènements liés et hop on retrouve son évènement côté .vb), les structures conditionnelles, le côté laxiste du langage m'ont aidé.
Plus dure a été la chute lorsque je suis passé à C#...
J'y est découvert beaucoup plus de rigueur, une gestion des évènements sans raccourcis, etc. Je m'y suis finalement vite fait car je connaissais le framework et n'avait qu'à apprendre la syntaxe du langage, mais je pense que j'aurais autrement plus galéré si j'avais débuté par du C#.

Je ne regrette pas mon choix et j'apprécie aujourd'hui beaucoup plus de développer en C# mais je ne dénigre pas VB car pour ma part il m'a vraiment été utile.
1  0 
Avatar de DrQ
Membre expérimenté https://www.developpez.com
Le 14/02/2003 à 16:16
Je n'ai pas poussé les deux langages, donc difficile à dire. De ce que j'ai pu lire et voir, le C# reste en globalité le langage .NET mais il faut savoir que des fonctionnalités VB.NET n'existe pas en C# entre autre la fonction Redim et Redim Preserve mais qui peut être remplacée par la création d'un tableau plus grand puis une copie grâce à la méthode Array.Copy

Pour les opérations basiques, VB.NET a l'air plus rapide sur des entiers et longs que C#. Par contre pourles flottants C# est plus rapide. Donc l'un ou l'autre difficile de choisir.

Pour ma part je programme en C# car le module de génération de documentation est très pratique ainsi que l'auto-complétion pour la doc avec les ///. L'autre raison est que je maintiens des programmes VB6. Donc pour éviter de me mélanger les possibilités de VB6 et VB.NET je programme en C#.
0  0 
Avatar de Nightfall
Rédacteur https://www.developpez.com
Le 15/02/2003 à 19:05
C# est un langage neuf, conçu pour .Net. Il n'a pas un long passé comme VB, et ses concepteurs ont donc pu partir sur des bases saines.

La syntaxe de C# est très proche de celle de C++ et Java. Donc un programmeur C++ ou Java préfèrera C# à VB.Net. Et un programmeur qui ne connait pas C++ ou Java pourra apprendre plus facilement ces deux langages s'il connait déjà C#.

C# permet d'écrire du code non managé, et supporte la surcharge des opérateurs. Pas VB.Net.

Et même si j'aime bien la syntaxe de VB, celle de C# est un peu moins lourde.
0  0 
Avatar de busy999
Membre du Club https://www.developpez.com
Le 19/02/2003 à 21:36
Je comence en c#, mais je trouve que le vb n'est pas assez strict
0  0 
Avatar de DrQ
Membre expérimenté https://www.developpez.com
Le 19/02/2003 à 21:57
Qu'appelles tu moins strict ? Peux être plus précis et donner des exemples ?
0  0 
Avatar de Manu_Just
Membre à l'essai https://www.developpez.com
Le 20/02/2003 à 17:28
Pour ma part, j'ai appris VB sur le tas, apres avoir étudier C++ et Java, utilisant du javascript coté client, je trouve la syntaxe VB assez furstrante, c'est une des raisons pour lesquels je passe à C#, la syntaxe étant très "classique" (== syntaxe C, reprise dans de nombreux langages) je ne mélange pas les pinceaux passant d'un langage a un autre (cela pet toutefois aussi êtresource d'erreur).

Les possibilités de documentations de C# semblent également très interressantes, mais je ne les ai pas encore testés.
0  0 
Avatar de neo.51
Expert confirmé https://www.developpez.com
Le 24/02/2003 à 10:49
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=57410

Cet 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 
Avatar de leduke
Membre expérimenté https://www.developpez.com
Le 25/02/2003 à 11:13
J'ai une préférence pour le C# car j'ai beaucoup pratiqué le C++, sa syntaxe m'est dons assez familière.

Le débat est vaste et je crois qu'il n'y a pas de réponse dans l'absolu. Le choix dépend surtout du vécu de chacun. Les utilisateurs de Visual Basic vont forcément se tourner vers VB .Net en pensant que l'apprentissage en sera facilité. Pour ma part, je n'en suis pas convaincu, VB .Net est tout de même trés différent de Visual Basic. Les utilisateurs de Java et de C++ vont plutôt utiliser C#.

Pour ce qui est des performances, tu as très bien répondu globalement les performances doivent être similaires.
0  0 
Avatar de Vincent_Moreira
Nouveau Candidat au Club https://www.developpez.com
Le 25/02/2003 à 18:54
En fait, quelque soit le language utilisé ( vb.net, c#,c++ ) sous une plaforme .net auront des performence absolument IDENTIQUE pour la simple raison que le code assembleur produit est exactement identique.

Evidement pour arriver à ca, certaine caractéristique des languages ont été zappé ( comme l'héritage multiple en c++ ) afin d'arriver à une total compatibilité.

il y a néanmoins une question que je me pose, combien de temps cela prend il pour compiler un projet ?

Sur d'autre compilateur, la compilation de projet conséquent prenait du temps. Dans le .net, il y a une couche suplémentaire qui est la traduction du code en common language.

est ce que cela ralenti énormément la compilation ?
0  0 
Avatar de DrQ
Membre expérimenté https://www.developpez.com
Le 25/02/2003 à 19:47
Citation Envoyé par Vincent_Moreira
En fait, quelque soit le language utilisé ( vb.net, c#,c++ ) sous une plaforme .net auront des performence absolument IDENTIQUE pour la simple raison que le code assembleur produit est exactement identique.
Nop, le compilateur VB.NET et différent de celui de C#, et quelques différences de performances sont visibles mais rares. L'exemple le plus flagrant c'est les entiers (long) et les flottants (double). Dans les deux langages on n'a pas le même temps pour effectuer des calculs sur ces deux types de données.
0  0