Obligement - L'Amiga au maximum

Vendredi 24 novembre 2017 - 21:20  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Dossier : 10 questions sur le Lisp
(Article écrit par Edgar Pixel et extrait de Tilt - juin 1988)


L'homme domine l'ordinateur. Pourtant, à voir Lisp on en doute... Pas vrai Edgar ?

Que veut dire "Lisp" ?

Lisp c'est LIST Processing (traitement de liste).

De quand date le Lisp ?

Lisp est un vieux langage, créé en 1958 par John McCarthy au MIT (Institut de Technologie du Massachussets). Le premier Lisp qui ait fonctionné portait le numéro 1.5 puis Lisp 1.6.

Rapidement, trois écoles se sont formées :
  • Au MIT, le Maclisp puis le FranzLisp.
  • A Berkeley, l'Interlisp, développé par Xerox.
  • A l'université de Paris-VIII-Vincennes, le VLisp.
L'arbre généalogique s'est notamment enrichi de BVLisp qui descend de InterLisp et de VLisp, tandis que MacLisp a donné Le Lisp, un des plus connus sur micro. Inutile de développer : chaque laboratoire en Intelligence Artificielle travaille avec sa version du langage.

Lisp

Le Lisp est-il encore utilisé ?

Il a failli rester confiné à un tout petit nombre de laboratoires, à cause de son originalité. Il a redémarré en force plus de dix ans après sa naissance. C'est sans doute le principal langage de l'Intelligence Artificielle, avec Prolog en France.

On parle de machines Lisp, ont-elles un rapport avec le langage ?

Oui, elles sont conçues pour faciliter l'emploi du langage, qui n'a pas les mêmes exigences que d'autres langages de programmation.

Le Lisp tourne-t-il correctement sur d'autres machines ?

Le Lisp, en tout cas plusieurs de ses dialectes, tourne sans problèmes sur les micros, Mac et PC, Amiga et ST. Sa structure lui fait consommer beaucoup de mémoire vive en cours de travail. Dans un trop petit espace, les hautes piles de résultats intermédiaires bâties au cours de l'exécution de fonctions récursives risquent de casser, de saturer.

Que programme-t-on en Lisp ?

On peut tout programmer en Lisp, aussi bien de la gestion que des programmes scientifiques. Il n'a cependant pas été conçu pour développer des applications graphiques et musicales, et le domaine dans lequel il se révèle le plus performant est l'Intelligence Artificielle.

On dit le Lisp très différent des autres langages. Est-ce vrai ?

Oui, sa logique, sa syntaxe déroutent même des programmeurs émérites rompus à la pratique d'autres langages. Lisp traite des symboles, c'est-à-dire manipule des objets sans s'intéresser à leur valeur numérique, ce qui le rend adapté à toute l'informatique qui ne calcule pas. D'autre part, Lisp traite des listes et des arbres, sans que les programmeurs aient à se soucier de les gérer. Enfin, Lisp est un langage récursif, c'est-à-dire qu'une fonction s'appelle elle-même : voici une définition récursive de la notion d'ancêtres : "mes ancêtres sont mon père, ma mère ou un de leurs ancêtres."

Donc si je veux savoir si Napoléon est un de mes ancêtres, je vérifie qu'il n'est ni mon père ni ma mère, puis qu'il n'est ni ancêtre de mon père ni ancêtre de ma mère : je vérifie donc qu'il n'est ni le père de mon père ni la mère de mon père, puis qu'il n'est ni le père de ma mère ni la mère de ma mère. Et ainsi de suite jusqu'à trouver Napoléon (et si tous mes ancêtres sont nés avant Napoléon sans que je l'aie rencontré, je vais arrêter le processus avant d'atteindre Adam et Eve !).

Quelles sont les qualités du Lisp ?

C'est un langage très dense : pour un problème donné, dont la structure est arborescente ou comporte des tris, un programme Lisp sera deux à quatre fois moins long qu'un programme réalisant les fonctions équivalentes en Pascal. Ainsi, deux mots particuliers au Lisp : "CAR" et "CDR". "CAR" désigne le premier élément d'une liste, "CDR" tous les autres. Ainsi, quand la machine affiche le prompteur, le point d'interrogation qui indique que la machine attend des instructions : ?, on rentre la ligne suivante :

CAR' (ABC)

...la machine affiche alors "A".

Si l'on rentre après le "?" la ligne :

(CDR' (ABC)

...la machine répond "(BC)". CAR et CDR s'appliquent aussi aux arbres. Ces éléments de vocabulaire s'avèrent extrêmement puissants. Facile à écrire pour qui le maîtrise, il est en revanche difficile à relire, à cause de la densité. La programmation d'un logiciel ne demande pas trop de travail une fois qu'on a réalisé l'analyse la structure détaillée.

Le Lisp est, dit-on, très dur à apprendre ?

Il s'agit de se familiariser avec une logique qui n'a au départ rien d'intuitif, plus qu'avec un vocabulaire particulier. Sa syntaxe est très rigide.

Existe-t-il au moins de bons manuels pour apprendre le Lisp ?

Il est rare d'apprendre le Lisp seul : son apprentissage se fait quasiment toujours à l'université ou au sein d'équipes de travail. De plus, l'auto-apprentissage est ardu, donc peu pratiqué. Il n'existe donc pas de manuels répondant à ce besoin, ce qui boucle le cercle vicieux vous ne disposerez d'aucune aide si vous voulez travailler seul...


[Retour en haut] / [Retour aux articles]