Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

langage de manipulation de texte

17 réponses
Avatar
Mihamina (R12y) Rakotomandimby
Salut la compagnie.

Dites.

Je regarde la date de parution d'Emacs: ~ 1975
http://en.wikipedia.org/wiki/Emacs

Je regarde la date de parution de Perl: ~ 1987
http://en.wikipedia.org/wiki/Perl

On the other hand, je me dis:
Pour faire de la coloration syntaxique, il faut un "puissant" langage de
manipulation de texte.
Emacs étant paru avant Perl, Emacs étant écrit en Lisp (ou une variante),
Perl n'est pas vraiment un "équivalent (ne jouent pas vraiment dans la meme
catégorie)" de Lisp (comme Python et Ruby), pourquoi ne retrouve-t-on pas
beaucoup d'exemple de manipulation de texte en Lisp sur le Net?
Tous les mega outils/exemples de manipulation de texte sont soit des
implémenté avec outils comme sed/awk (écrits en C...) ou alors des machins
Perl.
C'est vrai que le code d'Emacs est un bon gros exemple, mais... puisque ce
langage a une telle qualité, pourquoi n'a telle pas été mise en avant?

Ou bien je suis trop jeune pour avoir connu les heures de gloire du Lisp?

10 réponses

1 2
Avatar
Sébastien Kirche
Le 20 mars 2007 à 22:16, Mihamina Rakotomandimby vraute :

Ou bien je suis trop jeune pour avoir connu les heures de gloire du
Lisp?



Ou pas suivi le bon cursus pour en avoir entendu parler pendant tes
études ? Il me semble que dans certaines branches de l'informatique, dont
la recherche, lisp est encore d'actualité.

--
Sébastien Kirche
Avatar
Patrice Karatchentzeff
"Mihamina (R12y) Rakotomandimby" a écrit :

[...]

Emacs étant paru avant Perl, Emacs étant écrit en Lisp (ou une variante),
Perl n'est pas vraiment un "équivalent (ne jouent pas vraiment dans la meme
catégorie)" de Lisp (comme Python et Ruby), pourquoi ne retrouve-t-on pas
beaucoup d'exemple de manipulation de texte en Lisp sur le Net?
Tous les mega outils/exemples de manipulation de texte sont soit des
implémenté avec outils comme sed/awk (écrits en C...) ou alors des machins
Perl.
C'est vrai que le code d'Emacs est un bon gros exemple, mais... puisque ce
langage a une telle qualité, pourquoi n'a telle pas été mise en avant?



J'émettrai plusieurs hypothèses :

- le lisp n'est pas d'un abord aussi facile que Perl
- Perl était au début un langage d'admin : il manque à lisp tous les
one-liners par exemple
- on peut réellement tout faire en Perl
- lisp ne fait pas partie du paquet de base de tout bon système UNIX
- lisp a une connotation vieillotte (c'est comme Fortran)
- Perl est d'un abord facile pour les gens habitués au shell et au C
- Perl a été une petite révolution (en plaçant le résultat avant le
programmeur)
- Perl est le plus beau des langages :)

PK

--
      |      _,,,---,,_       Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:
     |,4-  ) )-,_. , (  `'-'  http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'_)       
Avatar
Le TeXnicien de Surface
Patrice Karatchentzeff écrivait :
J'émettrai plusieurs hypothèses :



[coupe claire]
- Perl est le plus beau des langages :)


J'aurais tendance à penser que cet argument est légèrement partial, me
trompè-je ?
--
Le TeXnicien de Surface
métapostier urbain, métafondeur à ses heures
perliste amateur
Avatar
lhabert
R12y :

On the other hand, je me dis:
Pour faire de la coloration syntaxique, il faut un "puissant" langage de
manipulation de texte.



Bah si tu regardes comment c'est fait dans emacs, tu as une grosse lib
immonde, qui utilise les fonctions de regexps d'emacs, exactement comme tu
le ferais en C ou n'importe quel autre langage généraliste. Il n'y a rien de
spécialement adapté au traitement du texte dans le langage lui-même, et la
stdlib est parfaitement banale.

Au passage : Emacs-lisp n'a guère de Lisp que la syntaxe.

Emacs étant paru avant Perl, Emacs étant écrit en Lisp (ou une variante),
Perl n'est pas vraiment un "équivalent (ne jouent pas vraiment dans la meme
catégorie)" de Lisp (comme Python et Ruby), pourquoi ne retrouve-t-on pas
beaucoup d'exemple de manipulation de texte en Lisp sur le Net?



Parce que c'est presque aussi pénible qu'en C.

C'est vrai que le code d'Emacs est un bon gros exemple, mais... puisque ce
langage a une telle qualité



BWAHAHAHAHAHAHAHAHA!
Avatar
lhabert
Sébastien Kirche :

Ou pas suivi le bon cursus pour en avoir entendu parler pendant tes
études ? Il me semble que dans certaines branches de l'informatique, dont
la recherche, lisp est encore d'actualité.



Ma vision est partielle aussi, mais ce n'est pas l'impression que j'aie. En
caricaturant, les numériciens et algorithmiciens bossent en C ou C++, les
sémanticiens en ML (bon, c'est surement moins vrai à l'étranger qu'en
France).
Avatar
Matthieu Moy
(Luc Habert) writes:

Au passage : Emacs-lisp n'a guère de Lisp que la syntaxe.



Je connais pas super bien les autres dialectes de lisp, mais j'ai
d'ailleurs l'impression que l'Emacs-lisp n'est de loin pas le
meilleur. Pas de fermeture lexicale, pas de multi-thread, la gestion
des processus est bancale, la pile est toute petite donc ça limite les
appels récursifs, et en pratique :

/usr/share/emacs/22.0.50$ zgrep 'while' **/*.el.gz | wc -l
10184

--
Matthieu
Avatar
lhabert
Enfin bon, de toutes manières, je ne pense pas qu'il y ait de bon langage
pour la manipulation de texte. Le parsing, c'est l'un des choses les plus
immondes qui soient à programmer. Et c'est ÀMHA totalement crétin : on passe
notre temps à marshaller, puis à reparser. Plutôt que des éditeurs de texte,
on devrait utiliser des éditeurs d'arbre syntaxique, qui enregistrent dans
un format illisible mais facile à parser (par exemple xml). Avec ça, il
devient trivial d'avoir des modes d'éditions adaptés à un langage (regardez
voir les définitions de font-lock et d'indentation automatique, à quel point
c'est immonde à faire avec la technique actuelle), et comme l'éditeur peut
nous interdire les erreurs de syntaxe, ça ferait gagner un temps fou à
l'utilisateur aussi.
Avatar
Camille Bourgoin
(Luc Habert) writes:

R12y :

On the other hand, je me dis:
Pour faire de la coloration syntaxique, il faut un "puissant" langage de
manipulation de texte.



Bah si tu regardes comment c'est fait dans emacs, tu as une grosse lib
immonde, qui utilise les fonctions de regexps d'emacs, exactement comme tu
le ferais en C ou n'importe quel autre langage généraliste. Il n'y a rien de
spécialement adapté au traitement du texte dans le langage lui-même, et la
stdlib est parfaitement banale.

Au passage : Emacs-lisp n'a guère de Lisp que la syntaxe.



???

Emacs Lisp est un descendant de MacLisp est un vrai Lisp.
Emacs Lisp intègre une bonne partie des fonctionnalités de Common
Lisp.

Si tu veux t'en persuader, prend l'ouvrage "Le Petit Lispien" et fait
les exercices avec l'interpréteur Emacs Lisp.

Emacs étant paru avant Perl, Emacs étant écrit en Lisp (ou une variante),
Perl n'est pas vraiment un "équivalent (ne jouent pas vraiment dans la meme
catégorie)" de Lisp (comme Python et Ruby), pourquoi ne retrouve-t-on pas
beaucoup d'exemple de manipulation de texte en Lisp sur le Net?



Parce que c'est presque aussi pénible qu'en C.



Le Lisp ne fut pas particulièrement conçu pour manipuler du texte,
donc cela est normal que Perl dans ce domaine (qui terrasse dans ce
domaine tous les autres langages) soit meilleur.

C'est vrai que le code d'Emacs est un bon gros exemple, mais... puisque ce
langage a une telle qualité



BWAHAHAHAHAHAHAHAHA!



Ça veut dire quoi BWHAHAHA ? Que le Lisp est un mauvais langage ?

--
Camille "Mesmento" Bourgoin
jabber :
web : http://jbbourgoin.free.fr/site/
Avatar
lhabert
Camille Bourgoin :

Emacs Lisp est un descendant de MacLisp est un vrai Lisp.
Emacs Lisp intègre une bonne partie des fonctionnalités de Common
Lisp.

Si tu veux t'en persuader, prend l'ouvrage "Le Petit Lispien" et fait
les exercices avec l'interpréteur Emacs Lisp.



D'après ce bouquin, que doit donner le programme suivant :

(setq a 1)
(defun f() a)
(defun g(a) (f))
(g 2)

?

Le Lisp ne fut pas particulièrement conçu pour manipuler du texte,
donc cela est normal que Perl dans ce domaine (qui terrasse dans ce
domaine tous les autres langages) soit meilleur.



C'est bien ce que je dis.

Ça veut dire quoi BWHAHAHA ? Que le Lisp est un mauvais langage ?



Bah comparé à ML, il fait pâle figure à mes yeux. Le typage et le filtrage,
c'est quand même pas du luxe.
Avatar
Camille Bourgoin
(Luc Habert) writes:

Camille Bourgoin :


D'après ce bouquin, que doit donner le programme suivant :

(setq a 1)
(defun f() a)
(defun g(a) (f))
(g 2)

?



L'interpréteur Emacs donne 2 si (g 2), 3 si (g 3). Un interpréteur
Common Lisp donne 1.

Effectivement, c'est bizarre.

Quel en est la raison ?

Ce problème permet-il vraiment de dire qu'Emacs Lisp n'est pas
vraiment un Lisp ?

Le Lisp ne fut pas particulièrement conçu pour manipuler du texte,
donc cela est normal que Perl dans ce domaine (qui terrasse dans ce
domaine tous les autres langages) soit meilleur.



C'est bien ce que je dis.



Oui, je répondais à Mihamina ;)

Ça veut dire quoi BWHAHAHA ? Que le Lisp est un mauvais langage ?



Bah comparé à ML, il fait pâle figure à mes yeux. Le typage et le filtrage,
c'est quand même pas du luxe.



Je dois avouer ne pas être un spécialiste en progra, encore moins en
ML que je ne connais pas du tout ... Le langage a l'air très
intéressant. Ce n'est pas la première fois que j'en entend parler en
des termes élogieux.

Bon, par contre, en faveur de Lisp : la syntaxe. J'avoue, j'adore la
syntaxe de Lisp. C'est très personnel, je sais ...

Je ne peux pas vraiment argumenter sur le reste. J'aime le "dynamisme"
de Lisp, sa souplesse, la récursivité ... Mais ne connaissant guère
que le C, l'Objective-C, sh/awk/..., il est certain qu'il existe
certainement d'autres langages qui disposent des choses que j'aime
dans Lisp, tout en étant meilleur sur d'autres points, et que je ne
connais pas. Mais il y a la syntaxe, et Emacs ...

Cependant, je vais jeter un oeil sur ML (mais aussi Haskell qui me
semble assez intéressant).



--
Camille "Mesmento" Bourgoin
jabber :
web : http://jbbourgoin.free.fr/site/
1 2