le réseau de la CAO francophone
Pourquoi Lisp?
Ci-dessous la traduction en français, par votre serviteur, de cette page du livre de John Walker, fondateur d’Autodesk
Comme la version d’AutoCAD 2,1 arrivait, nous étions un peu méfiants au sujet d’utiliser Lisp comme notre langage d’application. C’était à l’apogée de la mode sur les systèmes experts, l’intelligence artificielle, et les machines Lisp, et bien que la publicité gratuite que nous gagnerions en choisissant le Lisp ne nous dérangeait pas, nous avions peur que ce qui était en fait un langage de macro très simple intégré dans AutoCAD soit perçu comme quelque chose exigeant une connaissance spécialisée des arcanes et ainsi effrayerait les développeurs d’application même, pour qui nous l’avons implémenté.
En fait, quand nous avons livré AutoCAD 2.1, nous n’avons pas utilisé le mot « Lisp » du tout – nous l’appelions la « fonctionnalité de variables et d’expressions » . C’est seulement dans la version 2.18, dans lequel nous avons fourni l’ensemble des capacités fonctionnelles et itératif de Lisp, que nous introduisons le terme « Autolisp »
AutoCAD Applications Interface
Interface du langage Lisp Positionnement stratégique marketing par John Walker – 5 février, 1985
Lisp?!?! Pourquoi diable avez-vous choisi le langage le plus arcane, obscur, et désespérément ancré-dans-le-département-des-sciences-informatiques au monde comme langage de programmation AutoCAD?
Au cours des six prochains mois, chacun d’entre nous aura l’occasion de répondre à cette question. Il y a de très bonnes raisons pour lesquelles nous avons choisi Lisp comme le langage initial à attacher à AutoCAD: je vais essayer de les expliquer ici. Cependant, il y a un point important que nous ne voulons pas perdre de vue: l’interface intégrée Lisp que nous sommes résolus à offrir n’est que le premier d’une série de produits d’applications d’interface, permettant à AutoCAD d’être exploité par des programmes d’application écrits dans tous les langages d’application majeurs. Je prévois que des interfaces pour FORTRAN, Basic compilé, C, et Pascal seront disponibles au cours des 12 prochains mois. Ainsi, Lisp est le langage que nous vendons pour de petites applications – nous ne l’offrons pas ou ne le suggérerons pas pour la programmation de projets majeurs: qui seront traités par des interfaces dans d’autres langues, et qui permettront à un fournisseur de logiciels d’attacher leur programme pour AutoCAD dans sa langue maternelle.
Mais revenons à Lisp. Ce qui suit est ma réponse à « Pourquoi Lisp »
Lisp est le langage par excellence dans le domaine de l’intelligence artificielle, et l’a été pendant plus de deux décennies. Bon nombre des programmes les plus complexes jamais écrits ont été écrits en Lisp. Lisp est loin d’être un jouet ésotérique d’informaticiens: un système appelé NAVEX, entièrement écrit en Lisp, sera bientôt disponible pour que la navette spatiale roule sur la piste. Les systèmes experts mis en Å“uvre en Lisp seront un élément central de l’environnement de la Station spatiale et de ses systèmes de gestion de l’énergie.
Lisp est idéalement adapté à l’interaction non structurée qui caractérise le processus de conception. Contrairement aux langages de programmation tels que C et FORTRAN, qui obligent à organiser un problème entièrement avant de programmer, Lisp encourage l’exploration d’approches différentes pour un problème de façon interactive, exactement comme la CAO le permet à un concepteur.
Aucun autre langage majeur de programmation ne peut manipuler facilement les types d’objets que l’on travaille avec la CAO. Par opposition à la programmation numérique, la CAO travaille en permanence sur les collections d’objets hétérogènes de taille variable. Lisp excelle à cela.
Parce que l’application Lisp d’Autodesk est totalement interactive et fournit des mécanismes de débogage en ligne, Lisp est parmi les langages les plus faciles à maîtriser. Parce que la réponse à tous les changements sont immédiats, les programmes peuvent être testés aussi facilement qu’avec un interpréteur BASIC interactif.
Enfin, les raisons impérieuses qui font de Lisp la langue de choix pour les grosses applications forcent la conception d’ordinateurs optimisés pour Lisp. Des machines de Symbolics et Texas Instruments sont déjà sur le marché. Cette technologie sera cruciale pour les systèmes à haute performance de la fin des années 1980 et 1990. En lançant la CAO dans ce sens, Autodesk positionne vos applications pour tirer parti de cette évolution.
Et voilà !
vous pouvez montrer votre appréciation de cet article en cliquant sur le bouton +1. Merci.
| Cette entrée a été posté par Patriiick (admin) le 10 octobre 2010 à 8:14 , et placée dans AutoCAD, Programmation. Vous pouvez suivre les réponses à cette entrée via RSS 2.0. Vous pouvez laisser une réponse, ou bien un trackback depuis votre site. |

about 2 years ago
Y en a qui disent… que LISP signifie “Lost In Stupid Parenthesis”, les méchants…
about 2 years ago
il reste c’est avec autolisp que la grande majorité des applications ont été développées et qui ont aidé plusieurs entreprises dans le monde entier.
étant moi un développeur autolisp, je peux vous dire qu’au début j’étais un peu perdu dans les parenthèses, mais qu’après, j’avais même un peu d’amour pour ces parentheses comparativement à d’autres langages de programmation :)
vive autolisp!
about 2 years ago
Oui je suis d’accord, ayant programmé en LISP, VBA et depuis peu VB NET, on reste toujours attaché au LISP, pour les raisons que cite John Walker d’ailleurs, ce langage est très bien adapté à AutoCAD et l’éditeur VLISP a bien amélioré les choses.
about 2 years ago
Un fois qu’on y est “bien” entré, on en sort “bien” désolé de ne pas trouver plus couramment Lisp en dehors d’AutoCad. On ne peut pas imaginer mieux pour manipuler les listes (le coeur des structures)…
Et lorsqu’on commet un bug, c’est rarement un problème de parenthèse, “bien” au contraire ! : Les parenthèse permettent une puissance et une souplesse de structuration… tout en rigueur.
En un mot, Lisp c’est “BIEN”
about 1 year ago
Voir le message de (gile) également à propos du LISP: http://goo.gl/WEGXw