WLangage
WLangage | ||
![]() | ||
Date de première version | 1992 | |
---|---|---|
Paradigme | procédural, structuré, orienté objet | |
Auteur | PC SOFT | |
Typage | statique, dynamique, faible | |
Influencé par | BASIC, Pascal, C++ | |
Implémentations | WinDev, WebDev, WinDev Mobile, Wdscript | |
Système d'exploitation | Multiplate-forme (Windows, Windows CE, Windows Phone, Windows Mobile, iOS, Linux, Android) | |
modifier ![]() |
Le WLangage[1] est un langage de programmation apparu en 1992 avec WinDev. Utilisé par les outils de développement WinDev, WebDev et WinDev Mobile, il est propriétaire et les programmes ne peuvent être manipulés qu'avec les outils PC SOFT.
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.
Programmation
[modifier | modifier le code]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 ou des variables, auxquelles les champs ont été préalablement reliés (databinding).
Typage
[modifier | modifier le code]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
[modifier | modifier le code]Le WLangage permet l'utilisation de classes et inclut 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 instances
[modifier | modifier le code]L'allocation des instances est toujours dynamique. Une variable ou un membre objet manipule en fait une référence sur l'instance.
La gestion des instances se fait par comptage de références, c'est-à-dire que chaque instance possède un compteur du nombre de variables ou de membres qui la manipulent. Dans le cas de références circulaires entre instances, il est nécessaire de forcer la libération d'une instance du cycle par l'ordre libérer (delete si on code en anglais) pour libérer les autres instances du cycle.
Bilingue
[modifier | modifier le code]Le WLangage permet de programmer en français et en anglais, exemples :
- en français :
sChaine est une chaîne sChaine = DateVersChaine(DateDuJour()) Info("Nous sommes le " + sChaine)
- ou en anglais :
sChaine is string sChaine = DateToString(Today()) Info("Today is " + sChaine)
- voire en mélangeant les langues :
sChaine is string
sChaine = DateVersChaine(DateDuJour())
Info("Nous sommes le " + sChaine)
Il est possible de traduire automatiquement le code d'une langue à l'autre mais cela est plus dû à l'éditeur de code de WinDev, WebDev et WinDev Mobile qu'au WLangage lui-même.
Annexes
[modifier | modifier le code]Liens externes
[modifier | modifier le code]Notes et références
[modifier | modifier le code]- W-Langage est l'ancienne orthographe de WLangage.
Text is available under the CC BY-SA 4.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.