Logiciel : Le langage Arc, issu de Common Lisp et Scheme, a un mois
Posté par sacado (). Modéré le 01 mars 2008.
Le langage Arc est disponible depuis un mois sous la licence Libre Artistic 2 de la perl foundation. Pour info, Arc est un nouveau dialecte Lisp conçu par Paul Graham, un "gourou" de Lisp, qui a écrit 2 ouvrages très réputés sur ce langage et qui s'est fortement enrichi en vendant à Yahoo son application Viaweb, elle-même écrite en Lisp.
P. Graham a conçu Arc car il considérait que le langage Lisp, qui fête cette années ses 50 ans, avait perdu de sa fraîcheur et de sa pureté originelle, celle qu'il avait lorsqu'il a été conçu par John McCarthy à la fin des années 50, lui-même se basant entre autres sur le lambda-calcul élaboré par A. Church quelques années auparavant.
Arc est un langage à la fois minimaliste, comme Scheme, mais voué à être réellement utilisé, Graham étant un programmeur, pas un théoricien. Avant d'être publié, il a d'ailleurs été utilisé pour réaliser une application web : le forum Hacker News, dont le code source est disponible depuis quelques jours.
Le noyau du langage a été écrit en quelques centaines de lignes de Scheme et peut être très facilement étudié. Le reste du langage, c'est une de ses caractéristiques, a été écrit en Arc lui-même.
NdM : pour ceux qui voudraient retracer l'évolution de l'intelligence artificielle côté États-Unis principalement, n'hésitez pas à (re-)lire Crevier et son livre À la recherche de l'intelligence artificielle.
P. Graham a conçu Arc car il considérait que le langage Lisp, qui fête cette années ses 50 ans, avait perdu de sa fraîcheur et de sa pureté originelle, celle qu'il avait lorsqu'il a été conçu par John McCarthy à la fin des années 50, lui-même se basant entre autres sur le lambda-calcul élaboré par A. Church quelques années auparavant.
Arc est un langage à la fois minimaliste, comme Scheme, mais voué à être réellement utilisé, Graham étant un programmeur, pas un théoricien. Avant d'être publié, il a d'ailleurs été utilisé pour réaliser une application web : le forum Hacker News, dont le code source est disponible depuis quelques jours.
Le noyau du langage a été écrit en quelques centaines de lignes de Scheme et peut être très facilement étudié. Le reste du langage, c'est une de ses caractéristiques, a été écrit en Arc lui-même.
NdM : pour ceux qui voudraient retracer l'évolution de l'intelligence artificielle côté États-Unis principalement, n'hésitez pas à (re-)lire Crevier et son livre À la recherche de l'intelligence artificielle.
Arc : site officiel (1311 hits)
Le forum d'Arc (188 hits)
Le site de P. Graham (217 hits)
Versions expérimentales d'Arc (180 hits)
Le forum Hacker News, première application Arc (638 hits)
> Lire la dépêche (19 commentaires, moyenne: 4,7).
Vous avez demandé le commentaire #909469.




Le théoricien rêveur et le programmeur pragmatique, quelle blague !
| Arc est un langage à la fois minimaliste, comme Scheme, mais voué à
| être réellement utilisé, Graham étant un programmeur, pas un
| théoricien.
Cette phrase a certainement été écrite alors que tu n'étais pas bien réveillé. Il n'y a aucune opposition entre être un programmeur et un théoricien.
Oui, le théoricien est plein de rêves, mais, parmi eux, on trouve aussi celui de voir ses idées "réellement utilisées". Cependant, pas n'importe lesquelles et pas n'importe comment. Le théoricien a le goût pour les choses bien faites et quand il programme, ces productions sont des oeuvres d'art. Comme tout art, pour l'apprécier, il faut se faire les yeux : se délecter de Knuth, s'irradier de Leroy, se perfuser de Turing.
De plus, compte tenu du nombre de pisseurs de C que j'ai rencontrés qui pensent qu'en tunant leur assembleur, ils pourront résoudre un problème NP-complet ou bien encore, que, eux, ils programment sans bug, j'ai du mal à dire qui est le plus proche de la réalité.
Ceci dit, je n'ai rien contre Paul Graham que j'ai pu écouter lors d'une conférence sur les langages fonctionnels (tu sais les langages pour théoricien ;-) ).
[^]Re: Le théoricien rêveur et le programmeur pragmatique, quelle blague
Je trouve que tu es dur, le rédacteur de cette news a au moins partiellement raison : il y a un sens à opposer Graham le "programmeur" à un "théoricien pur" comme Church.
Moi j'aime les fourmis !
[^]Re: Le théoricien rêveur et le programmeur pragmatique, quelle blague
Church n'est pas un théoricien, c'est un mathématicien. Il s'est attaqué avec quelques succès à la question de la définition de l'algorithmique et de la calculabilité quelques années avant l'apparition des ordinateurs.
Son lambda calcul est extrêmement pragmatique, pour résoudre la question à laquelle il s'est attaqué. Et ce n'était pas de concevoir un langage de programmation.
[^]Re: Le théoricien rêveur et le programmeur pragmatique, quelle blague
"Cette phrase a certainement été écrite alors que tu n'étais pas bien réveillé. Il n'y a aucune opposition entre être un programmeur et un théoricien."
Oui, enfin il y a quand même quelques divergences dans les objectifs visés. Dans le monde Lisp, il y a traditionnellement de véritables scissions entre les adpetes de Common Lisp, qui ont bidouillé leur langage pour l'optimiser à mort, au détriment de la pureté conceptuelle, et ceux de Scheme, qui sont au contraire plus intéressés par la pureté et le minimalisme conceptuel afin d'avoir le langage le plus simple possible, au détriment de l'efficacité. Je n'invente rien : cherche des Schemeurs dans le monde industriel, tu en trouveras peu. Cherche des Common Lispers parmi les théoriciens des langages, tu en verras aussi peu. Le but de Graham est en quelque sorte de trouver un compromis entre ces deux tendances.
Et puis, il n'y avait rien de péjoratif là-derrière, j'ai passé plus de temps dans ma vie à utiliser Scheme ou Smalltalk qu'avec C ou C++. J'ai juste voulu préciser ce point en voyant venir de très loin les commentaires du genre "Ouais, mais d'abord, c'est nul Lisp, encore un délire de chercheur dans sa tour d'ivoire qui fait des langages fonctionnels alors que ça sert à rien dans la réalité". Ce genre de choses.
[^]Re: Le théoricien rêveur et le programmeur pragmatique, quelle blague
Euh, les schemeurs sont des gens tres interesses par la conception de langages *et* par l'efficacite'....
Gambit-C Scheme, Larceny, Stalin, Bigloo... autant d'implantations de Scheme qui sont rudement efficaces, rapides (et qui ne font pas qu'interpreter, mais aussi qui compilent aussi).
Scheme est le langage ideal pour toutes les demarches de conception de langage, car il y est on ne peut plus simple de creer un langage par dessus, et le monde academique ne s'en prive pas, et l'industrie vient alors utiliser ces produits (je pense a Termite pour Gambit-C, un langage "a la Erlang" sur Scheme). (enfin, la, je crois qu'on est d'accord, mais je suis pas sur d'avoir bien lu ton paragraphe).
Je persiste et je signe: la simplicite' de Scheme ne s'est pas faite au detriment de l'efficacite'.
J'aime la liberté.
J'aime BSD.
[^]Re: Le théoricien rêveur et le programmeur pragmatique, quelle blague
> Scheme est le langage ideal pour toutes les demarches de conception de langage, car il y est on ne peut plus simple de creer un langage par dessus (...)
vrai, et d'ailleurs c'est le cas pour Arc http://arclanguage.org/install
Pour ceux qui se demandent comment on peut se vanter de ne pas gérer l'UTF8, sachez que P.G. a réussi le tour de force de faire un Arc qui ne le prend pas en charge, alors que mzScheme sait le faire ! Chapeau bas, quand même ...
Mais bon, on en reparlera dans un siècle ( http://www.paulgraham.com/arc.html et http://www.paulgraham.com/arcfaq.html ).
paul