-
vba versus java
Bonjour,
Pourquoi préfère t on le langage java au vba ? Es ce a cause de la bibliothèque java qui est grande ? Es ce pour les objets ? Les exceptions, l'héritage,... ?
Le VBA permet il de créer des logiciels ou n'est il qu'un complément à excel pour créer des fonctions particulières ?
merci de votre réponse
Cordialement
-
VBA est un complément à Office, pas seulement Excel (notamment, ça accompagne Microsoft Access), mais ne permet pas de faire des logiciels indépendants (on utilisait VB6 pour ça; la différence est difficile à caractériser, mais seul VB6 permettait de faire des applications; malheureusement, des deux, seul VBA est encore maintenu...)
La gestion de la mémoire entre Java et VB n'est pas du tout la même: VB, basé sur COM, utilise du comptage de références pour ses objets (et je ne sais pas trop comment il gère la désallocation des tableaux et des chaînes), alors que Java utilise un GC. Java a été pensé dès le début pour la portabilité sur diverses machines, VB est plus spécifique à Windows (et VBA, spécifique à Office). Java est un langage spécifiquement orienté objet (héritage multiple, fonctions virtuelles, exceptions pouvant renfermer plus d'information d'erreur qu'une simple chaîne, etc.) alors que VB est limité aux même fonctionnalités "objet" que COM.
VBA n'a pas le même domaine d'activité que Java. Java est une usine à gaz lourde, utile pour un gros serveur web (JSP, etc.) et optimisée pour ce cas, mais qui s'est montrée moins efficace pour des applications "Desktop". VBA permet de faire par exemple une application de saisie de données pour laquelle Java serait "overkill".
-
Les deux n'adressent pas du tout les mêmes besoins.
Dire que Java est une usine à gaz par rapport à VBA dépend énormément de l'application à développer.
VBA pourrait vitre devenir l'usine à gaz s'il faut développer, une application client/serveur ou même Web par exemple :aie:
-
Je dirais la même chose que mes collègues, mais autrement : VBA est un outil excellent quand on fait du pour un, par un. Quand on commence à devoir partager des données de manière régulière, voire, pire, de partager les développements entre plusieurs personnes, ses limites apparaissent. Douloureusement. Là ou les langages professionels - dont Java évidemment - commencent à réellement apporter de la plus-value.