Certains disent « On peut être bon ou on peut avoir de la chance, mais il vaut mieux avoir de la chance ». J'ai le sentiment que ceux qui ont conçu les commandes CL pour qu'elles soient extensibles ont cumulé les deux. Les moyens par lesquels une commande CL peut
6. Des changements, toujours et encore
être améliorée et étendue
sans détruire les commandes CL existantes dans des programmes
CL compilés, sont tout simplement remarquables.
Le chapitre 9 du manuel CL Programming présente une
longue liste des manières par lesquelles une définition de
commande peut être changée sans affecter les programmes
ou procédures CL existants. Voyons quelques-unes des plus
intéressantes.
- Changer un paramètre d’une valeur scalaire
en une liste de valeurs. Essayez de
procéder à ce type de changement sur
une API appelable, en prévoyant la compatibilité
ascendante et vous apprécierez
toute la « puissance de CL ». - Changer un paramètre d’une valeur scalaire
en une liste d’éléments ou pour passer
de n éléments à n+m éléments. - Ajouter de nouveaux paramètres facultatifs n’importe où
après la limite du paramètre de position qui est définie
dans la définition de commande. Là encore, comparez cela
avec la facilité d’ajouter des paramètres à une API, où de
nouveaux paramètres doivent être ajoutés comme des
groupes de paramètres facultatifs et jusqu’à la fin de la liste
des paramètres.
C’est parce que les commandes CL ont été améliorées
progressivement que l’on a atteint le niveau de protection
d’investissement logiciel dont jouissent les clients iSeries
AS/400 et S/38. Les programmeurs recrutés dans des sociétés
dont l’héritage remonte à l’AS/400 ou au S/38 sont stupéfaits
de constater que certaines parties de leurs applications de
gestion sont des programmes CL compilés il y a cinq, dix ou
même vingt ans.
Sans entrer dans les détails techniques de cette prouesse
de CL, le fait est que la chaîne de commandes dont la syntaxe
est vérifiée par rapport à une définition de commande externe
au moment de la compilation, est à nouveau vérifiée
syntaxiquement quand la commande CL est exécutée, en utilisant
une forme jeton de la chaîne de commandes stockée
dans le programme CL. Ce n’est qu’à l’exécution de la commande
que le composant Command Analyzer du système
d’exploitation construit la liste de paramètres réels et invoque
le programme de traitement des commandes. La définition
de commandes fournit une couche d’abstraction
entre l’utilisateur et le programme de traitement des commandes.
Les utilisateurs CL jouissent depuis plus de deux décennies
de ce concept à la fois simple et élégant.
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Deepfakes et IA : 64% des Français pensent savoir les détecter, mais la confiance reste fragile
- Cryptographie post-quantique : le Campus Cyber publie deux guides clés pour accélérer la transition des entreprises
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
