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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Citation Envoyé par Noodles
    Mais quand je fais des petits projets j'opte pour le VB.NET... Ca me détend!!
    Ben te dépend pas trop ... Le VB.Net c'est pour ... en fait je sais pas pour qui.
    Mais si tu veux garder une syntaxe proche du java et du C tu n'as qu'a programmer en C# c'est bcp plus structuré .
      0  0

  2. #2
    Expert confirmé
    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
    Par défaut
    Citation Envoyé par dev01
    C# c'est bcp plus structuré .
    T'aurais des ewemples concret où la syntaxe C# est plus structuré qu'en VB.NET ?

    quasi 2 ans de VB.NET 1 an de C# mais je vois toujours pas en quoi le C# est beaucoup plus structuré...
      0  0

  3. #3
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par neo.51
    quasi 2 ans de VB.NET
    Comme quoi, personne n'est parfait

    Citation Envoyé par neo.51
    T'aurais des ewemples concret où la syntaxe C# est plus structuré qu'en VB.NET ?
    L'Option Strict de VB.NET, qui n'existe pas en C# (et oui, en C#, on fait les choses bien du 1er coup )
      0  0

  4. #4
    Expert confirmé
    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
    Par défaut
    ça c'est juste un petit soucis de paramètrage par défaut pour que les personnes qui viennent de vb6 migrent en douceur

    J'ai codé qu'un mois en strinf off

    Si le seul agument valable en faveur de C# est une option de compilation par défaut il me parait évident que je vais me remettre au VB.NET avec l'apparition du mot My dans VB.NET 2.0
      0  0

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par neo.51
    Si le seul agument valable en faveur de C# est une option de compilation par défaut il me parait évident que je vais me remettre au VB.NET avec l'apparition du mot My dans VB.NET 2.0
    Bon, là je dois reconnaitre que ce serait bien pratique en C# aussi : remarque ca viendra p-e : il leur a fallu attendre la 2.0 pour intégrer "l'Edit & Continue" en C#, donc, pour la 3.0, on aura p-e le My en C# aussi
      0  0

  6. #6
    Invité de passage
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1
    Par défaut Pourquoi choisir
    Pour ma part je me demande pourquoi choisir??? Une des forces majeure de .NET est de permettre l'interactivité entre tout les codes inclus dans .NET.

    Personnelement j'aime bien utiliser VB.net pour l'interfacage graphique et utiliser C# pour les traitements.

    Finalement, venant de l'univers JAVA, j'ai trouvé beaucoup plus facile la conversion vers le c#.

      0  0

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 93
    Par défaut
    Pour ma part, je ne connaissais pas le VB. J'étais bon en C++.
    J'ai commencé par faire du VB.Net sans aucun problème. C'est un langage assez agréable une fois que l'on connait son fonctionnement, la prise en main de la bête à été très rapide (et franchement je trouve l'environement de développement microsoft génialissime).
    Pour ce qui est du C#, je n'ai malheureusement eu que peu d'occasion de l'utiliser. Cependant en comparant des sources C# et VB.Net , j'ai eu l'impression que les deux langages se ressemblaient beaucoup. Je n'ai jamais été limité ou bloqué dans le travail de programmation alors pourquoi me pencher sur le C# ?
      0  0

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 58
    Par défaut
    Citation Envoyé par crjo
    C# est très propre, comparé à C++. Je vais pas me lancer dans l'enumération des avantages, mais je trouve que ceux ci sont vraiment un plus :

    • pas de pointeurs. Le code n'en est que plus lisible (et si on veut vraiment utiliser des pointeurs pour des besoins de bas niveau ou que sais-je, on peut toujours écrire un petit bout en C++ non managé, si j'ai bien compris)
    • un seul fichier source (plus besoin d'un fichier entête *.h). Si on doit modifier la signature d'une méthode, c'est immédiat. Ca simplifie la documentation également
    • le garbage collector. Plus de memory leak (ou fuite mémoire) avec ça
    • les concepts de délégué et d'événement. Les delegués (delegate) remplacent avantageusement les pointeurs de fonctions en C/C++.
    • homogénéisation de la notion d'objet. Tout est objet. Même un entier ou une chaîne de caractère.
    • meilleur typage. Il y a des erreurs qu'on pouvait faire en C++ qui ne passeront pas à la compilation en C#
    • mécanisme d'assertion et d'erreur bien pensé. Si on accède hors du rang d'un tableau par exemple, on aura une belle erreur au run time qui explique que c'est un problème "out of range" et pas un satané "Violation access error 0x08830003" beaucoup moins explicite.
    Effectivement, C# et C++... rien à voir!!

    Mais d'un autre coté, Java avait déjà tous ces avantages avant .net...
      0  0

  9. #9
    Membre éclairé
    Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2002
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juillet 2002
    Messages : 88
    Par défaut
    Juste pour rajouter mon grain de sel... (tiens ça s'écrit comment un grain? grin? )
    Entre VB.NET et C# : je choisi sans le C#.
    J'ai travaillé sur C# puis sur VB et il est vrai que les 2 langages sont très proches et et que l'on passe très facilement de l'un à l'autre. Il suffit de changer les accolades par des mots et de d'enlever les ;

    Mais les avantages du C#:
    - Moins verbeux et donc plus lisible (et ça c'est important)
    - En VB.NET il fait des cast chelou
    - Approche complètement objet. Alors qu'en VB.NET outre les fonctions qui sont présentes pour conserver la "compatibilité" VB6, la gestion des handlers n'est pas top (Addhandler...)
    - Dans le designer VS.NET, pour l'ASP.NET, les évènements des objets ne sont pas affichés dans la property grid qd on fait un projet VB.
    - La gestion des Namespace n'est pas terrible non plus avec le fameux RootNamespace du projet qui peut prêter à confusion
    - Je ne reparle pas de la doc XML
    -Et puis je me répette masi c'est vraiment plus lisible le C#, ça c'est bien...
      0  0

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 58
    Par défaut
    Citation Envoyé par Pete
    - En VB.NET il fait des cast chelou
    Ah?
    Il fait des cast chelou que si tu lui dit de faire des cast chelou... ou si tu lui dis rien!
      0  0

  11. #11
    naw
    naw est déconnecté
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 28
    Par défaut
    salam

    Et celui qui programmer avec delphi quesque je peu utiliser en .Net le C# ou vb.net

    merci
      0  0

  12. #12
    Membre éclairé
    Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2002
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juillet 2002
    Messages : 88
    Par défaut
    Citation Envoyé par Noodles
    Citation Envoyé par Pete
    - En VB.NET il fait des cast chelou
    Ah?
    Il fait des cast chelou que si tu lui dit de faire des cast chelou... ou si tu lui dis rien!
    Le propre d'un bon compilo c'est de t'éviter de faire des erreurs, donc il ne doit pas t'autorise à faire des cast chelou.

    Autre exemple, apparement tu peux compiler une méthode qui à une valeur de retour même si tu as oublié de mettre le "return ta_valeur" et dans ce cas il retourne "null". J'ai perdu 5 minutes à chercher un bug qui en fait était une erreur d'étourderie que le compilo aurais du me signaler directement. Et non, Mr VB a préféré me dire que tout allait bien. Tu peux me dire à quoi ça sert de compiler de code qui plante ?
    A te faire perdre du temps. C'est tout. Sous un prétexte de te rendre la vie plus facile en te simplifiant des choses, VB te fait perdre ton temps. C'est surtout ça son gros défaut à mon avis.

    naw : prends le C#, vraiment c'est mieux. Tu apprendras aussi facilement l'un que l'autre ce n'est pas le pb, quelque soit le langage que tu as fait avant. Sauf qu'en C# tu as une syntaxe que tu retouves ds bcp de langages donc c'est pratique de la connaitre et le C# est mieux que le VB. Regarde les stats d'utilisation d'ailleurs, les gens préfère C#
      0  0

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 58
    Par défaut
    Autre exemple, apparement tu peux compiler une méthode qui à une valeur de retour même si tu as oublié de mettre le "return ta_valeur" et dans ce cas il retourne "null".
    Et puis je sais pas si c'est pareil en C#, mais en C j'avais souvent ce problème:
    Tu fais une fonction comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public Function toto(maVar as Int32) as Int32
     If (maVar = 1) Then
                Return 1
            Else
                Return 0
     End If
    End Function
    Et là, en C ca compilait pas parce que comme mes return sont dans le If, il croyait que je retournait rien. Or en l'occurence, je retourne toujours quelque chose....

    Et en VB.net ca passe

    Bon évidemment, faut pas trop être étourdi
      0  0

  14. #14
    Expert confirmé
    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
    Par défaut
    Citation Envoyé par Noodles
    Tu fais une fonction comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public Function toto(maVar as Int32) as Int32
     If (maVar = 1) Then
                Return 1
            Else
                Return 0
     End If
    End Function
    Et là, en C ca compilait pas parce que comme mes return sont dans le If, il croyait que je retournait rien. Or en l'occurence, je retourne toujours quelque chose....

    Et en VB.net ca passe

    Bon évidemment, faut pas trop être étourdi
    ça en C# ça passe

    Mais ça ça passe pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public Function toto(maVar as Int32) as Int32
     If (maVar = 1) Then
                Return 1
     End If
    End Function
    par contre en VB.NET ça va surement passer
      0  0

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 58
    Par défaut
    Citation Envoyé par neo.51
    ça en C# ça passe
    Bon ben dans ce cas là.... j'avoue que le vb.net a un petit train de retard...
    Citation Envoyé par neo.51
    Mais ça ça passe pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public Function toto(maVar as Int32) as Int32
     If (maVar = 1) Then
                Return 1
     End If
    End Function
    Heureusement!

    Citation Envoyé par neo.51
    par contre en VB.NET ça va surement passer
    Effectivement...
      0  0

  16. #16
    Membre actif Avatar de Causa Sui
    Inscrit en
    Mai 2003
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 133
    Par défaut
    Citation Envoyé par crjo
    • le garbage collector. Plus de memory leak (ou fuite mémoire) avec ça
    • homogénéisation de la notion d'objet. Tout est objet. Même un entier ou une chaîne de caractère.
    Cela dit, je pense qu'il ne s'agit pas là forcément d'avantages. Dans le premier cas, je pense à tous ceux qui étaient habitués à gérer la déstruction de objets (et autres primitives), ce qui peut être avantage en mode de performances, risquent d'être dérouté de ne plus avoir ce controle.
    Pour ce qui est du coté "objet pur", je trouve cela parfois un peu pénible, je pense notament au fonctions statiques des classes mathématiques qui auraient aussi bien pu être des fonctions globales, sans que cela n'entrave vraiment la logique; la POO n'est pas toujours justifiable à mon sens, et c'est ce que j'aimais en C++: programmer comme on veut: depuis le C++ qui resemble plus a du C, jusqu'a la POO.

    Cela dit je pense que d'un certain coté, les partis-pris de C# ne sont pas réelement injustifiés (au contraire) ou pénalisant à long terme, c'est juste une question "d'aclimatation"

    Et pour moi, C++ dans .net (en managé), c'est un peu une hérésie... On à le C#, alors je me demande pourquoi il n'est restent pas à VC++7 natif...
      0  0

  17. #17
    Invité de passage
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1
    Par défaut
    Pour ma part, j’ai voté pour VB.NET plus par obligation professionnelle que par intérêt personnel. En effet, depuis que j’ai terminé ma transition de carrière vers l’informatique (anciennement en gestion), mes employeurs et mes clients m’ont forcé à utiliser VB de la version 3 à la version 6. J’ai aussi programmé en VBA dans Access, Excel et Word. J’ai pourtant "poussé" l’utilisation de Delphi parce que je l’ai utilisé durant mon stage de fin d’études et que j’adorais programmé en orienté objet. Mais, au Québec du moins, l’informatique est tapissé mur-à-mur par Microsoft…

    J’ai programmé pendant un an en VB.NET et j’ai aussi appris la programmation en C# comme passe-temps. Résultat, je ne vois pas des différences marquantes en faveur de l’un ou de l’autre. Quant à l’utilisation de VB.NET pour des petits projets en opposition de C# pour les gros projets, je ne vois pas l’intérêt du choix du langage de programmation basé sur l’ampleur d’un projet. Mon expérience m’a appris que le choix d’un langage de programmation est plutôt basé sur la culture de l’entreprise initiatrice du projet. De plus, les développeurs ont rarement leur mot à dire dans le choix du langage de programmation qui sera utilisé dans tel ou tel projet.

    Même si cela est hors sujet, je risquerais à dire qu’on ne tient généralement pas suffisamment compte de la durée de vie anticipée de l’application à développer. Si je dois programmer une application dont l’utilisation est ponctuelle et limitée dans le temps, je ne vois pas l’intérêt d’utiliser la POO sachant que la maintenance d’une telle application sera négligeable. Je me pose encore la question à savoir si l’environnement .NET est plus efficace dans ce genre de projet que le mal aimé VB6!

    Si j’avais vraiment le choix, j’aimerais bien programmé en C++. Ainsi, je pourrais programmer en C++ sous Windows, Linux, MacOS, etc. sans me soucier de la syntaxe de tel ou tel langage. Un seul langage à maîtriser, une utopie? Naturellement, pour améliorer ma productivité, je pourrais aussi choisir de faire du C++ managé sous .NET. Pourquoi pas?

    Je crois qu’il n’y a pas de langage idéal. Il n'y a que des langages obligés!
      0  0

  18. #18
    doccpu
    Invité(e)
    Par défaut C#, vb, delphi, et J2SE
    Personellement j'ai travaillé avec les 4 languages.

    Autodidacte sur delphi, j'ai néanmoins passé mon BTS sur C# et VB.net
    au niveau technologie ils se valent tous plus ou moins exepté J2SE qui ne m'a pas convaincu réputé plus portable mais avec toutes les versions d'EDI qui sortent on ne sait plus ou donner de la tete ! De plus J2SE ne dispose pas (pour l'instant) de la redefinition d'operateur et son IDE d'origine (netbeans) ne gère pas les composents non visuels (comme les timer).

    A mon goût Delphi et le pascal devient de plus en plus obsolète même si borland tente par tous les moyens de le metre au gout du jour. Il manquent aussi d'intégration parfaites avec les SDK Microsoft (DirectX) ou in faut souvent faire ses propres VCL pour pouvoir les utiliser sans se frapper la tête contre les murs. (Merci à hori pour son merveilleux DelphiX jusqu'à la version 5 de Delphi)

    Le chalenge reste donc pour moi entre VB et C# !

    Pour moi le VB à ses avantages et ses inconvégnants. Les avantage sont surtout au niveau de l'aprentissage qui reste plutot aisé, surtout pour ceux qui vienent de QBasic, VBA, et Delphi/Pascal. Ses principaux inconvegnants sont à mon gout sa permisivité à certains bugs logiques et sa compatibilité avec des structures non stricte (type variant).

    A mon humble avis il est préférable pour un developeur débutant de faire ses armes sur C# et de passer par la suites aux autres languages.

    Les bénefices serons multiples :

    Langage par defaut du framework
    Formalisme strict, code structuré,
    Integration parfaite des SDK microsoft (Face a Delphi)
    Language universellement connus (Derivé du C/C++)
    Facilité de documentation pour les novice sur ce site ou sur microsoft msdn
    Redefinition des operateurs
    Il faut souvent moins de code C# que de code VB.net pour faire les memes choses,
    Passages à Java et a VB pas si douloureux que ça ! (quoique pour J2SE on regrète l'abscence de structures property {get{}set{}} bien pratiques )
    Possibilité de repasser en mode C++ pur avec le mode unsafe (mode non managé).
    Enfin il est parfaitement intégré a windows et il existe des Frameworks sous linux, et peut etre même sous solaris (incertains : ). Donc il est portable source et pseudo Excutable (code IL).

    8) Et en plus il existe un EDI GNU GPL qui fait du bon code (mais mieux vaux etre bien à l'aise avec C# parce qu'il n'est pas encore tout a fait au point pour certaines taches et manque un peu de doc ) sur www.icsharpcode.net.
      0  0

  19. #19
    Membre extrêmement actif
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 144
    Billets dans le blog
    3
    Par défaut
    A mon goût Delphi et le pascal devient de plus en plus obsolète même si borland tente par tous les moyens de le metre au gout du jour
    Ah bon ? euh.... Tu as essayé Delphi 2005 ? Parce qu'à mon avis c'est loin d'être obsolète. En ce qui me concerne j'ai toujours été fan de Delphi et je l'ai abandonné pour Visual Studio avec C#... Mais la, il revient franchement en force, et je me demande même si je vais pas y repasser.

    Rien que l'intellisence de Delphi 2005 est 10 fois mieux que Visual Studio, et l'interface beaucoup plus belle et agréable. Informe toi avant de balancer des trucs pareil.
      0  0

  20. #20
    Invité de passage
    Inscrit en
    Mars 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1
    Par défaut
    je vois les chose comme MonPierrot
    et tout simplement je deteste la syntaxe C ou javascript accolade casse sensitive qui nous les casses (on s'en fout de la casse)

    sans compter qu'avec vb6 on avait l'option base 1
    perdue avec vb net
    commencer par le 0 est ridicule

    donc c # ou autre je ne veux meme pas en entendre parler

    vb net est extremement pratique
      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, 11h43
  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, 15h40
  3. [VB.Net] Que choisir tableaux ou collections ?
    Par Pasiphae dans le forum VB.NET
    Réponses: 2
    Dernier message: 16/03/2006, 15h35
  4. [D2005] - Que choisir Winform ou VCL.NET ?
    Par RamDevTeam dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 07/02/2006, 05h25
  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, 14h03

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