- W-langage
-
WLangage
WLangage Apparu en 1992 (dernière révision en 2001) Auteur PC SOFT Paradigme procédural, structuré, orienté objet Typage statique, dynamique, faible Influencé par BASIC, Pascal, C++ Implémentations WinDev, WebDev, WinDev Mobile Système d'exploitation Multiplate-forme (Windows, Windows CE, Linux) Le WLangage[1] est un langage de programmation de 4e génération[2] (L4G) inclus dans les outils de développement WinDev, WebDev et WinDev Mobile. Il est propriétaire et ne peut être manipulé qu'avec les outils PC SOFT. Le WLangage est né en 1992 avec la première version de WinDev.
Même s'il y a explicitement une première phase précoce de compilation, le bytecode WLangage est exécuté par une machine virtuelle ou converti en code natif à la volée par un compilateur juste-à-temps (just in time, JIT). Le framework est disponible sous Windows (32 bits, 64 bits et CE) et partiellement sous Linux (sans interface graphique).
Le WLangage peut également s'appuyer sur le framework Java pour une partie de ses fonctionnalités, ce qui permet une indépendance relative et limitée du fichier exécutable par rapport au système d'exploitation cible. Il en va de même dans WebDev, où le WLangage peut s'appuyer sur le framework PHP, sans toutefois permettre d'utiliser toutes les possibilités de ce dernier[3].
Initialement prévu pour Windows, une partie des fonctions du WLangage est basée sur l'API Microsoft Windows.
Sommaire
Programmation
Le WLangage est un langage de programmation procédurale qui permet la programmation impérative et la programmation orientée objet.
Le WLangage contient des fonctions de haut niveau, telle que la fonction EcranVersFichier, qui effectue les affectations du contenu des champs d'une fenêtre vers des tables stockées dans un fichier, auxquelles les champs ont été préalablement reliés, ainsi que par la traduction linguistique (français/anglais) de tous les noms de fonctions et de constantes, modifiable à la volée, automatiquement[4].
Typage
Le WLangage autorise une utilisation souple du typage. Les variables doivent être typées mais les paramètres formels des procédures ou les itérateurs de boucles peuvent ne pas l'être. Il est ainsi possible dans un même projet de combiner des procédures avec typage strict pour profiter de la rigueur du typage statique et des procédures sans typage pour profiter de la souplesse du typage dynamique et du duck typing.
Orientation objet
Le WLangage permet l'utilisation de classes et inclus entre autres :
- l'encapsulation (public, protégé, privé) ;
- la composition de classes ;
- l'association de classes ;
- l'héritage multiple ;
- l'abstraction et le polymorphisme.
Gestion des erreurs et des exceptions
Le WLangage se différencie d'autres langages en distinguant deux catégories d'erreurs qui peuvent survenir lors de l'exécution et en proposant des mécanismes automatiques de traitement des erreurs.
Une erreur, ou erreur non fatale, est une erreur qui se produit en conditions normales lors de l'exécution. Par exemple l'échec de l'ouverture d'un fichier est une erreur non fatale, l'exécution continue pour permettre le traitement de l'erreur. L'erreur peut être traitée par programmation, comme dans la majorité des autres langages, en testant la valeur de retour de la fonction appelée ou en vérifiant une variable d'état (nommée ErreurDétectée). Cependant l'intérêt du WLangage repose sur toute une panoplie de traitements automatiques sans programmation qui permettent de gérer les erreurs qui se produisent dans une procédure :
- poursuite de l'exécution de la procédure au label spécifique CAS ERREUR
- sortie de la procédure en renvoyant une valeur d'échec prédéfinie et/ou en relayant l'erreur à l'appelant
- affichage du message d'erreur avec différentes propositions pour l'utilisateur : réessai de l'opération (utile pour les erreurs de fichiers par exemple), fin de l'application, ...
- exécution d'une procédure
Une exception, ou erreur fatale, est une erreur qui se produit en conditions anormales lors de l'exécution. Par exemple l'accès au troisième élément d'un tableau n'en contenant que deux génère une exception, l'exécution en cours s'interrompt de la même manière qu'en C++ ou C#. L'exception peut être traitée par programmation grâce aux instructions QUAND EXCEPTION et QUAND EXCEPTION DANS. Dans ce cas également, WinDev propose des traitements automatiques sans programmation :
- poursuite de l'exécution de la procédure au label spécifique CAS EXCEPTION
- exécution d'une procédure
Bilingue
Le WLangage permet de programmer en français et en anglais. Exemple :
sChaine est une chaîne sChaine = DateVersChaine(Maintenant()) Info("Nous sommes le " + sChaine)
ou en anglais :
sChaine is string sChaine = DateToString(Now()) Info("Nous sommes le " + sChaine)
Par ailleurs, l'environnement permet la traduction des zones de saisie et des textes utilisés dans la programmation (jusqu'à 20 langues dans un même programme)
Références et notes
- ↑ W-Langage est l'ancienne orthographe de WLangage.
- ↑ Selon son éditeur, WLangage est un langage de cinquième génération. Or, WLangage est un langage de programmation impérative et non pas de programmation logique ou de programmation par contraintes, ce n'est donc pas un langage de 5e génération.
- ↑ Par exemple, les fonctions LDAP ou encore la prise en charge d'autres SGBD que HyperFile et MySQL (ce qui explique pourquoi l'accès natif à MySQL est gratuit).
- ↑ Mais cela est plus dû à l'éditeur de code de WinDev, WebDev et WinDev Mobile.
- Portail de la programmation informatique
Catégories : Langage de requête | Langage orienté objet | Langage impératif | Langage pour pages Web dynamiques
Wikimedia Foundation. 2010.