Il existe déjà un langage purement logique, c’est le SQL. Pourquoi le SQL a-t-il pu voir le jour ?
Parce que, quand on ne s'intéresse qu'au niveau logique, on s'aperçoit que le nombre de types d'opérations possibles est limité. Par exemple, pour les requêtes, il y a les filtres, les jointures, les tris, les fonctions ...
Bien sûr, après ça se ramifie : par exemple il y a des 'centaines' de fonctions possibles, mais les systèmes experts qui traduisent le Sql en actions physiques se fichent de savoir si la fonction est Sinus() ou Valeur_Absolue(). Il raisonne à un niveau supérieur : Si (il y a des fonctions) Alors ... C'est cette possibilité qui fait aussi que le SQL existe.
Maintenant, essayons d'extrapoler cette expérience aux traitements batchs (par exemple)
Si on se pose la question "Que peut-on faire, finalement, comme différents types d'opérations logiques dans un batch ?", on arrive très difficilement à une trentaine de types d'opérations (et encore faut-il être vicieux) : par exemple jointure, filtre, tri, etc.
L'exemple de la jointure est intéressant. Si on veut joindre entre Excel et un fichier plat, ou même entre 2 SGBD différents, il faut écrire un code assez long. Mais ce qu'on veut faire sur le plan logique est très simple '"Joindre deux données".
C'est à dire que toutes les personnes qui produisent des kilomètres de code de batch chaque jour, ne font finalement que 30 choses logiques différentes, alors que ces choses sont très simples à exprimer puisqu'elles correspondent à notre pensée.
Le problème est le physique
Ce code long est souvent médiocre (la production informatique accepte un taux de défauts qu’aucune autre industrie ne tolèrerait). Et si la jointure met en jeu des volumes gigantesques, non seulement le code sera long, mais il sera catastrophique à l’exécution si on le confie à un débutant, alors qu’un expert s’en sortira.
Donc on voit bien que ce sont toujours les aspects physiques qui complexifient les problèmes. A tel point qu’il vaut mieux parfois laisser la main à des experts.
Par chance, la logique est très limitée
Comme le nombre de types d’opérations logiques à gérer est très limité (une trentaine pour un batch), même s’il est complexe pour des systèmes experts d’en traiter certaines, la tâche devient limitée et possible (d’autant que les systèmes experts raisonnent globalement, par exemple ils savent exprimer à propos d’une jointure « Si les deux sources sont des SGBD alors », ils ne traitent pas les choses au cas par cas « Si une source est Oracle et l’autre Sql-Server alors »).
Le développement de langages purement logiques est donc possible. Leur intérêt pour l’industrie informatique est fabuleux. Donc on ne voit pas ce qui pourrait maintenant empêcher leur développement.
Partager