| ||
|
SVG en terrasse |
La voix de stef
Réunion en terrasse
Lorsque j'arrive à la réunion, il n'y a que Philippe Blayo en
sous-sol ayant déjà entamé son repas. Me doutant qu'on sera peu
nombreux, je lui propose d'aller en terrasse pour profiter de
l'air frais de la rue plutôt que subir celui de la clim. Robin
carburera à la bière, Phillipe est aux spaghetti et à l'eau. Et je
fais avec ma triplette de République habituelle : kriek, carbonara, dame
blanche. On a évité la techno de l'intérieur mais des musiciens des
rues vont rendre quelquefois la conversation laborieuse.
On Numbers and Games
M'étant remis récemment au go,
certaines
des
pages du wiki
sensei m'avaient incité à lire un
classique de l'autre
Conway.
J'exhibe donc fièrement mon exemplaire récemment reçu de
On Numbers and Games
connu des afficionados sous le non d'ONAG. Conway y présente les
nombres
surréels et
une classe de nombres encore plus large (baptisées pseudo-réels dans le
wikipedia) qu'il a créés pour modéliser les fins de partie de
go. C'est un système plus élégant que les
coupures
de
Dedekind
notamment parce que la construction des nombres surréels part des
entiers et non des rationnels mais aussi parce que la classe des
nombres surréels est plus large que celle des réels tout en ayant
des propriétés algébriques fortes. Les pseudo-réels permettent de
modéliser des tas de jeux, genre variantes du jeu de Nim ou du
hackenbush.
Le go a indirectement motivé le livre, mais Conway n'y parle du go
en aucune façon. Pour le go dans ce contexte mathématique, il faut lire
Mathematical Go Endgames coécrit par un des
coauteurs, Elwin Berlekamp, ce qui est devenu un série de
livres
coécrits par Conway et Berlekamp.
Les lubies d'Amazon.fr
La tentative avortée pour commander "On Numbers and Games" sur
Amazon.fr m'a appris que les différents Amazon nationaux ne
partagent guère leurs données puisque la date de publication sur
le site Français était 2020 bien que correcte sur les autres Amazon! Ledit site
présentait le bouquin via le système de vente par des tiers mais
avec le paiement géré par Amazon. Il ne le vendait pas lui-même
bien que le bouquin soit maintenant marqué comme disponible dans
les 1 ou 2 jours ouvrés
mais néanmoins toujours non commandable directement à Amazon.fr.
L'image de la couverture est disponible sur les sites Amazon
anglo-saxons. Je renonce à comprendre.
Sus à l'orthogonalité, Perl est diagonal et fractal
Nous parlons de Perl et du principe de diagonalité de Larry Wall. Un
langage ne se ramène pas à un ensemble de fonctionalités
orthogonales. Larry aurait probablement été moins pédant et dit qu'il
s'agit simplement de couper pour aller au plus court.
Un exemple de Larry fourni
dans sa page
Natural Language Principles in Perl et dans un
article
est l'assimilation
de l'écriture d'un programme à un voyage. En terme de distance,
on se promène dans un monde fractal et donc non euclidien. Par
exemple, on descend l'escalier, on va à un arrêt de bus qui après
correspondance nous amène à l'aréoport où des tapis roulants nous
amènent à l'avion et ainsi de suite. Phillippe semble dubitatif.
Je poursuis donc l'analogie et semble alors le convaincre. Avec Perl
ou tout autre langage de script décent, prendre l'escalier, c'est
écrire print "Hello world"
alors que Java oblige à tout
faire dans une voiture, y compris monter l'escalier c'est à dire
toujours déclarer classe et fonction. Les bons langages de script
fournissent le bon moyen de locomotion pour chaque partie du
trajet. D'où leur probable succès. Pour chaque usage ils peuvent
être loin de l'optimum local, mais pour l'ensemble du trajet ils
fournissent des optima globaux. Gluer des
parties de programmes écrits en différents langages est encore
plus difficile que gérer des correspondances de transport. Mais
il faut quelqu'un comme Larry pour arriver à mettre de manière
cohérente dans un seul langage de quoi faire des voyages
fractaux. Nous comparons ça à l'approche délibéremment orthogonale
propre aux comités avec des tas de sous-groupes de travail comme ceux du
w3c.
A propos d'orthogonalité, Philippe parle de la programmation par
aspect.
Noam Chomsky et Michael Moore
Finalement, darobin nous rejoint. Il nous parle de la difficulté
de trouver un livre de Noam Chomsky. Je suis étonné car je crois que
les bouquins de politique Chomsky se vendent presque aussi bien
en France que ceux de Michael Moore. En tous cas, beaucoup sont
disponibles en Français dans diverses collections de poche.
Certes, même s'ils sont tous les deux très critiques du
gouvernement en place aux US, il n'ont pas grand chose d'autres en
commun. Quand au bouquin de Chomsky mentionné par Robin, c'était
un essai peu connu sur la cartésianisme.
SVG: le dernier avatar du graphique vectoriel
Robin arrivé, on parle de SVG. Je dit que SVG essaie de refaire
NeWS en plus structuré. NeWS était dérivé de PostScript, mais
étendu pour supporter le fenêtrage et non simplement le rendu dans
une fenêtre comme Display Postscript. Robin dit que de nombreuses
personnes dans la commission de normalisation de SVG ont la nostagie de
NeWS. On parle alors de PDF, successeur de PostScript. Si je
comprend bien Robin, la société Adobe ne pouvait pas
forcer une mouvelle version de PostScript qui rendait obsolètes
les imprimantes existantes, donc elle a appelé le nouveau produit autrement.
Robin raconte que le moteur de rendu de OSX n'est pas X mais Aqua
dont le modèle graphique est très proche de SVG. Apple aurait
voulu être conforme à la norme, mais le produit ne pouvait
attendre que le long processus de normalisation se termine.
Implémentations SVG Open Source : problème pour l'animation
Robin nous apprend que la plupart des implémentations libres de
SVG ne supportent pas
SMIL , la convention qui
permet d'animer des images. Or il est difficile, voire impossible
de rajouter après coup cette fonctionalité et garder des performances
raisonables. Il faut en effet des structures de données et
algorithmes appropriés pour ne réafficher que ce qui change. Il
faut donc penser ce problème dès le départ. Il semble que les
algorithmes utilisés sont adaptés de ceux "ray-tracing" pour les
scènes dynamiques. En effet le SVG est du 2D et demi alors que le
lancer de rayon est utilisé pour le rendu de en 3D.
Il est plus facile de parler technique en anglais
Robin a dit "ray-tracing" et non lancer de rayon, et "frame by
frame". Cela illustre sa remarque qu'il est plus naturel de
parler technique en anglais qu'en français notamment parce que
nous lisons généralement la littérature en anglais. De plus,
quand on fait une présentation en anglais, il est plus facile de faire des
jeux de mots.
On parle ensuite de niveaux de langue et de la notion de contexte pour
la désambiguation. Je remarque que la grammaire de l'anglais est
généralement plus ambigue que celle du francais car la concaténation
de noms peut souvent s'analyser de plusieurs manières. Je n'arrive pas à trouver un
exemple. Mais Slashdot est prompt à m'en fournir un et écrit comme
titre de rubrique Pool
Playing Robot au lieu du probablement plus correct "Pool-Playing
Robot". Robin parlait justement d'un exemple similaire. l'expression "fruit flies
like a banana" est ambigue. Mais si on dit "time flies like an arrow;
fruit flies like a banana", on incite l'auditeur à choisir le sens le
plus zarbi où on compare le vol des mouches de fruits à celui des
bananes. Je note en rédigeant que vol en Français est ambigu, mais
c'est une ambiguité lexicale et non grammaticale.
Mauvaise ponctuation, ou l'histoire du panda tueur
On en vient à parler de l'influence des média sur la grammaire.
Je fait remarquer que
McLuhan dans
Gutemberg galaxy
affirme qu'avant l'imprimerie, on ne pouvait
pas faire de
fautes de grammaire car il n'y avait rien d'établi pour les
langues vivantes. Philippe er Robin rétorquent qu'avant
l'imprimerie il existait néammoins des conventions très strictes
pour la ponctuations et les abbréviations. Robin nous parle d'un
livre récent et de la ponctuation qui peut transformer un panda
repu en un tueur : Eats, Shoots & Leaves: The Zero Tolerance Approach to
Punctuation.
Ce livre est d'ailleurs l'objet de la verbeuse rubrique de Jef Raskin du
numéro
de
ACMQueue
sur les machines virtuelles sous-titré
What does punctuation have to do with software development?.
Tagmemics
Robin parle de l'importance de la notion de contexte et de la
difficulté de traiter les problèmes avec contexte
informatiquement et nous rappelle la présentation
On Topics and Topicalizers de
Allison Randal à YAPC::EU 2002
Il mentionne le mot de
tagmemics.
Rappellons que cette école linguistique a fortement inspiré Larry
Wall pour Perl et encore plus pour Perl6. Il y aura plus de
contextes en Perl6 qu'en Perl5 ce qui en fera un langage plus
expressif. Mais le contexte est facilement extractible de manière
syntaxique notamment avec les fameux sigils. Je remarque la
pauvreté du matériel sur la tagmemic sur le net.
Grammaires descriptives et prescriptives
Philippe pose
une question sur la spécificité de la tagmemic.
J'explique qu'historiquement la linguistique s'est intéressé plus à
la syntaxe et à la sémantique qu'à la pragmatique.
Les premiers linguistes étaient surtout des grammairiens comme Panini et
Vaugelas.
Il définissaient la norme d'un langage pur qui était l'apanage d'une
classe dominante ou tout au moins, c'est la partie que les
institutions originellement au service de cette classe s'attachent à
transmettre. Les liens que je donne semble me contredire, peut-être
justement parce que les gens écrivant sur le web ne sont pas adeptes
des systèmes normatifs. Le travail de Panini sur le sanskrit pour les brahmans
est aussi très avancé au niveux phonologique car la prononciation
exacte des textes sacrés est considérée comme essentielle dans
l'exécution des rituels.
Nabokov plus facile à lire qu'Asimov
Toujours à propos de niveaux de langues, je parle de mon
expérience quand je me suis mis à apprendre sérieusement
l'anglais. J'ai lu coup sur coup un livre
d'Asimov dont l'anglais
est très idiomatique et celui de
Nabokov très littéraire.
Par contraste, j'ai découvert que la caractérisation
psychologique des personnage d'Asimov était inexistante. Mais ce
qui nous interesse ici, c'est pourquoi Asimov a été beaucoup plus
difficile à lire pour moi que Nabokov, ce qui sidère la plupart
des anglophones. Pour expliquer cette différence de d'appréciation,
Robin note que le vocabulaire anglais est beaucoup plus riche que
celui du Francais car, outre le mot anglais, il y a souvent un
équivalent littéraire dérivé du latin, quelquefois via le
français. Evidemment cet équivalent littéraire n'est pas naturel
pour l'anglophone natif alors qu'il ne ne nécessite généralement
pas d'apprentissage particuler pour le francophone. Voilà donc
pourquoi Asimov est plus difficile à lire que Nabokov pour un
français qui débute en anglais.
Australians take over the world
A l'occasion de ces propos, Robin nous apprend qu'il a passé une
partie de son enfance en Australie, puis préparé son bac dans un
lycée international en France. Je lui demande si l'accent de
l'australien Damian Conway est plus prononcé que la moyenne des
accents australiens. Robin répond qu'il est très difficile de
comprendre un australien avec un fort accent. Il note aussi que Damian
joue avec son accent lors de ses présentations. Il est en effet moins
prononcé lorsqu'il parle naturellement.
Javascript rulez, DOM sux
Revenant sur des sujets connexes à SVG, je mentionne que j'essaie
de me mettre à jour sur les normes essentielles de w3c
et explore aussi
mozilla. Je trouve
Rapid Application Development with Mozilla
de Nigel MCFarlane (encore un
australien) assez confus. Je ne sais pas si c'est le sujet ou
l'auteur qui veut ça. Outre les normes w3c, mozilla utilise des
extensions comme XUL. Prononcez "zoule".
J'exprime mon profond dégout pour DOM.
Par
contre une fois qu'on maîtrise la notion de prototype, javascript
est un langage acceptable. Il est dommage qu'en googlant, on
tombe rarement sur les aspects réellement intéressants et puissants
du langage mais sur plutot des trucs à couper coller pour des
graphistes et non des vrais programmeurs.
La différence entre OWL et Relax-NG
Je mentionne que je ne vois guère la différence d'objectifs entre
les normes Relax-NG (prononcez
Relaxing) et OWL. Robin
m'explique que Relax-NG est comme un DTD qui spécfie le type,
voire l'organisation des éléments dans un document alors que OWL
est plus ambitieux et s'occupe de sémantique. Je me souviens
que Robin m'avait déjà répondu à ce sujet à la précédente réunion. Je
comprends vite mais il faut m'expliquer longtemps. On émet des
doutes sur l'applicabilité de ces concepts de schémas formels dans
le monde réel.
De l'IA à l'ontologie
Robin lache le "gros mot" ontologie
et on
s'accorde pour dire que ce qu'on appelait "Intelligence
Artificielle" avant-hier et "Système expert" hier est maintenant
un programme traitant d'une ontologie donnée. Le vocabulaire
change plus vite que les concepts n'évoluent. On revient à la
notion de contexte qui change toujours tout. Ainsi un système
expert pour découvrir du pétrole dans le golfe du Mexique sera
inopérant en Mer du Nord. Il sera incapable de distinguer les
règles générales de celle qui ne s'appliquent que dans un
contexte donné.
Normaliser n'est pas naturel
Robin remarque que comme pour les bases de données
relationnelles, les organisations de données utiles ou
efficientes ne sont pas sous la forme dite normale.
Web et Internet, kif kif
On s'interroge sur ce qu'apporte le web et l'interoperabilité
grâce aux normes. Informaticiens d'avant le web, nous remarquons que nous tordions le nez
quand les gens confondaient le Web et Internet, la partie et le
tout, l'application et le protocole de bas niveau. Mais
maintenant que tout devient accessible voire éditable à partir
des butineurs et que le XML risque de devenir omnipresent, la
distinction deviendra de plus en plus floue.
Le roi est nu car il est un singe nu
Des ontologies nous sommes passé aux habitudes humaines vues sous
un angle purement
éthologique ou
zoologique. Il s'agit du classque et controversé
The
Naked Ape de Desmond
Morris.
Mais Robin nous apprend que Morris a ensuite écrit The
Human Zoo. Toujours partant de son point de vue de zoologue, il
s'est aperçu que les animaux en captivité, et donc avec un habitat
très réduit, avaient un comportement différent des animaux en
liberté. Or l'homme moderne vit dans des zones urbaines
surconcentrées, d'où le parallèle. Un ami de Robin prétend qu'à force
de vouloir exploiter le filon, Desmond Morris a écrit un livre sénile
et misogyne. Cherchant sur Google il semble que Robin parle de The
Human Sexes: A Natural History of Man and Woman.
Perl sux, mais CPAN rulez
Je remarque que si j'étais un manager en charge du choix d'un
langage , je disqualifierais Perl sans regarder plus à cause du
mécanisme primitif de passage de paramètres. Mais ayant découvert
Perl dès ses premières versions, j'en vois tous les avantages et
tolère (difficilement) de tels défauts.
Néanmoins, il nous semble que Python et Ruby soit plus propres
syntaxiquement. Mais l'élément disqualifiant pour ces langages
est l'absence de véritable CPAN. Robin dit en effet que pour
pouvoir installer une application Python complète, on doit
souvent chercher des modules à droite et à gauche et les
installer soi-même. Intolérable.
E4X est une alternative au DOM
Revanant à DOM, Robin mentionne qu'on pourra en faire l'économie
grâce à une nouvelle norme qui étend javascript pour un accès
plus intuitif aux documents XML. Le nom de la norme est
E4X.
C'est un TLA pour "EcmaScript for XML". Une petite recherche sur
google m'apprend qu'il existe déjà une
implémentation expérimentale
pour Mozilla. On parle brièvement des projets de Mozilla2 et de
leur intérêt pour s'interfacer avec différentes machines
virtuelles.
|
Retour aux Mongueurs |
Paris, le 5 July 2006 Copyright © The Paris Perl Mongers, 1999-2008 |