VB pour ou contre ?
Répondre à la discussion
Affichage des résultats 1 à 21 sur 21

VB pour ou contre ?



  1. #1
    questionator

    Question VB pour ou contre ?


    ------

    Bonjour à tous !

    Dans le cadre d'un stage, je programme actuellement des macros en VBA et je dois bien avouer que pour avoir fait du C et C++ (et de l'assembleur pour micro-contrôleur) par le passé, je trouve le VBA particulièrement simple d'utilisation.

    Le VB est proche du VBA dans la syntaxe, et du fait que j'obtiens très facilement des résultats avec VBA pour des macros, j'envisageais de me mettre sérieusement à VB.

    J'ai par le passé entendu beaucoup de mal sur ce langage, alors je voulais tirer les choses au clair.

    Si c'est un "mauvais" langage, pouvez-vous m'expliquer clairement pourquoi svp ?
    (avec des mots relativement simples hein... Inutile d'aller me détailler comment aux tréfonds de la machine, le C ou C++ gèrent mieux tel bidule... Je veux des faits les plus simples et clairs possibles svp)

    Par exemple, un code C/C++ est plus "rapide" qu'un même code en VB (m'a-t-on dit). Pourquoi cela ? N'est-ce pas le boulot du compilateur de transformer en code machine le langage utilisé ? De fait, n'est-ce pas tout simplement une différence de fonctionnement du compilateur ?

    Car je dois bien avouer pour avoir manipulé des chaines de pointeurs sur structure en C (et autre chaînage, pile, arbres binaires du genre) que je ne trouve pas DU TOUT la syntaxe du C intuitive ou efficace de quelque manière que ce soit (les goûts et les couleurs peut-être... m'enfin).
    A contrario je trouve la lisibilité du VB(A) plus claire et la courbe de progression bien plus gratifiante, et reprendre un code programmé il y a longtemps en VB(A) est bien plus simple qu'en C (même avec des commentaires). Attention, je parle pas d'un printf (ou cout) tout simple hein, mais d'un code quand même plus avancé...

    Merci aux connaisseurs de m'éclairer.

    Sinon y-a-t'il des langages dont la progression est plus simple qu'en C/C++ svp et qui sont "recommandables"? (pas de langages interprété type Ruby, et un truc relativement puissant : genre pour faire des plugins VST (audio))

    PS :
    - Pas d’agressions du type "Si tu poses cette question, c'est que tu connais rien à la prog' " et autres.
    - Si je savais tout sur tout, 1) je ne poserais pas de questions (bah oui hein ) et 2) je m'ennuierais à mourir.

    Bonne journée à tous !

    -----

  2. #2
    Pauldair

    Re : VB pour ou contre ?

    Bonjour,

    VB a de nombreux désavantages par rapport à d'autres langages, mais pour ma part, son plus gros point noir est d'être un langage propriétaire.

  3. #3
    Bluedeep

    Re : VB pour ou contre ?

    Bonjour,

    Citation Envoyé par Pauldair Voir le message

    VB a de nombreux désavantages par rapport à d'autres langages, mais pour ma part, son plus gros point noir est d'être un langage propriétaire.
    Le problème est qu'on ne sait pas si il parle de VB ou de VB.Net

    Si il parle de VB, c'est complétement dépassé.
    Si il parle de VB.Net, sa connaissance de VBA ne lui sera d'aucune utilité.

    Sinon, même si je ne suis pas du tout fan de VB.Net, je ne lui vois pas de désavantages particuliers à part sa syntaxe rébarbative.
    L'aspect propriétaire ne me semble pas du tout un soucis dans la mesure où les spécifications de la CLR sont du domaine public et que à partir de la version 4.6, le framework devient en grande partie opensource.
    Par ailleurs la possibilité de développer des programmes pour Linux et Android est assurée via Mono et Monodroid.

    Bref, merci de préciser (pour les deux).

  4. #4
    questionator

    Re : VB pour ou contre ?

    Bonjour, merci pour vos deux réponses.

    Alors, propriétaire, ça veut dire qu'il appartient et est géré par quelqu'un (Microsoft non ?). En quoi c'est un problème ? Je crois que le Delphi est propriétaire (Borland) et pourtant FL Studio est programmé en Delphi.

    Le Visual Basic est dépassé, pardons je ne savais pas. Donc parlons de VB.Net. En quoi la syntaxe est-elle rébarbative ? Je veux dire par rapport au C ou C++ ?

    Et pour ce qui est des questions de vitesse d'exécution. En supposant que l'optimisation de l'algo est la même etc. pourquoi dit-on généralement que tel langage est plus rapide que tel autre ?

    Quel rôle joue réellement le compilateur là dedans svp ?

    Par avance merci.

  5. A voir en vidéo sur Futura
  6. #5
    Bluedeep

    Re : VB pour ou contre ?

    Citation Envoyé par questionator Voir le message
    Le Visual Basic est dépassé, pardons je ne savais pas.
    La dernière version (VB6) remonte à 16 ans. (1999).

    Donc parlons de VB.Net. En quoi la syntaxe est-elle rébarbative ? Je veux dire par rapport au C ou C++ ?
    C'est un point de vue personnel. C'est verbeux et la case insensitivity me dérange.

    Et pour ce qui est des questions de vitesse d'exécution. En supposant que l'optimisation de l'algo est la même etc. pourquoi dit-on généralement que tel langage est plus rapide que tel autre ?
    VB.Net est quasiment aussi rapide que C# puisque ce n'est pas ici le langage qui conditionne la vitesse d'exécution mais la CLR.
    A vrai dire, il est même aussi rapide que C++ en environnement CLR mais il est moins rapide que C++ en environnement natif.
    Les perfs de VB.Net sont comparable à celles de Java (avec quand même un avantage à VB.net).

    Pour les perfs générales de différents langages sur Windows et Linux voir ici : http://reverseblade.blogspot.fr/2009...rformance.html
    Ca date de 2009 mais c'est, en gros, toujours valide. (sauf pour les perfs de C# sur Linux qui ont, depuis, beaucoup progressé avec la maturité de Mono).

    Pour les perfs sur Android, avantage C#/Mono : http://blog.xamarin.com/android-in-c-sharp/#performance
    Là c'est récent (2012).

    Quel rôle joue réellement le compilateur là dedans svp ?

    Par avance merci.
    Là il faudrait quand même allez voir les bases avant de poser de poser des questions sur le choix du langage.
    Dernière modification par Bluedeep ; 12/05/2015 à 12h05.

  7. #6
    cherbe

    Re : VB pour ou contre ?

    Citation Envoyé par questionator Voir le message
    Bonjour, merci pour vos deux réponses.
    Alors, propriétaire, ça veut dire qu'il appartient et est géré par quelqu'un (Microsoft non ?). En quoi c'est un problème ? Je crois que le Delphi est propriétaire (Borland) et pourtant FL Studio est programmé en Delphi.
    Le fait qu'il soit propriétaire n'est pas un problème en soi puisque c'est le cas de beaucoup d'autres langages comme tu le dis.
    En revanche, il est payant et assez cher. Je sais qu'il existe des solutions gratuites et légales mais hormis des programmes vraiment basiques, il manquera toujours une DLL ou autre chose pour t'obliger à acheter la version payante.
    Citation Envoyé par questionator Voir le message
    Le Visual Basic est dépassé, pardons je ne savais pas. Donc parlons de VB.Net. En quoi la syntaxe est-elle rébarbative ?
    La syntaxe est différente de VB mais il demeure pas mal de similitudes. Venant de VBA, tu ne devrais pas être trop dépaysé.
    Citation Envoyé par questionator Voir le message
    Et pour ce qui est des questions de vitesse d'exécution. En supposant que l'optimisation de l'algo est la même etc. pourquoi dit-on généralement que tel langage est plus rapide que tel autre ?
    Je laisse répondre les spécialistes mais en principe, avec un bon algo et un code "proprement écrit" VB.NET est performant.
    A l'inverse, n'importe quel langage mal utilisé générera un programme merdique.

    En résumé, je dirais que VB.NET est bien adapté pour un autodidacte qui développe occasionnellement.
    Pour une programmation plus pointue ou professionnelle, il vaut mieux se tourner vers C++ ou éventuellement JAVA.

  8. #7
    pelkin

    Re : VB pour ou contre ?

    Bonjour,

    Il n'y a pas de bons ou de mauvais langages, il y a juste de bons ou de mauvais programmeurs. On peut faire de l'excellente programmation en VB et il est tout aussi possible de faire de la m...e en C !

  9. #8
    Bluedeep

    Re : VB pour ou contre ?

    Citation Envoyé par cherbe Voir le message
    En revanche, il est payant et assez cher. Je sais qu'il existe des solutions gratuites et légales mais hormis des programmes vraiment basiques, il manquera toujours une DLL ou autre chose pour t'obliger à acheter la version payante.
    C'est totalement faux.
    Les seules features concrètes non disponibles avec les environnement Express (gratuit) sont l'éditeur de workflow et quelque trics du même cru et la possibilité de créer des solutions multilangages. (et pour le WF ont peu quand même les créer et les utiliser mais sans éditeur de flux).
    Sinon, la différence entre les environnements gratuits et payant concernent des fonctionnalités hors langages, tel que la gestion de configuration, l'automatisation des tests, la build factory, etc .....
    Bref, 95% des développements peuvent être fait avec une version "Express"; simplement l'environnement est moins souple d'usage.

    La syntaxe est différente de VB mais il demeure pas mal de similitudes. Venant de VBA, tu ne devrais pas être trop dépaysé.
    Total désaccord avec cette affirmation : la syntaxe du langage est secondaire (connaitre les affectations, les conditions et les boucles, la belle affaire ....), la connaissance du framework c'est 90%; VBA ne lui servira à peu près à rien d'autant qu'il est sans typage et non objet : bref, quelque part l'exact contraire de VB.Net.

    En revancher, un background VB6 avait au début une certaine utiité. (du moins avant la version 2.0 de VB.Net, l'introduction des génériques amenant trop de divergences).

    Je laisse répondre les spécialistes mais en principe, avec un bon algo et un code "proprement écrit" VB.NET est performant.
    Oui.

    A l'inverse, n'importe quel langage mal utilisé générera un programme merdique.
    Oui, aussi.

    En résumé, je dirais que VB.NET est bien adapté pour un autodidacte qui développe occasionnellement.
    Pour une programmation plus pointue ou professionnelle, il vaut mieux se tourner vers C++ ou éventuellement JAVA.
    Je ne suis pas d'accord : si il veut débuter avec l'environnement .NET qu'il passe directement à C#. Il y a au moins une bonne raison à cela : 95% des ressources disponible concernant .NET sur le web présentent des exemples en C#.
    VB.Net est juste une adaptation qu'à fait Microsoft pour "drainer" les anciens codeurs VB6 et pour qu'ils passent à .NET sans être trop dépaysés au début.

    Quant à Java, ben, faut aimer; je préfères 100 fois C#.
    Dernière modification par Bluedeep ; 12/05/2015 à 12h20.

  10. #9
    Bluedeep

    Re : VB pour ou contre ?

    Citation Envoyé par pelkin Voir le message
    On peut faire de l'excellente programmation en VB et il est tout aussi possible de faire de la m...e en C !
    A vrai dire, il est plus facile de faire de m..de en C qu'en VB.

    Ceci dit, une comparaison entre, d'une part, un langage non objet conçu pour faire des accès bas-niveau et de la programmation système et un langage objet orienté application d'autre part est hasardeuse.

  11. #10
    questionator

    Re : VB pour ou contre ?

    Merci Cherbe et Bluedeep.

    A vrai dire cherbe, c'est le type de réponse que j'espérais. Donc c'est bien ce que je pensais, un bon code est un bon code quelque soit le langage.
    J'avais déjà vu des codes en VB.Net, et je n'étais effectivement pas du tout dépaysé par rapport à VBA.

    @Cherbe :
    VB.NET est bien adapté pour un autodidacte qui développe occasionnellement.
    Pour une programmation plus pointue ou professionnelle, il vaut mieux se tourner vers C++ ou éventuellement JAVA
    Heu là je te suis pas. Je suis en effet un autodidacte qui développe occasionnellement. C'est pour quelle raison précisément que le C++ (ou Java) est plus professionnel que VB.Net ? Tu parles d'être plus "pointu", que peut faire C++ que VB.Net ne peut ?

    @Bluedeep :
    Là il faudrait quand même allez voir les bases avant de poser de poser des questions sur le choix du langage.
    La dernière version (VB6) remonte à 16 ans. (1999).
    En 1999 j'avais 7 ans (aujourd'hui j'ai 23 ans)... J'ai fait la connaissance (de loin) du VB au lycée, quand un pote qui programmait avec m'a montré un programme de son cru (donc après les années 2000). Je n'ai pas par la suite suivi l'évolution du langage et je m'y suis ré-intéressé que il y a quelques jours puisque c'est très proche du VBA (syntaxiquement parlant). Donc c'est plutôt normal que je ne sois pas au courant de sa "disparition".

    Bah oui, je suis pas un méga boss de la prog', ça c'est sûr, mais je peux pas me permettre de passer mon temps à programmer non plus (je suis ingénieur en Nanotechnologies, donc je suis déjà occupé ). Si je pose la question du compilateur, c'est pas pour qu'on me dise que j'y comprends rien, c'est pour qu'on m'explique.

    Pour le rôle du CLR je crois comprendre. C'est le CLR qui conditionne le reste, ok.

    Mais pour les langages en environnement natif, pourquoi y a-t-il une différence de vitesse ? Puisque le langage n'est "que" l'interface entre l'homme et le compilateur ? (attention : je sens que cette remarque va pas plaire )

    VB.Net est "verbeux" tu dis, moi personnellement je trouve que c'est justement plus facile à lire.

  12. #11
    pelkin

    Re : VB pour ou contre ?

    Citation Envoyé par Bluedeep Voir le message
    Ceci dit, une comparaison entre, d'une part, un langage non objet conçu pour faire des accès bas-niveau et de la programmation système et un langage objet orienté application d'autre part est hasardeuse.
    Entièrement d'accord avec toi, et c'est la question qui ne fut pas posée : quel langage pour faire quoi ?

  13. #12
    pelkin

    Re : VB pour ou contre ?

    Citation Envoyé par questionator Voir le message
    VB.Net est "verbeux" tu dis, moi personnellement je trouve que c'est justement plus facile à lire.
    Ben oui, comme tous les langages "verbeux" ; dans le style verbeux, y'a COBOL, cela n'en fait pas pour autant un mauvais langage, pour peu qu'on l'utilise pour ce à quoi il est destiné.
    La valeur d'un langage de prog ne dépend que de deux critères, 1) la valeur du programmeur et sa connaissance de l'outil, 2) la pertinence du choix du langage par rapport au but visé.

    Bonne journée.
    Dernière modification par pelkin ; 12/05/2015 à 12h43.

  14. #13
    questionator

    Re : VB pour ou contre ?

    @ pelkin : Ok merci.

    Mon objectif c'est la programmation de plugins VST (audio) et éventuellement VSTi. Plein d'exemples circulent sur le net. Généralement c'est fait en C++.
    Durant mes études j'ai fait du C et de l'assembleur, et après personnellement j'ai été étudier le C++.
    Mais je me demande s'il est possible de faire la même chose avec VB.Net où si le langage choisi BRIDE les possibilités d'applications (c'est forcément un minimum le cas, mais jusqu'à quel point ?)
    Dernière modification par questionator ; 12/05/2015 à 12h47.

  15. #14
    lou_ibmix_xi

    Re : VB pour ou contre ?

    Ma remarque perso sur l'efficacité des langages de haut niveau / langage de bas niveau: il est certain que la principale source d'optimisation est algorithmique, elle n'a donc rien à voir avec le langage utilisé mais plus dans la conception du programme (simplifier une formule mathématique, éviter des copies de données...).

    L'avantage d'un langage de haut niveau est qu'il permet au développeur de ce concentrer sur l'aspect algorithmique plutôt que sur les détails de l'implémentation. Mais cet avantage est également un inconvénient, puisqu'en cachant les mécanismes, il en impose les mécanismes, un exemple rapide est le "garbage collector" que tu ne maitrises pas. Alors si le mécanisme utilisé n'est pas optimal pour ton cas d'utilisation, tu seras "coincé" sans pouvoir optimiser cet aspect. L'inconvénient d'un langage de bas niveau, où le développeur doit gérer ces mécanismes explicitement, devient donc un avantage puisqu'il permet au développeur d'adapter de manière optimale.

    Mon objectif c'est la programmation de plugins VST (audio) et éventuellement VSTi.
    Il est quasiment certain que le format de plugin impose un langage ou une famille de langage (on parle d'ABI, Application Binary Interface), il faut donc que tu regardes sur les spec VST. Ceci dit, l'audio "pro" est un domaine où il faut de la performance, il y a donc des chances pour qu'un langage de haut niveau ne puisse plus suivre la cadence assez rapidement, je te conseillerai donc du C ou du C++.

    Bah oui, je suis pas un méga boss de la prog', ça c'est sûr, mais je peux pas me permettre de passer mon temps à programmer non plus (je suis ingénieur en Nanotechnologies, donc je suis déjà occupé ). Si je pose la question du compilateur, c'est pas pour qu'on me dise que j'y comprends rien, c'est pour qu'on m'explique.
    Tu peux m'expliquer comment on passe d'une idée à une nano-machine ? Bah c'est un peu pareil, si tu t'intéresse sérieusement sur un sujet compliqué il faut se faire une culture car:
    - répéter en une phrase ce qu'est un compilateur n'a aucun intérêt, tu le sais probablement déjà
    - à expliquer plus sérieusement ça prendrait des pages à écrire... or ces explications existent déjà sur le net donc...
    En te faisant une culture sur les compilateurs, tu auras peut-être des questions précisent, auxquelles il sera possible de répondre.

  16. #15
    questionator

    Re : VB pour ou contre ?

    @ lou_ibmix_xi : Merci pour ta réponse très pédagogique.

    Je comprends que ma question sur le "rôle du compilateur" soit trop vague, et ton parallèle idée / nano-machine est élégant et éloquent. Je me renseignerai donc davantage pour aller au delà de la simple connaissance de base que j'ai sur un compilateur, ce sera effectivement plus intelligent et productif.

    Quoi qu'il en soit, je vous remercie TOUS pour vos réponses.
    Passez une excellente journée.

    Au revoir.

  17. #16
    azad

    Re : VB pour ou contre ?

    Salut,
    si tu aimes la simplicité du Basic, alors je te recommande Xojo, anciennement nommé RealBasic, Xojo est un environnement de programmation très bien conçu. Il est relativement cher à l'achat, cependant on peut le tester gratuitement et pour une durée indéterminée à condition d'accepter de faire tourner ses programmes en mode IDE. Tu écris ton code, tu fais run et ça fonctionne parfaitement, et dans ce mode le débugger est inter-actif. L'avantage principal du produit est que si tu achètes la version complète avec un IDE tournant sur Mac, PC ou Linux, tu peux à la compilation demander une version exécutable sur n'importe lequel de ces systèmes d'exploitation. Il y a des outils pour le Web et depuis quelque temps, on peut également compiler pour iOS. A noter aussi qu'un source en VB peut s'adapter facilement en Xojo.
    Par contre faire des plugins pour VST avec Xojo e semble impossible. Cependant on trouve chez l'éditeur des utilitaires pour la création de plug-ins….. pour Xojo. Et pour cela, le C reste le meilleurs moyen
    Essaies de le télécharger gratuitement chez l'éditeur, et je suis persuadé que tu l'adopteras.

  18. #17
    lou_ibmix_xi

    Re : VB pour ou contre ?

    alors je te recommande Xojo
    Il y a suffisamment de langages et d'IDE gratuits et "standards" pour ne pas acheter ce genre de solution! Et si vraiment on a des sous à dépenser, on achète des bibliothèques, outils, supports... dans des langages ayant pignon sur rue. C'est mon avis.

  19. #18
    azad

    Re : VB pour ou contre ?

    Hey lou_ibm…. vas faire un tour sur leur site et tu comprendras mieux. RealBasic a plus de 15 ans d'existence et c'est (à ma connaissance) le seul produit qui peut générer d'un simple clic trois applications qui avec le même code source peuvent tourner en Linux, Mac ou PC avec bien sûr des directives de compilation conditionnelles adaptées à l'OS visé, par exemple pour définir un chemin d'accès à des fichiers.
    D'autre part, je doute que les applications gratuites que tu évoques puissent utiliser AppleScript sur Mac ou OLE sur Windows et ainsi interagir avec pratiquement toute application scriptable sur Mac ou avec les produits Office de Windows. Si tu doutes de cela, télécharges ce produit (gratuit) et regarde les exemples fournis pour te convaincre.
    PS Je ne suis pas actionnaire de la firme en question.
    Dernière modification par azad ; 13/05/2015 à 00h18.

  20. #19
    Bluedeep

    Re : VB pour ou contre ?

    Citation Envoyé par lou_ibmix_xi Voir le message
    Il y a suffisamment de langages et d'IDE gratuits et "standards" pour ne pas acheter ce genre de solution! Et si vraiment on a des sous à dépenser, on achète des bibliothèques, outils, supports... dans des langages ayant pignon sur rue. C'est mon avis.
    +1

    Les solutions exotiques et marginales ne doivent en aucun cas être recommandé à un débutant(même si elles peuvent parfois avoir leur intérêt dans un contexte particulier).

  21. #20
    lou_ibmix_xi

    Re : VB pour ou contre ?

    D'autre part, je doute que les applications gratuites que tu évoques puissent utiliser AppleScript sur Mac ou OLE sur Windows et ainsi interagir avec pratiquement toute application scriptable sur Mac ou avec les produits Office de Windows.
    Je fais de l'embarqué donc je connais mal ce côté là de l'informatique, mais franchement lorsque je vois la qualité de Qt (le seul "outils" de ce type que j'utilise, lorsque je n'ai pas le choix...), qui est gratuit et ouvert, avec le nombre de "wrapper" en langage haut niveau à la python et autre... Et si vraiment les interfaces AppleScript ou OLE n'existent pas en libre en Qt (je ne sais pas), au pire tu n'achètes que ça...

  22. #21
    Bluedeep

    Re : VB pour ou contre ?

    Citation Envoyé par azad Voir le message
    D'autre part, je doute que les applications gratuites que tu évoques puissent utiliser AppleScript sur Mac ou OLE sur Windows et ainsi interagir avec pratiquement toute application scriptable sur Mac ou avec les produits Office de Windows. Si tu doutes de cela, télécharges ce produit (gratuit) et regarde les exemples fournis pour te convaincre.
    PS Je ne suis pas actionnaire de la firme en question.
    AppleScript étant dédié à l'univers Mac il est donc par essence extrêmement marginal, et OLE c'est un peu dépassé au cas où vous n'êtes pas au courant.

Discussions similaires

  1. IDEE pour lutter contre les manques d'eau sur terre et contre l'elevation du niveau de la mer
    Par barbe74 dans le forum Environnement, développement durable et écologie
    Réponses: 21
    Dernier message: 28/06/2011, 18h10
  2. [Renovaion] Lame d'aire pour isolation:Pour ou Contre ??
    Par inviteedf4721d dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 0
    Dernier message: 16/07/2009, 13h40
  3. [Génétique] Les ogm : Pour ou Contre ?
    Par invitee88c63a5 dans le forum Biologie
    Réponses: 10
    Dernier message: 11/01/2008, 07h42
  4. Le POUR et le CONTRE.
    Par invite1d9e93e7 dans le forum [ARCHIVE] Philosophie
    Réponses: 4
    Dernier message: 26/01/2005, 19h33
  5. Pour ou contre: le p2p
    Par invite68b1fbe7 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 34
    Dernier message: 25/09/2004, 12h30