Aller au contenu

Messages recommandés

Posté(e)

Salut,

 

Ceci est une traduction (j'espère assez fidèle) d'un article de Leon Bambrick (secretGeek) intitulé : The Truth About Lisp que j'avais trouvé plutôt hilarant.

 

La Vérité sur le LISP

 

Où la vérité sur le LISP est révélé, et quelques solutions de rechange sont énumérées.

 

Apprendre le LISP va changer votre vie.

 

Votre cerveau va croître plus que ce que vous n'auriez jamais cru possible.

 

Vous allez réécrire l'ensemble de vos applications en seulement une poignée de lignes.

 

La société va vous éviter. Vous allez fuir la société.

 

Vous allez devenir insatisfait de tout et par le monde autour de vous.

 

Il est si simple d'apprendre le LISP que vous pouvez apprendre le LISP en seulement quelques minutes. Je viens juste de l'apprendre maintenant alors que j'attendais un bus.

 

Le LISP est si simple que vous pouvez l'implémenter dans n'importe quel langage en seulement quelques pages de code. Cela ne se produira jamais, parce qu'une fois que vous aurez appris le LISP, vous n'aurez plus jamais envie d'écrire quelque chose dans un autre langage que le LISP, de sorte que vous ne voudrez pas vous ennuyer à implémenter le LISP dans un autre langage que le LISP.

 

Le LISP peut être entièrement implémenté en LISP avec seulement une poignée de lignes. Je viens juste d'implémenter le LISP en LISP, entièrement, en même temps que je sautai dans le bus et payai pour mon billet.

 

Lorsque vous deviendrez un Lispeur, vous allez rire à des blagues que personne d'autre ne trouve drôle. Vous saurez choses qui ne peuvent pas être exprimées dans un langage impératif ordinaire.

 

Vous penserez que les gens sont idiots quand ils expriment des choses comme: "Salut, comment vas-tu?" car un Lispeur n'a tout simplement pas besoin d'utiliser de telles constructions verbeuses. Le LISP rend abscons tous ces modes d'interaction et les rend complètement hors de propos. La bonne façon de saluer un camarade Lispeur, c'est juste un minuscule hochement du menton, et environ un dixième d'un clin d'œil gauche, puis pointer votre casque protecteur en aluminium*. Ils sauront ce que vous voulez dire. S'ils ne savent pas, alors ce ne sont pas de vrais programmeurs LISP et ils n'ont pas d'importance de toute façon.

 

Le LISP a été inventé il y a longtemps, avant de Java, avant C, avant Fortran, avant les ordinateurs, avant les humains, avant que la terre ait été construite. L'univers lui-même est un programme LISP si trivial qu'aucun vrai Lispeur ne l'aurait implémenté deux fois.

 

Le LISP est si élégant que le fait même que vous en connaissiez les rudiments vous fasse qualifier pour une saison en tant que danseur principal du Ballet Royal. Vous irez sur scène dans votre petit tutu et vous dessinerez simplement quelques parenthèses dans les airs avec votre orteil. Les gens vont s'extasier. À moins qu'ils ne connaissent rien du LISP. S'ils ne connaissent rien du LISP alors ils sont idiots et n'ont pas d'importance.

 

Seuls les Lispeurs ont une véritable définition de l'amusement. Peut-être que les programmeurs ML aussi. Tous les langages d'aujourd'hui sont basés sur les langages Fortran et LISP. Les mauvais bits : Fortran, les bons : LISP.

 

Si vous êtes assez bon pour utiliser le LISP, vous allez bientôt être frustré avec le LISP. Le LISP n'est pas un LISP adéquat. Au moment où mon bus avait fait deux blocs que j'avais écrit quelques simples macros en LISP qui étaient si puissantes qu'elles rendaient le LISP complètement obsolète et le remplaçaient par un nouveau langage. Heureusement, ce nouveau langage a également été appelé LISP. Et j'ai été capable de prouver, mathématiquement, que le nouveau LISP que j'avais créé était à la fois de loin supérieur au LISP dans tous les sens imaginables, mais aussi exactement équivalent au LISP dans tous les sens possibles. J'ai été très excité par cela. Mais j'ai aussi trouvé ça très ennuyeux.

 

Reddit est la preuve que LISP est vraiment puissant. Paul Graham a initialement écrit Reddit, en LISP, sur le dos d'une serviette alors qu'il attendait un café. Il était si puissant qu'il a dû être réécrit en Python juste pour que des ordinateurs ordinaires puissent comprendre. Parce qu'il a été écrit en LISP, aucun effort n'a été nécessaire pour réécrire l'ensemble, et la réécriture a été achevée en deux cycles de processeur. Paul Graham lui-même a été entièrement écrit en LISP, par une version antérieure de lui-même, également écrite en LISP, par une version antérieure de LISP. C'est LISP, Paul Graham, LISP, Paul Graham, etc.

 

Parce que nous avons atteint les limites de la loi de Moore, les ordinateurs du futur auront de nombreux processeurs et tous nos programmes devront être rédigés en une combinaison de Haskell et LISP, qui sera elle-même si puissante que les ordinateurs de l'avenir ne seront pas en mesure d'appliquer l'une de nos idées sans faire un voyage dans le temps algorithmique qui emprunte la puissance de traitement à d'autres ordinateurs qui sont encore dans l'avenir. Cela semble difficile, mais en LISP, ce n'est pas difficile du tout. Dans Haskell, il s'agit d'une fonctionnalité intégrée et la façon dont vous la mettez en œuvre est simplement une évidence flagrante pour toute personne qui connait le LISP ou Haskell.

 

Après cela, l'ordinateur du futur sera appelée The LISPuter. Sa vitesse sera mesurée à l'aide de la LISPunit, qui est la mesure de combien d'arguments simultanés sur l'insuffisance de LISP peuvent être proposées et démontés par un nombre infini de pontes en LISP sans aucune réelle des décisions prises. Aujourd'hui, les ordinateurs fonctionnent à un peu moins d'un LISPunit. Le LISPuter fonctionnera à LISP LISPunits, où LISP est une constante fondamentale maximale de l'univers qui ne peut pas être exprimée en utilisant des nombres impératifs ordinaires. Il suffit de dire qu'elle se termine par un nombre infini de parenthèses de fermeture.

 

Quoi qu'il en soit. J'ai lu un article sur le LISP dans le bus aujourd'hui. Article principal. Tous les articles sur LISP sont vraiment complets sur - mon cerveau commence à exploser dans mon oreille. Celui-ci, le LISP est un péché, a été écrit par Sriram Krishnan, dans lequel il dit faire du C# pour le travail, mais du LISP pour le plaisir. Et il aborde quelques-unes des façons dont C# se dirige vers Lisp.

 

Voici quelques-unes des technologies que les commentateurs à cet article ont proposé comme substitut possible pour un toxicomane du LISP :

 

newLisp

ML

Perl6

nermerle

smalltalk

biobike

chez scheme

Common Larceny

XSLT

OCaml

LSharp

Lua

C Omega

F#

C# avec Linq

 

Une personne a aussi suggéré le portage des bibliothèques Python en LISP.

 

Curieux pour son absence: Ruby (voir l'article Why Ruby is an acceptable LISP, et la réponse de Steve Yegge: 'Lisp is Not an Acceptable Lisp')

 

(ps : la première personne à écrire un commentaire qui dit que «Paul Graham n'a pas écrire reddit" mérite une sucette.)

 

*tin foil hat

  • Upvote 1

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Salut,

 

Pour l’anecdote et pour rebondir à cet article qui parle je crois plus du LISP d’une façon général que d'AutoLISP.. J’apporte mon témoignage bien que je me définisse plus comme un "hobbyiste" du Lisp, que comme un vrai Lispeur. En m’intéressant au Lisp (comme d’écrit dans l’article) j’ai eu la satisfaction de sortir d’une grande léthargie intellectuelle (sur un plan personnel cela fut très gratifiant).

 

Bien qu’actuellement (et contrairement à mes débuts) je ne dégage plus le nombre d’heures suffisante pour passer à la vitesse supérieur, le Lisp a su susciter suffisamment d’intérêt à mes yeux pour qu’il devienne le but à atteindre alors qu’initialement cela devrai être un moyen d’augmenter ma productivité sur AutoCAD (je ne m’en plains pas).

 

Le seul inconvénient à "trop" s’intéresser, c’est d’aller par curiosité voir ce qu’il ce fait dans d’autres implémentations Lisp. Et la j’avoue que l’absence de certains concepts dans AutoLISP comme par exemples:

  • Les P-LIST ou Listes de propriétés attachées aux atomes
  • Les MACRO fonctions
  • La fonction LET
  • La possibilité de créer des fonctions à nombre quelconque d’argument (ex: append)
  • La possibilité de créer des fonctions à arguments optionnelles (ex: ssget)

Crée une certaine frustration (lorsque l’on entrevoie l’intérêt de tel ou tel concept), car même si certains sembles gadget et qu’il est possible de palier à leurs absences, leurs existences en AutoLISP amélioreraient fortement l’élégance, la concision et le plaisir à l’écriture de certains codes.

 

Cette état provient certainement du fait que la version LISP implémenté dans AutoCAD date des années 80, alors que depuis le LISP à continué d’évoluer.. Et l’intégration de l’automation ActiveX des années 2000 avec VLISP est plus une extension de langage, qu’une réelle évolution dans les concepts de bases de l'AutoLISP.

 

Voilà à chaud les deux ou trois pensées que m’ont évoqué la lecture de ce sujet.

 

A+

(Ps : Sur un plan personnel, vous aurez compris que je ne regrette pas mon temps investie dans le LISP)

Apprendre => Prendre => Rendre

Posté(e)

Salut,

 

Oui cet article parle du LISP en général.

Ce qui m'a beaucoup amusé, c'est la dérision basée sur ce qu'a de génial le LISP (sa simplicité et sa puissance), ce qui permet d'en faire les louanges tout en en montrant les travers "narcissiques".

 

AutoLISP n'est certainement pas le dialecte LISP le plus puissant, c'est juste un langage basé sur le LISP qui est spécialement dédié à AutoCAD (ssget en est un exemple parmi tant d'autres).

Mais en conservant la simplicité et la souplesse des langages LISP, il permet (assez) facilement d'implémenter des fonctions qui n'existe pas nativement.

Voir ce challenge, sur TheSwamp où des solutions pour porter la fonction let dans AutoLISP sont proposées.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Invité Patrick
Posté(e)

C'est un bel hommage à ce langage, que ce soit LISP ou AutoLISP, et le ton humoristique, parfois sarcastique nous prouve une fois de plus que "Qui aime bien châtie bien".

 

Une occasion de nous rappeler que la quasi totalité des dessinateurs AutoCAD qui sont venus à la programmation le sont venus par le LISP et une occasion de regretter que l'AutoLISP n'aie pas évolué, en particulier que l'on aie jamais pu faire des boites de dialogue sérieusement. Quelqu'un a dit DCL? :huh: Non j'ai dit "sérieusement"! laugh.gif

(voir Pourquoi LISP?)

Posté(e)

Quelles envolées, quel article !

Et bravo pour cette traduction impeccable...

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Posté(e)

Bonsoir,

 

(gile) une fois de plus un grand merci pour ton lien à la première lecture des codes ça a l’air beaucoup plus sympa que ce à quoi j’étais laborieusement arrivé. A l’occasion je m’essayerai au self ou letn (let nommé)… :D

 

Patrick j’ai également bien aimé l'article sur EXMATERIA, dans la foulé j’ai voulu consulté les Articles en rapport et je me suis offert une erreur:

404. La page demandée n'a pas été trouvé

Je suppose que pour voir la suite il faut s’inscrire..

 

A+

Apprendre => Prendre => Rendre

Posté(e)
à la première lecture des codes ça a l’air beaucoup plus sympa que ce à quoi j’étais laborieusement arrivé.

Faut dire qu'il y a du beau monde, je me souviens d'avoir eu, à l'époque, le sentiment de jouer dans la cour des grands: John (Se7ven) K., Tim Willey, Michael Puckett, Elpanov Evgeniy et en "guest star" Tony Tanzillo...

 

PS : je n'ai jamais eu à réutiliser cette routine depuis...

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Invité Patrick
Posté(e)

Patrick j’ai également bien aimé l'article sur EXMATERIA, dans la foulé j’ai voulu consulté les Articles en rapport et je me suis offert une erreur:

Je suppose que pour voir la suite il faut s’inscrire..

 

Non, c'est juste un bug, j'ai pour l'instant désactivé la liste des articles en rapport.

Posté(e)

Non, c'est juste un bug, j'ai pour l'instant désactivé la liste des articles en rapport.

 

Bon c’est pas méchant comme bug, ça ne m’empêchera pas de m’inscrire le jour ou j’aurai trouvé une organisation de vie me permettant de suivre et de contribuer à plus d’un forum à la fois..

 

A+ Bruno

Apprendre => Prendre => Rendre

Invité Patrick
Posté(e)

Comme la plupart des forums et des sites (sauf CADxp!) , il est possible de s'abonner aux flux RSS de ces sites, je suis personnellement abonné à une cinquantaine de sites de cette façon et j'affiche dans mon widget Google Reader sur iGoogle les derniers messages, tu imagines bien que je ne pourrais pas suivre tout cela en allant visiter ces sites "à la main".

De plus je suis abonné à plusieurs autres dizaines de sources d'information comme par exemple une cinquantaine de hubs Viadeo et de groupes LinkedIn dont je reçois une synthèse hebdomadaire par mail.

Posté(e)

Jolie organisation Patrick, j’en comprend l’esprit même si la plus part des termes utilisés ne me parle pas vraiment (flux RSS, widget Google Reader, hubs Viadeo, groupes LinkedIn..). Le jour ou le besoin se fera vraiment sentir je saurai ou chercher, merci.

Apprendre => Prendre => Rendre

Posté(e)

"Il est si simple d'apprendre le LISP que vous pouvez apprendre le LISP en seulement quelques minutes. Je viens juste de l'apprendre maintenant alors que j'attendais d'un bus"

 

 

et bien je dois être une sacrée tache parce que moi j'ai toujours pas compris ce langage :(

Posté(e)

et bien je dois être une sacrée tache parce que moi j'ai toujours pas compris ce langage :(

 

 

sisi, tu comprends le lisp:

f(x) en algèbre se dit (f x) en lisp

f(x,y) " " " " (f x y) "

 

en lisp (fonction argument1 argument2 ...) renvoie le résultat

donc (* 2 2) multiplie 2 par 2 et renvoie 4

 

si tu as Auto- ou ZW- CAD full, tu tapes (* 2 2) dans la ligne de commande et tu auras un 4

lisp peut utiliser le résultat d'une fonction en temps qu'argument d'une autre fonction:

(+ (* 2 2) 3) te renverra un 7 (2*2+3)

 

en lisp, il y a les fonction prédéfinies * + - / mod setq ...

et, surtout, tu peux définir des nouvelles fonctions:

f(x)=2x+4 en algèbre dit (defun f (x) (+ (* 2 x) 4)) en lisp

(f 5) renvoie alors 14 (2*5+4)

 

voilà tu comprends le lisp :-)

Carboléüm, qui dessine aussi à la main -> Carboleum's sketchblog

Posté(e)

Hello Gilles

 

Super ta traduction et Merci pour cetre "tranche" d'humour sur le Lisp

 

Dans un passe lointain (1988-1998) , j'ai fais un peu de "bon vieux" Lisp

a l'epoque d'AutoCAD 2.6 - R14 mais j'ai arrete et j'ai presque tout oublie !

 

A l'epoque on parlait aussi d'un autre langage special et tres puissant : ALGOL

je crois qu'il est tombe aux oubliettes ?

 

Le Decapode (lecrabe)

Autodesk Expert Elite Team

Posté(e)

A l'epoque on parlait aussi d'un autre langage special et tres puissant : ALGOL

je crois qu'il est tombe aux oubliettes ?

 

Il me semble que l'utilisation de ce langage a été fortement freinée par la loi Evin, qui date de janvier 1991 et qui nous a contraint à le consommer avec modération....

Pour rester dans le mode humoristique, je voudrais encore citer cet aphorisme : « Algol a été une grande amélioration de ses successeurs ». (Je ne me souviens plus de l'auteur). Plus sérieusement et pour autant que je sache, Algol a plus ou moins donné naissance au langage Pascal, que j'ai eu le plaisir d'apprendre lors de mes études.

 

Amicalement

Vincent

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité