Liens connexes

Dépêche modérée par

: Common LISP, un langage à (re)découvrir

Posté par Delaregue (). Modéré le 29 août 2002.
0
Pascal Costanza, développeur Java, nous propose son point de vue subjectif ainsi qu'un guide sur le langage Common LISP. Common LISP a été le premier langage orienté objet standardisé par l'ANSI et si je ne m'abuse, le seul langage objet certifié par l'OMG. Bien sur, CL permet aussi de développer avec la plupart des idiomes supportés par d'autres langages: Vous n'êtes pas restreint à l'objet.

Je vous propose de redécouvrir ce langage et d'oublier *tous* vos a priori. Common LISP est un langage énorme certes, mais qui vous permet de penser en vos termes, non par ceux dictés par votre langage.

Il existe plusieurs implémentations libres de Common Lisp: clisp, cmucl, sbcl. Essayez les!

> Lire les commentaires (103 commentaires, moyenne: 2,1).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

[+] vive Lelisp ;)

Posté par Aurélien Girard () le 29/08/2002 à 14:46. (lien). Évalué à -1.

Cette année à la fac, on a du faire un projet LISP avec un LISP tout bizzare que seul LELISP, un environnement LISP maison de l'INRIA pouvait faire tourner.

Evidemment, ce LISP foireux était un programme ... DOS ! qui ne fonctionnait que sous DOS (peut être un peu Win9X), pas Linux ou les windows récents.

Donc la standardisation du LISP, c'est bien sur le papier, mais dans les faits c'est du grand n'importequoi.


Sinon, j'encourrage tout le monde à faire du LISP ou du PROLOG au moins une fois dans sa vie : ca change complètement des langages "traditionnels", et ca force à adopter une logique de programmation complètement différente.

Scheme in one Day/Defun

Posté par jm () le 29/08/2002 à 15:15. (lien). Évalué à 4.

un ptit interpreteur scheme en quelques lignes de C
http://people.delphiforums.com/gjc/siod.html(...)

Combat d'arrière garde tout ca...

Posté par Le_Maudit Aime () le 29/08/2002 à 15:32. (lien). Évalué à 17.

<CAUTION:Explicit Offensive Troll>

Oui lisp c'est beau, oui lisp c'est bien.,
oui c'est dommage on l'utilise pas/plus.

On va pas revenir dessus 107 ans, les anciens de l'I.A des années 80 qui comprennent toujours pas que le monde a changé, cela commence à bien faire.

1) il y a plein d'autres langages dans le monde qui sont intéressants ET minimaux.
2) CL est vraiment une usine à gaz, mieux vaut parler de scheme si on veut quelque chose d'élégant.
3) si vous voulez un langage fonctionnel+efficace(très)+fortement typé => langages à la ML type SML/Caml/etc. (eh oui le lambda calcul existe aussi en version -bien- typée)

</CAUTION:Explicit Offensive Troll>

Le plus lisible

Posté par Dugland Bob (page perso, ) le 29/08/2002 à 16:07. (lien). Évalué à 6.

C'est haskell, regardez comme toutes ces versions de la factorielle sont toutes plus lisibles les unes que les autres : http://www.willamette.edu/~fruehr/haskell/evolution.html(...)

mes 2 préférés :
-la version encodage par listes (bijection entre la longueur d'une liste de unit et les entiers naturels)
-la version "statique" qui se la joue prolog (ceux qui ont fait de la compil par tables SLR peuvent aussi comprendre).

D'abord fonctionnel

Posté par Duanegris () le 29/08/2002 à 18:46. (lien). Évalué à 9.

Avant d'être orienté objet, Lisp est d'abord l'ancêtre des langages fonctionnels.
C'est le fait que ce soit un langage fonctionnel
qui fait que l'on doit penser différemment (par rapport à la majorité des langages impératifs) lorqu'on programme. Qu'on ajoute ensuite des constructions au langage permettant de faire de l'objet est secondaire.

Un autre truc aussi vieux que le lisp à redecouvrir

Posté par Troy McClure (page perso, ) le 29/08/2002 à 19:47. (lien). Évalué à 12.

How to shoot yourself in the foot:


  • C: You shoot yourself in the foot.

  • FORTH: Foot in yourself shoot.

  • FORTRAN: You shoot yourself in each toe, iteratively, until you run out of toes; then you read in the next foot and repeat. If you run out of bullets, you continue anyway because you have no exception-handling routine.

  • LISP: You shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds...

Quelques questions

Posté par Philippe Fremy (page perso, ) le 29/08/2002 à 20:02. (lien). Évalué à 6.

Puisqu'il y a des gourous dans la salle, je vous pose quelques questions. Je ne connais pas grand chose aux langages fonctionnels mais ca a l'air grave interessant. Quand je vois que KDE avec du C++ arrive tout juste au niveau des fonctionnalites d'emacs avec son lisp, je me dis qu'il y a une lecon a en tirer.

- vous recommanderiez quoi comme bouquin pour mieux saisir les joies de la programmation foncionnelle ? Je pense a un bouquin qui ne serait pas "comment programmer en OCaml", mais plutot "comment programmer en fonctionnel" et voila des exemples en OCaml ou autre chose.

- plus ca va, plus python a l'air d'integrer des fonctionnalites de programmation foncionnelle. Il y avait un article sur ibm-developers un jour a ce sujet. Vous croyez qu'un langage imperatif peut s'approcher d'un langage fonctionnel suffisamment pour en procurer les avantages ? D'apres ce que je vois, les langages fonctionnels supportent aujourd'hui le double paradigme fonctionnel et imperatif. Donc eux aussi se rapprochent ?

- y a-t-il des boite a outils graphique (style Qt, gtk, ...) et des constructeurs d'interface (glade, Qt Designer, ...) avec vos langages fonctionnels ?

- j'ai cru comprendre qu'une des forces du Lisp etait la souplesse de ses types definies de facon plutot faineante [comment on traduit 'lazy' ?] et ses capacites de mise a jour dynamique. Il semble que ce genre de fonctionnalite ne fasse pas partie de OCaml mais que ca soit bien quand meme. Vous pouvez m'expliquer ?

- je crois que je devrai faire un tour sur un newsgroup de programmation fonctionelle.

- ca a l'air cool l'inria, vous etes tous payes pour vous eclatez sur des trucs qui vous plaisent ? Comment qu'on rentre ?

Mouai

Posté par Herrera Carlos () le 29/08/2002 à 21:13. (lien). Évalué à 6.

Donc le lisp est un langage aussi vieux que le C. Une rapide comparaison de ce qui a été réalisé en C et de ce qui a été réalisé en lisp que je vous invite à faire nous conduit à une conclusion inévitable et sans appel: le lisp est un langage inintéressant. Après il y a toujours des gens qui viendront nous parler de paradigme, d'idiome, de "puissance", de typage fort, de typage faible, d'une manière simple de résoudre tous les problèmes compliqués, etc etc ... Mais cela ne nous inspire qu'un sourire amusé car nous avons notre petit test en tête. Si le lisp était vraiment un bon langage, depuis le temps qu'il existe il aurait été utilisé.