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: Etes-vous plus C# ou VB ?

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

    54 75,00%
  • Visual Basic

    12 16,67%
  • Ne se prononce pas

    6 8,33%
Dotnet Discussion :

.NET : êtes-vous plus C# ou VB ?


Sujet :

Dotnet

  1. #21
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 959
    Points
    959
    Par défaut
    Citation Envoyé par BenoitM Voir le message
    Je ne comprend pas comment l'option Strict ON et l'option Explicit ON n'ont pas été rendu obligatoire.
    C'est la première chose qui m'avait choqué quand j'ai lu le premier livre décrivant VB.NET !!!

    Comment peut ont proposer un langage typé et compilé et garder cette notion de non typage Strict et Explicit.

    Cela dit, je pense que le choix de base était de ne pas choquer les utilisateurs VB-6 et leur permettre de reprendre et recompiler un max de code métier (routines de calculs, de tris, d'inversion, ....) sans trop se prendre la tête de devoir à redéclarer toutes les variables.

  2. #22
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Citation Envoyé par octal Voir le message
    Cela dit, je pense que le choix de base était de ne pas choquer les utilisateurs VB-6 et leur permettre de reprendre et recompiler un max de code métier (routines de calculs, de tris, d'inversion, ....) sans trop se prendre la tête de devoir à redéclarer toutes les variables.
    IL manque un adjectif avant utilisateurs : mauvais.
    J'avais des gens dans mon équipe à la (déjà lointaine) époque "pre .net" qui travaillaient en VB6, je n'aurais jamais admis qu'on utilise un code sans OPTION EXPLICIT ON.

  3. #23
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 959
    Points
    959
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    IL manque un adjectif avant utilisateurs : mauvais.
    J'avais des gens dans mon équipe à la (déjà lointaine) époque "pre .net" qui travaillaient en VB6, je n'aurais jamais admis qu'on utilise un code sans OPTION EXPLICIT ON.
    +10000

    pareil j'activais cette option par défaut dans la config et c'est la première chose que je vérifiait quand je commençait le moindre programme.

  4. #24
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2009
    Messages : 7
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Je ne vois pas du tout sur quoi se base cette affirmation. Peux tu l'étayer ?

    ne pas mélanger tout merci.
    Je ne pense pas mélanger tout, tu as juste rajouté des informations, qui ne me semblait pas pertinente. Mais je vais te répondre pourquoi j'affirme ça.

    Ce n'est pas le langage qui fait un bon programmeur mais sa capacité à répondre à un problème. Si cette personne possède une bonne connaissance algorythme. Il pourra utiliser n'importe quel langage. Le langage est un support de retranscription d'une logique...

    Pour revenir au sujet principal

    Franchement, c# ou vbnet c'est pareil. Y en a (et moi y compris) qui ont des préférences pour c# ou vbnet ou java voir même l'assembleur.... et c'est normal.

    Pour la gamme DOTNET, il y a la grammaire, la synthaxique qui change pour chaque langage. Mais tout est basé sur le framework donc même objets d'un coté ou de l'autre.
    Après y a des menus qui sont cachés en VBNET et pas en C# vise et versa... mais tout peu être réactivé. Le "par défaut" de VBNET est très discutable, je suis d'accord... C'était sans doute pour combler les developpeurs vb6.... De toutes façons, y a toujours eu cette gueguere c ou vb.

    Je crois que c'est sujet à polymique. Un peu "comme qui prefere la fraise ou le chocolat"...

    Option Explicit ON et Option Strict ON devraient être obligatoire, ainsi que d'activer tous les menus....

    Au passage, je te remercie pour programmeur du dimanche, mais je travaille aussi la semaine...

    Je viens de regarder le lien http://www.developpez.net/forums/d11...m/#post6213974

    Ce n'est pas une classe classique le nullable(of ) mais un Wrapper ...
    J'ai rencontré ce problème et j'ai tourné en rond avec ça.

  5. #25
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Citation Envoyé par kikione Voir le message
    Je ne pense pas mélanger tout,
    tu as juste rajouté des informations, qui ne me semblait pas pertinente. Mais je vais te répondre pourquoi j'affirme ça.
    Ce n'est pas le langage qui fait un bon programmeur mais sa capacité à répondre à un problème. Si cette personne possède une bonne connaissance algorythme. Il pourra utiliser n'importe quel langage. Le langage est un support de retranscription d'une logique...
    Je ne vois pas en quoi ce que tu viens d'écrire (qui n'est pas faux au demeurant) soutient ce que tu disais ici :

    Si j'étais à votre place, je choisierai VBNET et des personnes avec une bonne formation algorythmique, ils s'adapteront plus facilement au VB qu'au C#.
    Tu n'as absolument pas étayé l'affirmation comme quoi avec une bonne formation algorithmique (sans y, le mot vient de l'arabe, pas du grec) ou pas, ils s'adapteront plus au VB qu'au C#.

    Concernant le mélange, cela répondait à ces affirmations :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Et VB6, ils l'ont fait évoluer pour DOTNET.
    puis :

    Ils ont juste proposer un langage, une syntaxe nouvelle. VB6 était vieillissant, il fallait aussi passer à autre chose...
    Or, affirmer que la genèse de .Net vient de la syntaxe VB6 vieillissante est au mieux très réducteur, et au pire absurde, alors qu'il est évident que Microsoft avait besoin surtout d'une plateforme unifiée de développement, remplaçant non pas VB6, mais l'empilement de techno plus ou moins incompatibles entre elles qu'il fallait supporter pour mener un bien un projet qui sortait du banal C/S en client lourd avec SGBD à l'autrre bout. Tu as parfaitement le droit de juger non pertinentes les informations qui démontent une affirmation erronée, mais bon ....

    En dehors de cela, je suis d'accord avec le reste de ton poste.

  6. #26
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 227
    Points : 28 228
    Points
    28 228
    Par défaut
    Entièrement d'accord avec le dernier post de kikione

    Le "par défaut" de VBNET est très discutable, je suis d'accord... C'était sans doute pour combler les developpeurs vb6.... De toutes façons, y a toujours eu cette gueguere c ou vb.
    On est quand même maintenant à plus de 8 ans et 5 (bientôt 6) versions de VB.net et donc de la fin officielle de VB6. Il serait tant, je pense pour Microsoft de couper définitivement le lien ombilical avec VB6. Un premier pas a été fait avec VB2010 puisque le convertisseur de projet VB6 n'est plus intégré, mais ce n'était pas l'essentiel.

    Option Explicit ON et Option Strict ON devraient être obligatoire, ainsi que d'activer tous les menus....
    Option Explicit et Option Strict ne devrait plus existé depuis longtemps (je disais déjà cela pour VB6) et devrait être intégré au langage. Activées, il ne devrait pas pouvoir être possible de les désactivées.
    Il en va de même pour d'autres subtilités de VB comme les opérateurs AND et OR à remplacer par ANDALSO et ORELSE dont le comportement est celui, plus logique, du C,C++, C#, ...
    La boucle For, aussi, devrait être remplacée depuis longtemps par celle de la famille C, surtout pour la partie réévaluation de la borne de fin à chaque itération.
    Ce sont quelques petits détails inhérents à l'ascendance du VB (et qu'il serait bien d'abandonner) et qui font la différence avec le C# mais ils ne sont pas suffisants pour opposer les 2 langages.

  7. #27
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 184
    Points : 4 501
    Points
    4 501
    Par défaut
    Elle a quoi de spécial la boucle For en VB.Net?
    Ca ne m'avais pas marqué.

    Part contre, le And qui évalue les 2 opérantes alors que la premiere donne un résultat déterministe
    Combien d'exception au début quand tu tests
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (Not mavar = Nothing And mavar="test")
    Je me souviens de mes débuts en VB.Net, ca se résumait à
    Une fois que tu sais ca va mais au début ca supprend

  8. #28
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 227
    Points : 28 228
    Points
    28 228
    Par défaut
    La boucle For a de spécial en VB, que l'itérateur va d'une valeur de début à une valeur de fin et que ces valeurs de début et de fin sont déterminées au départ avant de rentrer dans la boucle For et ne sont jamais réévaluées même si elles changent en cours de boucle.
    L'itérateur, et seulement lui, est seulement incrémenté (ou décrémenté) d'une valeur fixe.

    Le For de la famille C fonctionne différemment. L'itérateur prend une valeur d'initiallisation, puis, avant chaque itération, la ou les conditions de fin sont évaluées. Si elles ne sont pas remplie l'itération est effectuée. L'évolution de l'itérateur ne se limite pas à une incrémentation.

    Le For de la famille C est nettement plus souple et polyvalent que le For de VB, prend en compte l'évolution de la condition de fin en cours de boucle et ne se limite pas à l'itération sur une seule variable.

  9. #29
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 184
    Points : 4 501
    Points
    4 501
    Par défaut
    La boucle For a de spécial en VB, que l'itérateur va d'une valeur de début à une valeur de fin et que ces valeurs de début et de fin sont déterminées au départ avant de rentrer dans la boucle For et ne sont jamais réévaluées même si elles changent en cours de boucle.
    Donc tu ne peux pas faire un truc du genre ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    For (i=0;i<10;i++)
    {
    i=i+5;
    }

    Part contre la où j'ai trouvé VB plus pratique que c# c'est pour les switch
    en VB. Tu peux faire un switch même si ce ne sont pas des "constantes" et je trouve ca plus lisible que le
    if (....)
    elseif (....)
    elseif (....)
    même si je sais bien que dans le CRL se sera traduit de la même façon

  10. #30
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 227
    Points : 28 228
    Points
    28 228
    Par défaut
    Si tu peux modifier l'itérateur en cours de route (d'ailleurs le code que tu montre est du C-Familly, pas du VB)

    En C-Familly, tu peux avoir plusieurs itérateurs dans la même boucle, gérés de concert. En VB, non, les itérateurs supplémentaires sont à gérer manuellement par le code.

    En C-Familly, tu modifie une variable entrant dans le condition de fin, en cours de route, c'est pris en compte, pas en VB :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    a=10;
    For (i=1;i<a;i++)
    {
        ...
        a=2;
        ...
    }
    donnera 1 itération

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    a=10
    For i=1 To a
        ...
        a=2
        ...
    Next
    donnera quand même 10 itérations, malgré le changement de a en cours de route

  11. #31
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    En gros, en VB la borne finale n'est évaluée qu'une fois, au début de la boucle. En C# (et autres langages C-like) le for est plutôt un while amélioré, il n'y a pas forcément une borne finale

  12. #32
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    Si tu peux modifier l'itérateur en cours de route (d'ailleurs le code que tu montre est du C-Familly, pas du VB)

    En C-Familly, tu peux avoir plusieurs itérateurs dans la même boucle, gérés de concert. En VB, non, les itérateurs supplémentaires sont à gérer manuellement par le code.
    On peut ajouter d'ailleusr que en 'C Family' la boucle for recouvre fonctionnellement la boucle while, qui est de facto inutile (mais pas la do .. while), puisque l'itérateur est optionnel dans la for. Je me suis souvent demandé pourquoi cette instruction (while())existait, puisque si je ne m'abuse la boucle for est complète depuis le début du C.

    Alors que les insuffisances de la boucle FOR en VB (dans tous les basic, AFAIK) impliquent de disposer en plus de la [WHILE BEGIN .. END] ou de la [WHILE .. WEND]. La DO.. UNTIL ayant par ailleurs la même fonctionnalité de facto que la do..while de la 'C Family'

  13. #33
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 184
    Points : 4 501
    Points
    4 501
    Par défaut
    Un peu bête de faire un for( ;MaCondition; )
    C'est pas très joli je trouve

    ----
    merci sevyc64.
    Beuh ma synthaxe en VB.Net est un peu rouillée donc j'ai préféré mettre en c-like

  14. #34
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Citation Envoyé par BenoitM Voir le message
    Un peu bête de faire un for( ;MaCondition; )
    C'est pas très joli je trouve
    C'est pas faux; mais c'est toujours moins laid que le FOR du PL/SQL

  15. #35
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par BenoitM Voir le message
    Un peu bête de faire un for( ;MaCondition; )
    C'est pas très joli je trouve
    A mon avis c'est bien pour ça qu'ils ont introduit le while, même si c'était pas indispensable...

  16. #36
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 184
    Points : 4 501
    Points
    4 501
    Par défaut
    Vous êtes sur que le while est venu après le for?

  17. #37
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Citation Envoyé par BenoitM Voir le message
    Vous êtes sur que le while est venu après le for?
    En ANSI C (C89), les deux existaient; donc, de facto depuis 1983. avant je ne sais pas.

  18. #38
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par BenoitM Voir le message
    Vous êtes sur que le while est venu après le for?
    Si je devais deviner, je dirais qu'il sont apparus en même temps...

  19. #39
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 808
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 808
    Points : 32 110
    Points
    32 110
    Par défaut
    VB, mais uniquement par habitude des langages verbeux. Au final, c'est très, très similaire en capacité(et en pièges).

  20. #40
    Membre régulier
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mars 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mars 2009
    Messages : 120
    Points : 90
    Points
    90
    Par défaut
    Bonjour,

    J'ai 53 ans et je suis électricien automaticien de formation. L'informatique ou plutôt la micro-informatique, c'était d'abord de l'autodidacte avec les TRS-80 et consorts, c'est à dire du BASIC, langage multi-usage.
    J'ai débuté avec une TI-57, puis un "pocket" des années 80, des TRS-80, puis le Basic de Borland (trop bugué) pour passer ensuite au Qbasic / QB de Microsoft.
    J'ai fait des librairies, et une gestion de stock/magasin qui fonctionnait super bien.
    J'avais bien entendu connaissance d'autres langages comme le "C", mais ils ne convenaient pas facilement à mon objectif.
    Le temps a passé et Windows est apparu avec ses différents VB. Mais savez-vous que VB1 était sous DOS ?
    J'ai commencé VB à partir de la VB4 jusqu'à intensément VB6.

    Mon boulot actuel est de faire des applications verticales en Office 2007 et donc en VBA. Et je suis bloqué à ce niveau là : Si je peux faire quelques fois du VB.NET chez moi, j'y vais en tâtonnant, mais je suis réjoui par l'aspect objet bien présent.
    Quand mon boulot actuel sera terminé (je suis intérimaire CDD à la semaine), il me sera préférable de trouver une formation de A à Z plutôt que de poser des questions de "débutant" à gauche et à droite.

    À noter que je fais aussi du PHP, VBscript, HTML, etc.

    Cordialement, Blaise

Discussions similaires

  1. Quel est le code dont vous êtes le plus fier ?
    Par Gordon Fowler dans le forum Actualités
    Réponses: 95
    Dernier message: 03/09/2015, 15h27
  2. Réponses: 14
    Dernier message: 26/10/2009, 23h14
  3. [.net] keypress marche plus après click
    Par noinneh dans le forum MFC
    Réponses: 1
    Dernier message: 24/02/2006, 17h45
  4. Search/Replace, avez vous plus rapide ?
    Par Bruno13 dans le forum Langage
    Réponses: 7
    Dernier message: 30/01/2006, 16h49

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