• [^] # Réponse d'un gourou imaginaire

    Posté par . En réponse à la dépêche Common LISP, un langage à (re)découvrir. Évalué à 10.

    Cher néophyte,

    Je ne connais pas grand chose aux langages fonctionnels mais ca a l'air grave interessant.

    Plus exactement, c'est amusant et ça peut donner de bonnes idées pour tes expériences futures. Maintenant, en-dehors de cas académiques (la factorielle (tm), etc), c'est relativement inutile de vouloir s'accrocher à ce genre de langages. Les problèmes du monde réel, qui sont complexes, multivalents et nécessitent des solutions soigneusement affutées, s'accomodent mal de la "pureté", ou plus exactement de l'austérité sémantique, des langages fonctionnels.

    Quand je vois que KDE avec du C++ arrive tout juste au niveau des fonctionnalites d'emacs avec son lisp

    Non non petit scarabée, quand tu t'adresses à un gourou, abstiens-toi de troller comme tu le fais dans la cour avec les autres scarabées... Enfin, je te pardonne, ça m'est arrivé aussi dans ma jeunesse de faire preuve d'impolitesse avec les gourous dont je quémandais les lumières :)

    Vous croyez qu'un langage imperatif peut s'approcher d'un langage fonctionnel suffisamment pour en procurer les avantages ?

    Ah cher newbie, tu poses la mauvaise question (rassure-toi, c'est un trait commun à beaucoup de newbies, et tu arriveras à t'en défaire grâce à la sagesse que tu accumuleras). La bonne question est : quels sont donc les mythiques avantages des langages fonctionnels ? Tu verras que la réponse se réduit à l'ensemble vide.

    y a-t-il des boite a outils graphique (style Qt, gtk, ...) et des constructeurs d'interface (glade, Qt Designer, ...) avec vos langages fonctionnels

    J'ai déjà vu une interface graphique réalisée en Lisp. Mais je te rassure, c'était laid, lent et buggé.

    j'ai cru comprendre qu'une des forces du Lisp etait la souplesse de ses types definies de facon plutot faineante

    C'est une "force" commune à la plupart des langages interprétés (ou pseudo-compilés). Si c'est ce que tu cherches, Perl par exemple fera très bien l'affaire. Pas besoin donc de se perdre dans une marée d'inutiles parenthèses...

    et ses capacites de mise a jour dynamique

    Là encore, c'est une caractéristique de Lisp qui le rend assez beau d'un point de vue théorique (académique) ; un peu comme le fait que la sémantique du langage se satisfasse de très peu de constructions "natives" (on peut descendre à moins d'une dizaine), ou que tout soit listes qui sont elles-mêmes paires pointées (d'ailleurs, indice, c'est intéressant pour les templates C++). Mais en pratique, c'est beaucoup trop lourd à exploiter. Tu imagines un vrai programme (un pas trivial, plusieurs milliers de lignes au minimum) qui changerait à la volée la définition de ses propres fonctions et structures ? Ce serait rudement amusant à débugger, un programme pareil, tu penses ;) Certes la nomenclature deviendrait un effort inutile et donc évitable (ce qui n'est pas, j'en suis sûr, sans éveiller ton tempérament paresseux comme celui de tout programmeur de génie, même en herbe et en culottes courtes), puisqu'avec des structures qui changent de sémantique au gré de l'exécution du programme, pourquoi s'acharner à vouloir donner des noms pertinents ?

    je crois que je devrai faire un tour sur un newsgroup de programmation fonctionelle.

    Crois-moi, la vie est belle et vaut la peine d'être vécue. C'est bien dommage de s'abandonner à de telles pensées noires et peu adaptées à la fraîcheur de ta sève, petit scarabée.

    Comment qu'on rentre ?

    L'INRIA c'est chiant et rempli de gens qui pensent travailler sur des sujets très utiles qui en fait n'aboutissent jamais à rien de concret (ou alors un pauvre partenariat concernant mille lignes de code après dix ans de "recherches" poussives). On n'y est de plus pas bien payé (normal, puisqu'on est inutile). Par contre, si tu choisis bien le lieu et la période, tu pourras passer d'agréables vacances sur la côte d'Azur : un stage est tout indiqué ; tâche de dégoter un sujet bien fumeux à Sophia-Antipolis et fais-toi des copains parmi les autres stagiaires du coin (que tu pourras rencontrer dans la résidence à laquelle t'enverra l'INRIA), tu ne le regretteras pas.


    Voilà, petit scarabée, j'espère que mes réponses t'agréeront. Il est toujours agréable de pouvoir être utile à d'innocents et jeunes newbies quand ils butent contre les mêmes interrogations que celles que l'on eut, soi-même jeune et innocent, avant de devenir gourou....

    Bien à toi.