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

VB.NET Discussion :

Visual Basic n’est pas encore mort


Sujet :

VB.NET

  1. #21
    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 : 41
    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 722
    Points
    39 722
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    un modo peut supprimer les 5 posts qui flood à propos de and et andalso ? ^^
    Mais non, je suis sûr que c'est bénéfique à plein de gens

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2007
    Messages : 10 055
    Points : 27 560
    Points
    27 560
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Les opérateurs And, Or, & et | ont aussi leur utilité.

    D'abord pour un cas d'usage où il 'y a pas d'alternative : les opérations de combinaisons de bits. Par exemple :
    Attention à ne pas confondre et mélanger les opérateurs arithmétiques logiques et les opérateurs de test. Bien qu'ils s'écrivent et se nomment de la même manière (et qu'ils semblent, à priori, faire des choses similaires) se sont bien des opérateurs différents. Et ici on parle des opérateurs de tests, pas des opérateurs arithmétiques.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  3. #23
    Expert confirmé
    Inscrit en
    avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 62

    Informations forums :
    Inscription : avril 2008
    Messages : 2 564
    Points : 4 440
    Points
    4 440
    Par défaut
    re


    Sehnsucht
    Quant aux tableaux, je ne suis pas sûr d'avoir compris, si c'est le "problème" d'avoir à écrire 1 là où ça donne 2 éléments ; ce n'est pas près de changer ; il a toujours été précisé que ce qu'on donne sont les bornes des dimensions pas la taille de la dimension (après on aime ou on aime pas mais c'est comme ça et ça représenterait un trop gros breaking change pour que ça change un jour à mon avis)
    Le probleme que tu ne vois pas c'est que dans vb.net la notion de borne dans la declaration n'existe pas et le codeur doit avoir la "borne dans la tete":
    compare ces 2 codes en c# et vb.net qui font le meme travail:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Private arr(2) As Integer 'ce tableau n'as pas la notion de borne que tu invoques ...ressemble a l'array  "fortan"....
        Public Sub New()
     
            For i As Integer = 0 To 2  'ici 2 n'est pas une borne ..d' ou 3 elements...un traquenard!!!
     
            Next
     
        End Sub
     
     
     
    private int[] arr = new int[2];//ici 2 est bien une borne 
            public Exemple()
            {
                for (int i = 0; i < 2 ; i++)  
                {
     
                }
            }
    bon code....

  4. #24
    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 : 41
    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 722
    Points
    39 722
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    Attention à ne pas confondre et mélanger les opérateurs arithmétiques logiques et les opérateurs de test. Bien qu'ils s'écrivent et se nomment de la même manière (et qu'ils semblent, à priori, faire des choses similaires) se sont bien des opérateurs différents. Et ici on parle des opérateurs de tests, pas des opérateurs arithmétiques.
    Je ne suis pas sûr de bien comprendre ce que tu dis... tu veux dire que & et && sont des opérateurs différents (auquel cas on est d'accord), ou que & pour des entiers est un opérateur différent de & pour des booléens ?

    C'est bien le même opérateur, il génère d'ailleurs exactement le même code IL...

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int i1 = 1;
    int i2 = 0;
    int i3 = i1 & i2;

    Code IL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ldc.i4.1    
    stloc.0     // i1
    ldc.i4.0    
    stloc.1     // i2
    ldloc.0     // i1
    ldloc.1     // i2
    and         
    stloc.2     // i3

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    bool b1 = true;
    bool b2 = false;
    bool b3 = b1 & b2;

    Code IL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ldc.i4.1    
    stloc.0     // b1
    ldc.i4.0    
    stloc.1     // b2
    ldloc.0     // b1
    ldloc.1     // b2
    and         
    stloc.2     // b3

    Tu remarqueras au passage qu'en IL, les booléens sont traités comme des Int32, donc au final, c'est la même opération qui sera exécutée par le processeur, que tu fasses un "ou" entre deux entiers ou entre deux booléens.

  5. #25
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Citation Envoyé par MABROUKI Voir le message
    re

    Citation Envoyé par Sehnsucht Voir le message
    Quant aux tableaux, je ne suis pas sûr d'avoir compris, si c'est le "problème" d'avoir à écrire 1 là où ça donne 2 éléments ; ce n'est pas près de changer ; il a toujours été précisé que ce qu'on donne sont les bornes des dimensions pas la taille de la dimension (après on aime ou on aime pas mais c'est comme ça et ça représenterait un trop gros breaking change pour que ça change un jour à mon avis)
    Le probleme que tu ne vois pas c'est que dans vb.net la notion de borne dans la declaration n'existe pas et le codeur doit avoir la "borne dans la tete":
    compare ces 2 codes en c# et vb.net qui font le meme travail:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private arr(2) As Integer 'ce tableau n'as pas la notion de borne que tu invoques ...ressemble a l'array  "fortan"....
    Public Sub New()
        For i As Integer = 0 To 2  'ici 2 n'est pas une borne ..d' ou 3 elements...un traquenard!!!
        Next
    End Sub
     
    private int[] arr = new int[2];//ici 2 est bien une borne 
    public Exemple()
    {
        for (int i = 0; i < 2 ; i++)  
        {
        }
    }
    bon code....
    Tu confonds 2 choses ; une borne et une taille ; une taille c'est le nombre d'éléments ; une borne c'est la position d'un élément spécifique (position de l'élément de départ pour borne de début ; position de l'élément final pour borne de fin)

    Dans le code VB.Net tu déclares un tableau de borne maximale valant 2 (donc de taille 3 conséquence de la numération en base 0 des indices) et tu itères sur chacun des indices compris entre 0 et 2 inclus ; soit sur 3 éléments.
    Dans le code C# tu déclares un tableau de taille 2 (donc ayant pour indices 0 et 1) et tu itères sur chacun des indices compris entre 0 et 2 (exclus) ; soit 2 éléments.

    Personnellement on m'a toujours appris que le nombre d'éléments (la taille ) d'un ensemble indicé était borne_max - borne_min + 1 (ex: pour savoir combien de chiffres sont compris entre 3 et 7 (inclus) je fais bien 7 - 3 + 1 = 5 et entre 3 et 7 il y a bien 3; 4; 5; 6 et 7 soit 5 chiffres).

    Je rappelle à tout hasard (source) qu'à la base ça nous vient de VB6 qui indiçait en base 1 par défaut (et là borne_max ou taille ça revient au même visuellement) mais qui permettait surtout de pouvoir aussi choisir la borne minimale exemple :
    Code VB6 : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim arr(3 To 7) As Type
    ceci donnant un tableau dont le premier élément a pour indice 3 et le dernier élément a pour indice 7 (soit une taille de 5 éléments) [Chose que l'on peut "reproduire" au besoin en .Net avec une des surcharges de Array.CreateInstance]

    Au passage à VB.Net il a été décidé par ses concepteurs de ne plus permettre cela et d'indexer tout en numération 0 mais la possibilité d'utiliser cette syntaxe existe toujours (même si elle est peu utilisée 0 étant la seule possibilité valide pour la borne minimale) soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim arr(0 To 2) As Integer
    Je donne la source dans la documentation au cas où mais le passage intéressant est celui-ci
    Citation Envoyé par MSDN
    You can specify the lower and upper bound of each dimension of an array. To do this, include a boundslist inside the parentheses. For each dimension, the boundslist specifies the upper bound and optionally the lower bound. The lower bound is always zero, whether you specify it or not. Each index can vary from zero through its upper bound value.
    (...)
    Note that an upper bound represents the highest possible value for the index, not the length of the dimension. The length of the dimension is the upper bound plus one.
    Cette possibilité a sûrement été conservée pour faciliter la transition à l'époque en limitant les modifications à apporter (dans la majorité des cas un décalage de -borne_min suffisait)
    Après, on peut regretter qu'un autre choix n'ait pas été fait à l'époque et ça c'est un argument que je peux comprendre tout comme le fait de ne pas aimer.
    Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )
    À quelle heure dormez-vous ?
    Censément, quelqu'un de sensé est censé s'exprimer sensément.

  6. #26
    Expert confirmé
    Inscrit en
    avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 62

    Informations forums :
    Inscription : avril 2008
    Messages : 2 564
    Points : 4 440
    Points
    4 440
    Par défaut
    Sehnsucht

    Dans le code VB.Net tu déclares un tableau de borne maximale valant 2 (donc de taille 3 conséquence de la numération en base 0 des indices) et tu itères sur chacun des indices compris entre 0 et 2 inclus ; soit sur 3 éléments.
    Dans le code C# tu déclares un tableau de taille 2 (donc ayant pour indices 0 et 1) et tu itères sur chacun des indices compris entre 0 et 2 (exclus) ; soit 2 éléments.
    C'est toi qui confonds ces 2 choses,parce qu' en C# on donne une taille alors qu'en vb.net on fournit la "borne superieure maximale" (en plus court Array.GetUpperBound(0) )...
    Voici ce que fait observer MSDN fr sur le sujet dans la rubrique Array de visual basic :
    Dim salesAmounts(4, 11, 30) As Double

    Étant donné que chaque index varie de 0 à son maximum, notez que chaque dimension de salesAmounts est déclarée avec une valeur inférieure de 1 à la longueur requise pour cette dimension. Notez également que la taille du tableau augmente avec chaque nouvelle dimension. Les trois tailles dans les exemples précédents sont respectivement 31, 372 et 1 860 éléments.

    && l'original :
    Note that, because each index varies from 0 to its maximum, each dimension of salesAmounts is declared as one less than the required length for that dimension. Note also that the size of the array increases with each new dimension. The three sizes in the preceding examples are 31, 372, and 1,860 elements respectively
    Cette expression "longueur requise" est surement requise par un minimun de coherence de l'API.Net et non le mabrouki qui vous parles....
    bon code...

  7. #27
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Bref ... on va arrêter les frais ; on ne se mettra pas d'accord même la documentation que tu cites va dans mon sens pour moi ("Étant donné que ..." signale pour moi une conséquence, et se résume à "Comme l'index varie de 0 à maximum ; il n'est pas faux de considérer que chaque dimension est déclarée comme longueur - 1")

    Tu choisis d'interpréter la documentation ainsi : chaque dimension d'un tableau est définie comme longueur (ou taille) - 1 ; c'est un choix, il est valide (tant que l'index minimum est 0 [ce qui est une obligation heureusement]) et conséquemment tu estimes que c'est une aberration.
    Je choisis d’interpréter la documentation ainsi : chaque dimension d'un tableau est définie comme (0 jusqu'à) borne (ou indice) maximal ; c'est un autre choix, il est tout autant valide (même si l'index minimum n'est plus 0 [ce qui n'est pas près d'arriver]) et conséquemment tout s'emboîte et est logique.

    Le reste tient lieu de débat plus sémantique qu'autre chose (étant donné qu'une taille (ou longueur) n'est après tout qu'une distance entre 2 bornes (ou vice-versa)).

    Je n'interviendrai plus sur cette question et ce n'est de toute façon pas le propos du sujet actuel .

    Cordialement !
    Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )
    À quelle heure dormez-vous ?
    Censément, quelqu'un de sensé est censé s'exprimer sensément.

  8. #28
    Membre éprouvé

    Homme Profil pro
    Développeur PHP/Symfony // Mentor OpenClassrooms
    Inscrit en
    octobre 2014
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur PHP/Symfony // Mentor OpenClassrooms
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : octobre 2014
    Messages : 203
    Points : 1 271
    Points
    1 271
    Billets dans le blog
    3
    Par défaut
    Aucune amélioration dans la création de tableaux ou d'ouverture de fichier via VB, dommage.

    On reste surtout sur des améliorations de lisibilité, voir de compréhension pour les arrivants, aucun "gros" changement en profondeur en somme.

  9. #29
    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 : 41
    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 722
    Points
    39 722
    Par défaut
    Citation Envoyé par Guikingone Voir le message
    Aucune amélioration dans la création de tableaux ou d'ouverture de fichier via VB, dommage.
    Pour les tableaux, le sujet a été largement débattu ci-dessus.
    Pour l'ouverture de fichiers, je ne vois pas ce que tu veux dire : ça dépend du framework, pas du langage, et je ne vois pas grand chose à redire à l'API actuelle... tu voudrais quoi comme amélioration au juste ?

    Citation Envoyé par Guikingone Voir le message
    On reste surtout sur des améliorations de lisibilité, voir de compréhension pour les arrivants, aucun "gros" changement en profondeur en somme.
    C'est des petits changements, mais il y en a beaucoup... Il faut garder à l'esprit que le gros chantier de cette version, ce n'est pas les fonctionnalités, mais le nouveau compilateur Roslyn. Ils en ont profité pour ajouter plein de petites choses qui étaient attendues depuis longtemps par les développeurs, mais c'est juste du bonus.

  10. #30
    Membre éprouvé
    Avatar de landry161
    Homme Profil pro
    C#,PHP,MySQL,Android...
    Inscrit en
    juillet 2010
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : C#,PHP,MySQL,Android...

    Informations forums :
    Inscription : juillet 2010
    Messages : 423
    Points : 1 060
    Points
    1 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Kropernic Voir le message
    Un reproche qui est souvent fait à VB est d'être trop verbeux.
    Merci pour la remarque

  11. #31
    Membre averti
    Avatar de Cyrilange
    Profil pro
    Inscrit en
    février 2004
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2004
    Messages : 268
    Points : 342
    Points
    342
    Par défaut
    Je confirme, il n'est pas mort car je continue de développer en VB.NET avec WPF et WCF. Ces nouvelles syntaxes qui le rende moins "verbeux" sont les bienvenues. Longue vie au VB !

  12. #32
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    décembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut évolution visual basic
    les inov signalées sont interessantes surtout le ?.
    vb est encore trs evolutif et a de bons jours devant

  13. #33
    Membre du Club
    Homme Profil pro
    Ex-développeur, retraité.
    Inscrit en
    novembre 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Ex-développeur, retraité.
    Secteur : Conseil

    Informations forums :
    Inscription : novembre 2012
    Messages : 28
    Points : 46
    Points
    46
    Par défaut VB6
    Personnellement, je regrette toujours VB6 qui était beaucoup plus simple d'utilisation. Et s'il m'arrive de programmer en VB.NET, j'ai installé des versions 32bits des systèmes pour pouvoir continuer à utiliser VB6. Je me pose la question de savoir si cette possibilité existera encore sous W10. Il m'arrive encore de devoir booter sous XP afin de pouvoir utiliser certains logiciels ou compilateurs. Il est vrai qu'à 70ans je suis un peu vieux jeu ! De plus, à mon âge, je n'ai plus envie de réinvestir dans tous les nouveaux outils qui ne fonctionnent plus en 64bits (SQL Server, Photoshop, etc.)

  14. #34
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    décembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut à mcoppa
    Moi aussi ne suis plus si jeune et ai aussi programmé en vb6 qui il est vrai est plus simple mais n'offre pas toutes les possibilités de vb.net. Aussi la migration çà entretient les vieux que nous sommes! vous ne regretterez pas

  15. #35
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Pour ma part, j'ai commencé la programmation par le bon vieux C-AINSI/C++ et le java à l'époque... Ce qui ne m'avait pas passionné outre mesure. (En passant plus de temps à comprendre le langage qu'à codé).


    Et puis il a fallu que je travaille, et je suis comme vous tombé dans le VB, depuis je ne fais QUE ça.

    Il est lisible et puissant (si on s'en sert bien). Du coup, de mon point de vue, ce langage est pratique à la fois pour apprendre et pour développer rapidement. On peut rapidement faire des choses toute bête, et petit à petit apprendre les subtilités.


    La dernière chose que j'ai envie, c'est de retrouver les accolades pour faire un If, les pointeurs, les déclarations de pointeurs de variables, des pointeurs de pointeur, les & les *.... et mettre un point virgule à chaque ligne... Gérer la taille des tableaux (bien que je crois que l'allocation dynamique de mémoire ne se fait plus partie du .NET)

    Puis pour déclarer une variable... en commençant par son type, j'ai jamais compris... C'est pour aider le pauvre compilateur tout ça en fait... Il arrive pas à mettre les choses dans l'ordre lol.

    Comme pour les points-virgules, en fait il faut lui dire quand la ligne s'arrête, sinon il est bête il prends tout ton code et le lit comme un fichier texte ! Tout comme le type void d'une fonction... qui sert à dire qu'on ne retourne rien....

    En fait le C# c'est le développeur qui assiste la machine, le VB l'inverse !
    (Je suis de partie pris, vous l'aurez compris!)
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  16. #36
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : juillet 2014
    Messages : 125
    Points : 229
    Points
    229
    Par défaut
    Pourquoi faire simple quand on peut faire compliqué ?
    Depuis VB6 les "améliorations" de VB ne sont que des complications - avis tout à fait perso bien sur.

    j'utilise beaucoup le Basic pour la programmation de micro-contrôleurs avec le Bascom-Basic sur µ-contrôleur AVR de chez Atmel pour faire des automates de plus en plus complexe.
    La structure des programmes est claire, le compilateur rapide. si on bloque on écrit qq lignes en assembleur, rien que pour titiller les registres..
    Pour les transfert de données j'utilise VBA qui jusqu'à 2010 était quasiment Du VB6
    Avec Basic4android on se comprend, c'est très proche.

    Mais l'usine à gaz Studio de Microsoft me dépasse... et on appelle cela un langage pour débutant ?
    Atmel a sorti un "Studio" universel pour ces µ-contrôleurs, même genre d'usine à gaz.

    A quand un retour à la simplicité d'un VB6 ?
    Ne tuons pas Basic qui n'est pas un langage pour les nuls.

  17. #37
    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 : 41
    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 722
    Points
    39 722
    Par défaut
    Citation Envoyé par candide02 Voir le message
    Pourquoi faire simple quand on peut faire compliqué ?
    Depuis VB6 les "améliorations" de VB ne sont que des complications - avis tout à fait perso bien sur.
    Effectivement, VB.NET est plus complexe que ne l'était VB6. Mais il est aussi et surtout beaucoup plus puissant... VB6 était un langage basé sur des objets, mais pas réellement orienté objet : par exemple, il n'y avait pas de notion d'héritage, qui est quand même la base des langages OO... VB6 est très bien pour apprendre à coder (c'est d'ailleurs un des premiers langages que j'ai utilisés) et faire de petites applications simples. Ses proches cousins VBA et VBScript sont tout à fait adaptés pour faire des macros, de l'automatisation de tâches bureautique et du scripting système. Mais pour développer de vraies applications complexes, VB6/VBA/VBS sont vraiment trop limités...

    Citation Envoyé par candide02 Voir le message
    Mais l'usine à gaz Studio de Microsoft me dépasse... et on appelle cela un langage pour débutant ?
    Mais c'est toi qui appelles ça un langage pour débutant... VB.NET n'est pas plus un langage pour débutant que C# (d'ailleurs les fonctionnalités sont quasiment les mêmes, ainsi que tous les concepts liés à la plateforme .NET). C'est une idée largement répandue que VB.NET est un langage "facile" (peut-être parce que VB6 l'était), et du coup les débutants se dirigent souvent vers ce langage. Mais c'est une idée fausse... Ce qui est malheureux à mon sens, c'est que beaucoup de choses dans la syntaxe de VB.NET ne sont là que pour le faire paraitre plus simple, en masquant certaines subtilités qui sont pourtant essentielles à comprendre. Du coup, quand on tombe sur un bug lié aux limites de ces "simplifications", on sait plus quoi faire parce qu'on ne comprend pas vraiment le fonctionnement du langage. Je pense par exemple aux instances par défaut de Form dans les applications Windows Forms ; c'est probablement la "feature" la plus aberrante de VB.NET, et elle n'existe que pour éviter aux développeurs d'avoir à comprendre des concepts de POO...

    Quant au fait que Visual Studio soit une usine à gaz : c'est pas complètement faux, mais ça s'explique et se compense par le fait que c'est un IDE extrêmement riche et complet. Comme je le disais dans un autre topic, s'il y a bien une application qui me retiens sous Windows, c'est bien Visual Studio. Evidemment l'IDE de VB6 était beaucoup plus léger, mais il était aussi beaucoup moins riche en fonctionnalités... si je devais recommencer à l'utiliser, j'aurais l'impression de revenir à l'âge de pierre.

    Citation Envoyé par candide02 Voir le message
    A quand un retour à la simplicité d'un VB6 ?
    C'est pas demain la veille. Du point de vue de Microsoft, VB6 est mort et enterré. Il y a plein de gens qui continuent à l'utiliser, mais il n'évolue plus depuis au moins 15 ans. VB.NET, pendant ce temps, s'améliore, mais il ne va pas devenir plus "simple".

    Citation Envoyé par candide02 Voir le message
    Ne tuons pas Basic qui n'est pas un langage pour les nuls.
    Il faudrait savoir... d'abord tu dis que c'est supposé être un langage pour débutant, et ensuite tu dis que ce n'est pas un langage pour les nuls (bon, OK, débutant n'est pas synonyme de nul, mais quand on débute, on commence forcément par être nul...)
    VB6 est un peu un langage "pour les nuls" (ce qui en fait ne veut pas dire grand chose), ou du moins un langage pour ceux qui n'ont pas envie de se prendre la tête avec des concepts avancés. VB.NET est un langage avancé (bien qu'un peu bancal à mon avis), qui effectivement n'est pas "pour les nuls", puisqu'il nécessite une bonne compréhension de la POO et de la plateforme .NET.

  18. #38
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : juillet 2014
    Messages : 125
    Points : 229
    Points
    229
    Par défaut
    Tu as tout à fait raison.

    Je donne des cours d'informatique à des "Mme Michu", je voudrais ouvrir un atelier programmation pour des ado. Quels langages conseillerais-tu ? sachant que comme beaucoup de Basic-addict, je ne supporte pas le C c'est épidermique ! Peut-être Python ?

    Merci de tes conseils.
    JP

  19. #39
    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 : 41
    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 722
    Points
    39 722
    Par défaut
    Citation Envoyé par candide02 Voir le message
    Je donne des cours d'informatique à des "Mme Michu", je voudrais ouvrir un atelier programmation pour des ado. Quels langages conseillerais-tu ? sachant que comme beaucoup de Basic-addict, je ne supporte pas le C c'est épidermique ! Peut-être Python ?
    Le C, de toute façon je ne le recommanderais pas pour une initiation, c'est un trop peu ardu quand on a jamais codé... Mais une fois que les concepts de base de la programmation sont maitrisés, je pense que c'est une bonne idée d'apprendre le C pour mieux comprendre comment fonctionne l'ordinateur (gestion de la mémoire, pointeurs...)

    Python, pourquoi pas. C'est un des langages les plus simples au niveau de la syntaxe, et on peut facilement démarrer de zéro, il n'y a pas vraiment de pré-requis.

    Après, sur ce sujet, il y a autant d'avis que de personnes... Regarde cette discussion pour d'autres avis.

  20. #40
    Membre actif
    Homme Profil pro
    Developpeur
    Inscrit en
    février 2013
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : février 2013
    Messages : 180
    Points : 271
    Points
    271
    Par défaut
    prend des langages à la mode ça permet d'avoir plus d'attentions de la part des élèves.
    après je conseillerai de prendre celui avec lequel VOUS etes le plus a l'aise.
    il faut évité de demander "Quel langage conseillez vous !" puisque personne n'est jamais d'accord, et pour le prouver il n'y qu'a regarder le nombre de poste sur ce sujet.


    Je donne tout de même mon avis puisque la question est posé.
    Alors tout dépend des envies de réalisation et de l'envi d'apprentissage
    pour ma part je conseillerais
    - le C# (le meilleur ) : il donne un excellent IDE, un framework complet et pas surcharger. Mais utilisable que sur windob pour le moment
    - le java : permet de développer sur tout type de plateforme, ce qui un gros avantage dans notre période de mobile, il possède aussi un excellent framework
    mais il faut faire attention a la version utilisé et au prédicate
    - le C++ : excellent IDE (Qt5), excellent pour apprendre, une fois que l'on maitrise ce langage, les autres ne pose plus de problème
    voila ce qui est de mon avis pour la POO mais il ne fait pas oublié que le SQL est obligatoire

    Cordialement

Discussions similaires

  1. [XL-2003] L’accès par programme au projet Visual Basic n’est pas fiable
    Par hartarus dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/05/2015, 15h51
  2. macro marche dans Visual Basic mais pas via outlook
    Par davzell dans le forum Général VBA
    Réponses: 0
    Dernier message: 12/03/2014, 12h44
  3. L’accès par programme au projet Visual Basic n’est pas fiable
    Par wilfried_42 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/05/2011, 14h49
  4. Ensemble Visual Basic 3.0, encore d'actualité?
    Par dino7 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 31/07/2006, 03h35

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