• [^] # Re: sonntag

    Posté par (site web personnel) . En réponse à la dépêche Lisaac 0.12 en GPL v3. Évalué à 2.

    J'ajouterai surtout l'absence de type BLOCK.

    Je souffre énormément en Java à cause de l'inexistance de BLOCK.

    En effet, avec ce type (qui est une fonction en fait), et la syntaxe à mot clé , on peut inventer les structures de controle qu'on veut.

    Ainsi dans la lib standard, j'ai rajouté différents foreach :

    foreach_while : Parcours tous les éléments et continu tant que la condition sur l'élément est vrai. ça évite de faire une construction hyper lourde à la java, avec un while, un tmp, un cast, et tout le toutim

    foreach_until : même idée, avec le until

    Ma préférée est le
    - to up: INTEGER do action:BLOCK items function:BLOCK <-
    Qui se trouvera dans numeric.


    Bref, les langages qui m'impose de subir les desiderata des concepteurs pour les structures de contrôle, ça m'emmerde.
    Il est vrai que parvenir à modifier la lib standard n'est pas anodin (il faut que l'idée soit bonne, la tester sous toutes les coutures, que Benoit Sonntag soit d'accord), mais au moins c'est possible de le faire.

    Dans cette étude http://morpheus.cs.ucdavis.edu/papers/sweeny.pdf , il est expliqué que beaucoup de problèmes (bugs, etc...) proviennent de parcours d'index dans des tableaux et de compréhension d'ensemble.
    C'est une fonction dans laquelle tu défini une fonction de parcours d'ensemble.

    1. to n do { i : INTEGER;
    // code
    } items { j : INTEGER;
    2*j+1
    };


    je rajoute cela à ce qu'a pointé Tramo Piere, et effectivement, Java est un vieux langage dépassé. Et comme disais je ne sais plus qui, ici même
    "Java : une syntaxe bas niveau avec les inconvéniants du haut niveau"
    C# même combat.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker