IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des résultats du sondage: Quel langage choisir pour Dotnet ?

Votants
1020. Vous ne pouvez pas participer à ce sondage.
  • C#

    611 59,90%
  • VB.NET

    206 20,20%
  • C++

    59 5,78%
  • Delphi

    84 8,24%
  • Autre (précisez)

    9 0,88%
  • Sans opinion

    51 5,00%
Dotnet Discussion :

Que choisir ? C# , VB.NET, C++, Delphi ? pourquoi ? [Débat]


Sujet :

Dotnet

  1. #1
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 254
    Points
    28 254
    Par défaut Que choisir ? C# , VB.NET, C++, Delphi ? pourquoi ?
    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.

      0  0

  2. #2
    DrQ
    DrQ est déconnecté
    Membre expérimenté
    Avatar de DrQ
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 388
    Points : 1 515
    Points
    1 515
    Par défaut
    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

  3. #3
    Rédacteur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 608
    Points : 1 561
    Points
    1 561
    Par défaut
    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

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 87
    Points : 63
    Points
    63
    Par défaut Je préfère le C#
    Je comence en c#, mais je trouve que le vb n'est pas assez strict
      0  0

  5. #5
    DrQ
    DrQ est déconnecté
    Membre expérimenté
    Avatar de DrQ
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 388
    Points : 1 515
    Points
    1 515
    Par défaut
    Qu'appelles tu moins strict ? Peux être plus précis et donner des exemples ?
      0  0

  6. #6
    Membre à l'essai
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2003
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2003
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    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

  7. #7
    Expert éminent
    Avatar de neo.51
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    2 663
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 663
    Points : 6 418
    Points
    6 418
    Par défaut
    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/viewtopic.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

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 40
    Points : 1 880
    Points
    1 880
    Par défaut
    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

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    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

  10. #10
    DrQ
    DrQ est déconnecté
    Membre expérimenté
    Avatar de DrQ
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 388
    Points : 1 515
    Points
    1 515
    Par défaut
    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

  11. #11
    Zc
    Zc est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Perso, je viens de VB6 (depuis VB4) et j'ai entièrement zapper côté C#
    La syntaxe est beaucoup moins lourde, demande plus de sérieux (casse sensitive par ex) et s'apprend très vite ... donc pourquoi pas!
      0  0

  12. #12
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2003
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Pour ma part j'utilise les deux, personnelement j'utilise C# et au travail j'utilise vb.net

    Mais le mieux c'est d'utiliser le language où on est le plus à laise...
      0  0

  13. #13
    Membre chevronné

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    Juin 2002
    Messages
    611
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2002
    Messages : 611
    Points : 2 083
    Points
    2 083
    Par défaut
    En autre atout pour C# n'est pas technique mais commercial.

    Pour des raisons un peu historique et même si aujourd'hui cela ne correspond plus rien techniquement parlant, : C (fut-il Shap), c'est plus vendeur que Basic (fut-il .Net)

    Combien de fois ai-je vu la mine déçu de mes clients quand ils apprennent que leur produit, dont ils sont pourtant content est écrit, en BASIC.
    Par contre quand on leur parle de C ou Pascal, cela fait tout de suite plus sérieux.

    Idem dans CV. Pour un certain nombre de décideurs (certain n'ont jamais vu un clavier) BASIC reste synonyme d'amateur alors que C a une conotation pus sérieuse. A moyen terme, je pense qu'un programmeur C# se vendra mieux qu'un programmeur VB.

    Ne voulant pas me lancer dans un technologie balbutiante, mon dernier projet est en Delphi (alors que j'étais programmeur VB).

    Mais si je devais m'investir dans .Net, les 2 langages (C# et VB) ne présentant pas de différences techniques énormes, je pense que j'irais plus vers le C#, essentiellement pour des raisons commerciales et de valorisations personnelles.
      0  0

  14. #14
    Expert éminent
    Avatar de neo.51
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    2 663
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 663
    Points : 6 418
    Points
    6 418
    Par défaut
    "Commercialement" tu dis que tu fais du .NET et si tu maitrise un des deux lagages parfaitement, l'apprentissage de l'autre est à mon avis qu'une simple formalité qui prend peu de temps!
      0  0

  15. #15
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2003
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 1
    Points : 1
    Points
    1
    Par défaut vb pour faire une maquette
    pour ma part je recommande vivement vb à ceux qui ne sont pas des purs et durs du C++ et qui veulent GAGNER DU TEMPS

    Ce qui suit va faire hausser des épaules les "gros bras du C++", mais j'insiste pour leur dire que je ne vois aucune "virilité" a s'emmerder avec un langage complexe (et source d'erreurs).

    Et pour moi C# ne va pas assez loin, il veut trop ressembler a C++.
    Il nous emmerde encore avec sa gestion des types, ses accolades, ses point virgule et j'en passe.
    Je viens encore de passer 2 ans vec 1 projet ATL/com/C++...ahh les conversions (chaines...), unicode, et j'en passe...que de temps perdu.

    L'interet d'un programme n'est pourtant pas du tout là !!

    VB ne faisait pas sérieux quand il s'agissait de parler performance, pas fiabilité.
    De plus il etait (trop) restrictif en termes de librairies natives et imposait un recours a des passerelles + ou - contaignantes vers les lib win32.
    Enfin il etait trop limité ( pointeurs, heritage...) a force de faire simple.

    Franchement, moi j'en ai rien a faire d'une gestion stricte des types, et ça fait des années que je m'emmerde avec ça !
    Que de temps perdu avec les chaines de caracteres, les pb de conversion, l'Unicode, et j'en passe !

    Alors C# pour quoi faire ?
    On peut supposer justement que la gestion stricte des types optimise un peu les perfs...Il y a d'autre differences ( cf MSDN ).

    Mais vive les langages "modernes" et à bas les contraintes !!
      0  0

  16. #16
    DrQ
    DrQ est déconnecté
    Membre expérimenté
    Avatar de DrQ
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 388
    Points : 1 515
    Points
    1 515
    Par défaut
    Comme il a été dit redit reredit, il n'y a aucune diff entre le C# et VB.NET pour ce qui est de .NET.
    Ton histoire de type est la même en C# et VB.NET !!

    Quant à l'histoire des points virgules c'est un faux prétexte. Pourquoi ? A quoi bon s'embetter à faire un "Dim i As Integer" alors que je peux faire un "int i;". Je peux te trouver des avantages et inconvenients aux deux langages. Comme neo l'a dit, c'est juste une histoire de goût. Que ce soit en C# ou VB.NET tu tomberas sur les mêmes problèmes : donc arrêtez de dénigrer un langage sans avoir réellement programmé avec. Je ne dis pas que je maitrise les deux langages mais j'ai eu l'occasion de faire des projets avec les deux langages, et ma conclusion et que les problèmes sont les mêmes. C'est juste une histoire de goût.

    Je parle uniquement pour le dev .NET pur et non de code managé ou pas.
      0  0

  17. #17
    Membre averti

    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    0
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 0
    Points : 314
    Points
    314
    Par défaut
    heu il faut quand meme faire des cast en C# plus souvent qu'en VB.NET non ? ou alors j'ai revé
      0  0

  18. #18
    DrQ
    DrQ est déconnecté
    Membre expérimenté
    Avatar de DrQ
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 388
    Points : 1 515
    Points
    1 515
    Par défaut
    Pour les mêmes dev, je fais autant de cast d'un côté que l'autre : peut être un réflexe mais par exemple pour le drag & drop sans le CType ça ne marche pas en VB.NET. Donc cast oblige.
      0  0

  19. #19
    Membre averti

    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    0
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 0
    Points : 314
    Points
    314
    Par défaut
    je code depuis des mois en VB.net sans un seul cast... etrange
      0  0

  20. #20
    DrQ
    DrQ est déconnecté
    Membre expérimenté
    Avatar de DrQ
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 388
    Points : 1 515
    Points
    1 515
    Par défaut
    ohoh

    Ben là tu m'étonnes ! Comme je l'ai dit, peut être un réflexe, mais il me semble qu'il y a des cas où ça ne marche pas sans. J'essaierai de retrouver un exemple et je te dis ça.
      0  0

Discussions similaires

  1. Que choisir : Delphi ou C++ ?
    Par Gwipi dans le forum Débats sur le développement - Le Best Of
    Réponses: 30
    Dernier message: 18/07/2010, 12h43
  2. Que choisir ? Delphi ou Java ?
    Par Jean-Yves dans le forum Débats sur le développement - Le Best Of
    Réponses: 89
    Dernier message: 19/04/2008, 16h40
  3. [VB.Net] Que choisir tableaux ou collections ?
    Par Pasiphae dans le forum VB.NET
    Réponses: 2
    Dernier message: 16/03/2006, 16h35
  4. [D2005] - Que choisir Winform ou VCL.NET ?
    Par RamDevTeam dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 07/02/2006, 06h25
  5. Que choisir ? : ASP ou ASP.NET ?
    Par Allen dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 24/01/2006, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo