opadikt a écrit 3 commentaires

  • [^] # Re: lisibilité

    Posté par  . En réponse à la dépêche Opa, un nouveau langage pour le développement d’applications Web. Évalué à 2.

    Au niveau syntaxe, il y a quelques raccourcis par super intuitifs au début, mais très pratiques, voire addictifs à l'usage. J'ai juste deux exemples qui me viennent à l'esprit, là, maintenant, mais il y en a d'autres:

    • Les tildes: p.ex. le code ci-dessus aurait pu être écrit:

      ...
      match HttpRequest.getmethod() with
      | {~some} ->
      match some with
      ...
      

      ou de façon équivalente (juste le pattern):
      | ~{some} ->
      

      Le sucre, consiste juste à dire que ~a veut dire a=a et ~{a b c ...} veut dire {~a ~b ~c ...}. Dans cet exemple simple, ça ne paraît pas très utile, mais dans une grosse appli métier où il faut tout le temps matcher des gros records, ça sauve la vie.
    • Les applications partielles:
      en Caml, p.ex., si on écrit

      f x y = x - y
      

      On peut faire l'application partielle sur le premier argument, p.ex.:
      List.map (f 1) [1; 2; 3]
      

      Super. Par contre, si on veut faire l'application partielle sur le 2ème:
      List.map (fun x -> f x 1) [1; 2; 3]
      

      C'est l'échec.
      En Opa.
      f(x : int, y) = x - y
      _ = List.map(f(1, _), [1, 2, 3])
      _ = List.map(f(_, 1), [1, 2, 3])
      

      C'est homogène, c'est joli, et quand on y a goûté, on a du mal comprendre pourquoi il n'y a pas ça partout.

    Le système de type a quelques features assez cool aussi, mais je ne veux pas trop spoiler. Je vous laisse découvrir ;-)

  • [^] # Re: "The Right Thing" vs "Worst is Better"

    Posté par  . En réponse à la dépêche Opa, un nouveau langage pour le développement d’applications Web. Évalué à 1.

    J'espère surtout que la communauté libre va contribuer ;-)

  • [^] # Re: Encore une comparaison avec une autre technologie (Erlang)

    Posté par  . En réponse à la dépêche Opa, un nouveau langage pour le développement d’applications Web. Évalué à 2.

    Oui, Erlang est une super technologie et un modèle pour certains aspects d'Opa.
    Le concept de session en Opa, par exemple, en est directement inspiré.
    Erlang est aussi un modèle pour les aspects cloud, robustesse, qualité de service.
    Actuellement, il y a encore du travail en cours sur ces aspects là dans Opa.
    Mais dès maintenant, pour faire du web, je choisis Opa... ;-)