• [^] # Re: pourquoi le lip

    Posté par (site web personnel) . En réponse à la dépêche Sortie de SBCL 1.0. Évalué à 0.

    > > Demandez donc l'avis d'un programmeur Lisp sur la syntaxe de Ruby, Java, C#, Python, etc..

    > Pas facile: je n'en connais pas!

    De ce que j'ai testé, les parenthèses sont en général plus accessibles que les { } [ ] # @.
    Ensuite chaque groupe de parenthèses délimite un bloc qui est très facilement manipulable.

    exemple: (ma-fonction (prend "toto") (donne "titi"))

    tu peux manipuler et déplacer facilement les blocs que sont les fonctions ma-fonction, prend et donne. Il suffit de prendre les parenthèses.

    D'autre part, on indente en général le code. Ce qui fait dire à certain qu'on se retrouve à écrire en python si on enlève les parenthèses.
    Donc on fait assez vite abstraction des parenthèses et on se fie à l'indentation. Les parenthèses étant là pour vérifier le groupement s'il y a lieu. D'ailleurs certains éditeurs permettent de mettre les parenthèses dans une couleur très discrète comme le gris clair sur du blanc.

    Par contre si on enlève les parenthèses on perd la correspondance code<->donnée et la flexibilité des macros.
    Comme exemple, un fichier de configuration en lisp est aussi simple que :

    Écriture : (print '(defparameter ma-variable 10) fichier-de-conf)

    Le fichier de configuration contient : (defparameter ma-variable 10)

    Lecture : (load fichier-de-conf)

    Le (defparameter ma-variable 10) est une donnée en écriture mais est un bout de code qui est exécuté en lecture .
    (ma-variable prend la valeur 10 quand le fichier de conf est chargé).

    Donc j'ai du mal à recoder en C ou dans un autre langage parce qu'il me manque toujours des facilités apportées par la syntaxe du Lisp (et je ne parle que de la syntaxe...).