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

C# Discussion :

Stratégie de programmation Visual C#


Sujet :

C#

  1. #21
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    VBScript n'est pas un "concurrent de JavaScript" ou autre, mais avant tout de descendant de Basic (au même titre que VB d'ailleurs).
    C'est depuis "toujours" le langage utilisé pour faire des macro Office (VBA n'est qu'une sourcouche de VBS), qui est bien plus ancien que Internet Explorer. On trouvait notamment VBA dans Word 2 pour Windows 3.1 alors qu'il n'existait pas de version d'internet explorer sur cette version de Windows (seulement 3.11)

    Bref, et en Basic, il n'y avait pas de Dim.
    On ne pouvait travailler qu'en global.

    Et sinon, cet exemple vient pour illustrer le danger de la programmation à partir de variables globales (ce qui est impossible en .NET, mise à avec avec VB.NET dans quelques cas précis).

    Quant au lien entre Basic et VB.NET, il est bien présent, puisque 90% des syntaxes étranges de VB.NET (qui vont à l'encontre des bonnes pratiques de n'importe quel langage moderne) sont là uniquement pour que les dinosaures qui ont débuté l'informatique avec Basic ne soient pas trop perdus.

    Et la preuve que c'est "utile", ce topic existe.
    On ne jouit bien que de ce qu’on partage.

  2. #22
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    PS : Et ne me dites pas qu'un singleton est une variable globale. C'est une "bidouille" pour reproduire, entre autres, un comportement proche des variables globales, mais ça n'a rien à voir !

    Pour simuler "vraiment" des variables globales,il faudrait passer en paramètres à toutes les fonctions un "object[]" contenant une référence vers toutes les instances de tous les objets et variables déclarées (en gros, on ne déclare plus de variables, on se contente de travailler avec cet array d'objects).

    Là où ça se complique, avec les variables globales, c'est quand on commence à avoir plusieurs niveaux d'imbrication, avec certains niveaux qui vienne écraser les variables déclarées dans un scope parent (pas forcément global), et d'autres travailler avec des valeurs locales.

    Bref, vous ne me ferez pas démordre que les variables globales c'est le mal. C'est pas pour rien qu'elles n'existent plus dans aucun langage moderne.

    J'ai assez galéré en maintenance de sites ASP pour savoir de quoi je parle ! Et encore, je n'ai pas abordé les variables globales partagés entre instances ou non (variables Session et Application) dans un contexte ASP.
    On ne jouit bien que de ce qu’on partage.

  3. #23
    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 : 40
    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
    Faudra m'expliquer comment VBA (créé en 1993) peut être une surcouche de VBS (créé en 1996)
    VBA est une implémentation de VB (créé en 1991) spécifique à l'environnement office ; et partage le même runtime que VB (msvbvmxx.dll avec xx la version)
    VBS est dérivé de VB ; autrement dit il partage une syntaxe similaire mais n'a pas le même runtime (il utilise vbscript.dll au lieu du runtime VB)

    Dim existait déjà en BASIC (et même dans sa toute première version le Dartmouth BASIC de 1964) et ne servait alors qu'à Dimensionner les tableaux.

    Depuis VB (peut-être même avant [GW-BASIC & cie par exemple]; à vérifier) les globales ne sont plus l'unique scope ; en VB il existait 3 scopes le global, le scope module et le scope local.
    Depuis VB.Net ; le scope global n'existe plus ; par contre il y a moyen (assurant la rétrocompatibilité) de simuler cette globalité ; pour exemple et rejoindre avec le sujet initial du topic ; les "Form accessibles par défaut" proviennent d'une "Factory de Singleton" (My.Forms) avec la simplicité d'écriture de pouvoir omettre ce conteneur ; et comme tu l'as dit un singleton n'est pas une globale

    Quant à l'utilité de ce topic ; à la base, c'était car quelqu'un ne comprenait pas une différence entre C# et VB.Net ; là ça dérive plus dans une croisade "anti-VB" ce qui est ton droit mais ce n'est pas trop l'endroit
    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.

  4. #24
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    étrange cette haine envers vb.net
    moi je le trouve bien ^^

    Citation Envoyé par StringBuilder Voir le message
    90% des syntaxes étranges de VB.NET
    le chiffre est gros et est peut-être pas loin de la vérité, mais ce n'est qu'un effet d'annonce ; des syntaxes étranges en vb.net il y en a peu, et on peut s'en passer

    après soit les variables globales existent en vb.net et elles existent aussi en c# (oui je ne sais toujours pas ce que tu entends pas variable globale du coup)
    soit elle n'existe dans aucun des 2
    donc pourquoi continuer d'en parler et dériver sur des langages des années 90 pour essayer d'avoir raison (en vain selon Sehnsucht)

    le raccourci de vb.net évoqué au début du topic est certes une aberration mais ce n'est pas une variable globale selon ta description
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Besoin d'explication sur la programmation Visual
    Par Djohn dans le forum Windows
    Réponses: 3
    Dernier message: 02/03/2008, 17h34
  2. Réponses: 0
    Dernier message: 21/08/2007, 11h43
  3. Cherche aide en programmation Visual Basic 6.0!
    Par Fernando2 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 03/01/2007, 08h41
  4. DLL Visual C++ appelée dans un programme Visual Basic
    Par marseillais57 dans le forum MFC
    Réponses: 7
    Dernier message: 21/07/2005, 14h57
  5. Convertir un programme Visual c++ vers C++ builder
    Par Skarlix dans le forum C++Builder
    Réponses: 11
    Dernier message: 16/10/2004, 22h51

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