WLangage

langage de programmation

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.

WLangage
Image illustrative de l’article 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)

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

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

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

Le WLangage permet l'utilisation de classes et inclut entre autres :

Gestion des instances modifier

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

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

Liens externes modifier

Notes et références modifier

  1. W-Langage est l'ancienne orthographe de WLangage.