• [^] # Re: Perl et autre

    Posté par (site web personnel) . En réponse au journal Lisaac plus rapide que le C !. Évalué à 4.

    Je ne sais pas si tu connais un peu le langage, mais en fait, ça fait sens.

    Un prototype s'écrit de la manière suivante:


    Section Header

    + name := MON_PROTOTYPE;
    + description := "Juste un exemple";
    // ...

    Section Inherit

    + parent: Expanded OBJECT;

    Section Public

    - main <-
    ( + a, b:INTEGER;
    a := 3;
    b := 5;
    a.to_string+" + "+b.to_string+" = "+(a+b).to_string+"\n".print;
    );


    Tu vois que les variables locales (a, b), les méthodes (main) et variables d'instance (parent), ou les propriétés décrivant l'objet (name, description, ...) sont toujours introduites par un signe + ou -.

    le + correspond en général a une variable classique. Chaque objet à sa propre copie. Et devant 'name' cela signifie aussi que ton objet est probablement privé à un thread (sinon, il devient immuable).

    Le - correspond au static du C, C++, Java ... La vairable est partagée entre tous les clones d'un même prototype, et est concervée entre les appels de fonction. Pour 'name' cela correspond que ton objet peut être partagé sans problèmes entre plusieurs threads sans devenir immuable (et ce faisant, il peut être lui-même un thread, selon la programmation).


    A mon avis cela ne pose pas tant que ça un problème de lisibilité si la coloration syntaxique met en gras ces signes. Et je pense que dans le cas général, ce sera évident lorsqu'un objet sera + ou -.

    Et si cela pose vraiment problème, c'est toujours modifiable. Par exemple dans la version 0.1 du langage, il y avait en plus du + et du - un signe * qui a été remplacé par le mot clef Expanded (qui signifie que l'objet est stocké complètrement dans la variable, ce n'est pas une référence).