• [^] # Re: Ruby On Rails

    Posté par . En réponse à la dépêche Support d'Ajax dans Ruby on Rails. Évalué à 3.

    Ce qui est contre productif c'est d'être obligé de mettre des déclarations de type partout alors qu'on veut simplement tester une idée.

    Ce qui est contre productif c'est d'être obligé de créer des templates et de les instancier en générant du code pour pouvoir s'en servir (pile d'entier, pile de float, ...) alors qu'il est tellemnet plus simple de s'en servir sans contrainte de type.
    De même disposer de pile de n'importe quoi (si je veux ajouter un entier puis un float) est plus interessant que d'être obligé de passer par des void* en C ou des Object ce qui revient à contourner le typage statique et ouvre la porte aux erreurs qu'on est sensé eviter.

    Moi je préfère me concentrer sur l'idée en utilsant un langage dynamique. Tu developpes ta classe et ton test unitaire associé en même temps..
    Après comme devermineur tu peux utiliser les "contrats" qui apportent plus de garanties que le simple type checking.

    Si tu veux vraiment pousser, tu disposes d'outils de verification pour les langages dynamiques comme pychecker pour python.

    Une voie de progrès serait d'introduire le typage statique à posteriori lors des phases d'integration du produit.
    cf. debats de la communauté python
    http://www.google.fr/search?q=python+optional+static+typing&sou(...)

    Enfin il faut pas assimiler la validation syntaxique à la compilation comme le fait Timaniac.
    Ca n'en est qu'une étape et je ne suis pas le seul à le penser
    http://fr.wikipedia.org/wiki/Compilation(...)

    L'intêret de la compilation est dans les performances qui peuvent être améliorée dans le cadre de l'execution et là aussi on dispose d'outils d'optimisation pour les langages dynamiques (psyco ...). Et n'oublions pas les optimisations à l'execution.

    Bref la frontière entre langage interprété et complié est de plus en plus ténue en terme de performances
    Par contre les inconvénients du typage fort subsistent.
    http://www.mindview.net/WebLog/log-0025(...)