<?xml version="1.0" encoding="ISO-8859-1" ?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="http://ivy.fr/blog/index.php/">
  <title>Ma petite entreprise - Commentaires</title>
  <description><![CDATA[Architecture logicielle, langages de domaines, interface graphique et VoIP]]></description>
  <link>http://ivy.fr/blog/index.php/</link>
  <dc:language>fr</dc:language>
  <dc:creator></dc:creator>
  <dc:rights></dc:rights>
  <dc:date>2010-08-24T14:50:54+00:00</dc:date>
  <admin:generatorAgent rdf:resource="http://www.dotclear.net/" />
  
  <sy:updatePeriod>daily</sy:updatePeriod>
  <sy:updateFrequency>1</sy:updateFrequency>
  <sy:updateBase>2010-08-24T14:50:54+00:00</sy:updateBase>
  
  <items>
  <rdf:Seq>
    <rdf:li rdf:resource="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c1423" />
  <rdf:li rdf:resource="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c1347" />
  <rdf:li rdf:resource="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c1317" />
  <rdf:li rdf:resource="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c1308" />
  <rdf:li rdf:resource="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c886" />
  <rdf:li rdf:resource="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c854" />
  <rdf:li rdf:resource="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c853" />
  <rdf:li rdf:resource="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c852" />
  </rdf:Seq>
  </items>
</channel>

<item rdf:about="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c1423">
  <title>Moins, c'est mieux ! - timberland shoe company</title>
  <link>http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c1423</link>
  <dc:date>2010-08-24T14:50:54+00:00</dc:date>
  <dc:creator>timberland shoe company</dc:creator>
  <description>Out timberland hiking boots windows, we drink in the passing scene of cars on nearby highways, of children timberland shoe company waving at a crossing, of cattle grazing on a distant timberland boots hillside, of smoke pouring from a power plant, of row upon row of corn and wheat, of flatlands and...</description>
  <content:encoded><![CDATA[<p>Out timberland hiking boots windows, we drink in the passing scene of cars on nearby highways, of children timberland shoe company waving at a crossing, of cattle grazing on a distant timberland boots hillside, of smoke pouring from a power plant, of row upon row of corn and wheat, of flatlands and timberland wheat shoes valleys, of mountains and rolling classic 3 eye timberland boat hillsides, of city skylines and village halls.But uppermost in our black timberland boots minds is the final destination. <a href="http://www.timberland4you.co.uk/sitemap.html" title="http://www.timberland4you.co.uk/sitemap.html" rel="nofollow">www.timberland4you.co.uk/...</a> </p>]]></content:encoded>
</item>
<item rdf:about="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c1347">
  <title>Moins, c'est mieux ! - prom dress</title>
  <link>http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c1347</link>
  <dc:date>2010-08-10T09:54:01+00:00</dc:date>
  <dc:creator>prom dress</dc:creator>
  <description>I posted your piece of writing 2 my myspace profile....</description>
  <content:encoded><![CDATA[<p>I posted your piece of writing 2 my myspace profile.</p>]]></content:encoded>
</item>
<item rdf:about="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c1317">
  <title>Moins, c'est mieux ! - Ed hardy shoes</title>
  <link>http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c1317</link>
  <dc:date>2010-08-02T09:10:47+00:00</dc:date>
  <dc:creator>Ed hardy shoes</dc:creator>
  <description>I really appreciate what you’re doing here....</description>
  <content:encoded><![CDATA[<p>I really appreciate what you’re doing here.</p>]]></content:encoded>
</item>
<item rdf:about="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c1308">
  <title>Moins, c'est mieux ! - herve leger</title>
  <link>http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c1308</link>
  <dc:date>2010-08-02T09:01:44+00:00</dc:date>
  <dc:creator>herve leger</dc:creator>
  <description>Thank you for the info, it really helps....</description>
  <content:encoded><![CDATA[<p>Thank you for the info, it really helps.</p>]]></content:encoded>
</item>
<item rdf:about="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c886">
  <title>Moins, c'est mieux ! - René Lenoir</title>
  <link>http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c886</link>
  <dc:date>2007-11-25T13:28:21+00:00</dc:date>
  <dc:creator>René Lenoir</dc:creator>
  <description>Je suis d'accord : le minimalisme est presque tout le temps execellent, que ce soit dans la vie courante, dans les langages de programmation mais aussi dans toute communication....</description>
  <content:encoded><![CDATA[<p>Je suis d'accord : le minimalisme est presque tout le temps execellent, que ce soit dans la vie courante, dans les langages de programmation mais aussi dans toute communication.</p>]]></content:encoded>
</item>
<item rdf:about="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c854">
  <title>Moins, c'est mieux ! - Damien</title>
  <link>http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c854</link>
  <dc:date>2007-10-03T16:51:11+00:00</dc:date>
  <dc:creator>Damien</dc:creator>
  <description>Je voulais dire le minimalisme de la syntaxe, en pensant à ta comparaison de adages de Perl et Python. Dans mon exemple, les conditionnelles utilisent toutes la syntaxe des messages (grammaire minimale), mais il y a quatre variantes (vocabulaire utilisateur pas minimal).

Io me dérange un peu...</description>
  <content:encoded><![CDATA[<p>Je voulais dire le minimalisme de la syntaxe, en pensant à ta comparaison de adages de Perl et Python. Dans mon exemple, les conditionnelles utilisent toutes la syntaxe des messages (grammaire minimale), mais il y a quatre variantes (vocabulaire utilisateur pas minimal).<br />
<br />
Io me dérange un peu parce que la grammaire n'est pas claire vis-à-vis du modèle (ça donne l'impression qu'un programme Io ne peut être exécuté qu'entrelacé avec son parser…). Il y a eu récemment un long thread sur la liste Squeak à propos d'étendre la sémantique des blocs: actuellement &quot;[a. b. c] value&quot; évalue a, b, c en séquence et renvoie le résultat de c, exactement comme on évaluerait une fonction sans argument. La proposition était de permettre &quot;[a. b. c] values&quot; qui renverrait la collection des trois résultats, ou &quot;[a. b. c] concurrently&quot; qui évalue les 3 instructions en parallèle. Le problème c'est qu'on ne sait plus si [a. b. c] est une fonction ou une collection de trois instructions, ou un bout d'arbre de syntaxe, ou… Bref pour ce genre de bidouille je préfère les macros Lisp qui sont définies &quot;clairement&quot; avec les quotes, backquotes et autres virgules, et qui sont évaluées par le compilateur sur l'arbre abstrait, avant génération du code et avant l'exécution qui se fait raisonnablement plus tard.<br />
<br />
En parlant de macros, les gens de Pepsi/Albert/COLA ont un parser extensible dynamiquement: <a href="http://www.cs.ucla.edu/~awarth/ometa/" title="http://www.cs.ucla.edu/~awarth/ometa/" rel="nofollow">www.cs.ucla.edu/~awarth/o...</a><br />
Ça fait pareil que des macros Lisp mais à plus bas niveau: en Lisp le parser génère des S-expressions qui sont modifiées par les macros avant que le compilo proprement dit génère le code ; on a donc toujours la notation à parenthèses, mais avec des mots clés ou des formes supplémentaires. OMeta modifie le parser lui-même, et dynamiquement (c.-à-d. pendant le parsing: dans l'article ils ajoutent la notation [i] pour indexer un tableau juste le temps d'une dixaine de lignes :)<br />
<br />
</p>]]></content:encoded>
</item>
<item rdf:about="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c853">
  <title>Moins, c'est mieux ! - Sébastien</title>
  <link>http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c853</link>
  <dc:date>2007-10-03T14:55:50+00:00</dc:date>
  <dc:creator>Sébastien</dc:creator>
  <description>J'aime beaucoup la manière dont tu formules la "base de concepts" d'un langage. Je pense vraiment de la même manière !

Par exemple, on se rend vite compte qu'un langage qui ne permet pas de déclarer et de référencer des fonctions anonymes (ou pas) perd beaucoup en flexibilité.

Dans...</description>
  <content:encoded><![CDATA[<p>J'aime beaucoup la manière dont tu formules la &quot;base de concepts&quot; d'un langage. Je pense vraiment de la même manière !<br />
<br />
Par exemple, on se rend vite compte qu'un langage qui ne permet pas de déclarer et de référencer des fonctions anonymes (ou pas) perd beaucoup en flexibilité.<br />
<br />
Dans le même ordre d'idée, faire comme Io et permettre de ré-interpréter un &quot;Message&quot; dans différents contextes. Exemple concret: récupérer le message --bloc de code-- correspondant aux paramètres, et l'affecter tel quel a un autre objet permet de définir des opérations de déclaration du type 'createClass'... alors qu'en général les déclarations sont des opérations réservées, qui ne sont pas directement accessibles au programme -- je sais pas si c'est clair !<br />
<br />
Bref, il y a vraiment certains traits fondamentaux qu'il faut bien comprendre, car les oublier conduit à des limites qui sont souvent dommages (et pour Sugar, j'ai essayé de prendre ça en compte).<br />
<br />
Mais cela-dit, la syntaxe est aussi importante. Prends par exemple Objective-C qui implante un modèle objet &quot;pur&quot; par messages, inspiré de Smalltalk (*) par dessus C... conceptuellement, c'est sexy, et si tu utilises le C99 tu as plein de nouvelles fonctionnalités intéressantes &quot;gratuites&quot; (fonctions anonymes, notamment)... mais la syntaxe est atroce.<br />
<br />
Devoir déclarer un header et une implantation quand tu es habitué à des langages dynamiques et interprétés est dur à avaler. Ton code devient en général 40% plus gros que du code dans un autre langage.... simplement a cause de la syntaxe.<br />
<br />
Et d'ailleurs, je pense que tout l'intérêt derrière les DSL est de diminiuer le nombre de lignes de code, et de se rapprocher d'un modèle déclaratif, proche des idées. La syntaxe a clairement son rôle a jouer là-dedans :)<br />
<br />
(*) Tu aimes ça, non ? ;)</p>]]></content:encoded>
</item>
<item rdf:about="http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c852">
  <title>Moins, c'est mieux ! - Damien</title>
  <link>http://ivy.fr/blog/index.php/2007/10/03/65-moins-c-est-mieux#c852</link>
  <dc:date>2007-10-03T14:39:21+00:00</dc:date>
  <dc:creator>Damien</dc:creator>
  <description>Excellent :)

Avec la minimalité, une capacité pour moi essentielle des langages de programmation, c'est celle d'auto-référence.

Le minimalisme côté syntaxe est important (quoique… poussé à extrême, (ça (donne (lisp :)))) mais il me semble plus essentiel encore d'avoir au cœur du langage une...</description>
  <content:encoded><![CDATA[<p>Excellent :)<br />
<br />
Avec la minimalité, une capacité pour moi essentielle des langages de programmation, c'est celle d'auto-référence.<br />
<br />
Le minimalisme côté syntaxe est important (quoique… poussé à extrême, (ça (donne (lisp :)))) mais il me semble plus essentiel encore d'avoir au cœur du langage une &quot;base&quot; de concepts (comme une base de vecteurs) minimale et solide, et à partir de laquelle il soit facile de créer des néologismes.<br />
<br />
Après la syntaxe finale n'est pas si importante… En Smalltalk par exemple (*), c'est quand même bien pratique d'avoir #ifTrue:, #ifFalse:, #ifTrue:ifFalse, #ifFalse:ifTrue: (**) même si ces méthodes font quand même toutes la même chose au final. Pour revenir aux confitures, j'ai goûté des mélanges sympa (fraise-rhubarbe ? me souviens plus), tant que tu sais que tu pourrais le retrouver en prenant deux demi-pots, ça ajoute pas vraiment à la difficulté du choix.<br />
<br />
(*) ne m'en lasserai-je donc jamais ?<br />
(**) auto-référence à un tr^H^Hpost précédent ;)</p>]]></content:encoded>
</item>

</rdf:RDF>
