Hugo a écrit 18 commentaires

  • [^] # Re: Vous ne connaissez pas OPA ?

    Posté par  . En réponse à la dépêche Ouverture du concours Opa Developer Challenge. Évalué à 2.

  • [^] # Re: Questions

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

    Non. Les clefs de la db sont des chemins d'accès dans un arbre. Les int sont utilisés à l'intérieur des fichiers de stockage.

  • [^] # 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é à 3.

    C'est vrai ... mais au delà de plusieurs syntax, c'est plusieurs paradigmes !! C# et F# par exemple.

    Après, plusieurs syntaxes pour plusieurs syntaxes, je ne (avis perso) suis pas forcément pour: au delà d'une certaine taille de projet, on passe plus de temps à relire et modifier le code des autres que de taper du code neuf. S'il faut se tordre le cerveaux car l'auteur utilise des choses qu'on lit mal ou pire qu'on ne connait pas ... on perd plus de temps qu'autre chose ...

  • [^] # Re: Node.js

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

    Le rapport compilé/interprété est souvent en faveur du compilé, oui :)

  • [^] # 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é à 3.

    Très bon argument en faveur de Java: la richesse des APIs proposés. J'espère qu'on arrivera à une telle richesse en Opa!

  • [^] # Re: Questions

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

    Si j'ai bien compris, le langage, le compilateur, tout l'environnement de développement est gratuit et libre (AGPL) ? ;
    MLState est la société commerciale qui facture du support ? Une idée des tarifs ? ;

    Opa est disponible sou deux licences:
    * AGPL, et la communauté en bénéficie.
    * Licence propriétaire et ainsi le financement d'Opa est assuré.

    Opa est un langage fonctionnel, je suppose qu'un développeur Ocaml trouvera rapidement ses marques n'est-ce pas ? ;

    C'est possible. Après, un langage c'est un paradigme, une syntaxe et des APIs. Le point commun avec OCaml se trouve sur le paradigme et c'est tout. Le reste est encore à découvrir. Ceci dit, à toi de nous dire si tu 'rentres' dedans facilement :)

    Pour un grand projet, je m'étais laissé dire qu'Ocaml, en étant modulaire, facilitait la lecture, la correction et l'optimisation d'une application comportant beaucoup de code. Qu'en est-il avec Opa ? ;

    C'est une bonne question. Ces mêmes critères s'appliquent mais mon expérience de "gros" projet en Opa est limité. D'autres que moi sont plus à même de te répondre sur ce point.

    Peut-on compiler sur une architecture ARM ?

    Pas essayé. Mais si le compilateur OCaml cible une architecture, peu de raison que ça ne soit pas possible (le format des dates peut-être?)

    Si il est tout à fait logique pour une société commerciale de penser que Ocaml (et donc son framework Ocsigen) n'est pas le langage le plus adapté pour le développement web, on peut néanmoins, sans connotation négative, s'interroger sur l'objectivité de cette idée. N'étant pas qualifié, je serais ravi de connaitre l'avis d'un utilisateur confirmé d'Ocaml et du framework Ocsigen.

    Ça c'est pas moi :)

  • [^] # 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é à 2.

    Effectivement, plein de chose à dire, c'est cool merci :)

    J'aime bien la proposition de syntaxe pour le 'do' (sans être fan du '-') mais l'idée de créer une sorte de bloque "attentionjesuissequentiel" me plait bien (un peu à la OCCAM).
    Mais pour le coup, pourquoi ne pas prendre le ';' pour un 'do'.
    Ta proposition de te rapprocher de la syntaxe caml en enlevant les parenthèses et les virgules des appels de fonctions, perso je ne suis pas contre (ni pour, d'ailleurs), mais c'est justement ce qui peut alors perturber l'utilisateur lambda^W PHP.

  • [^] # Re: lisibilité

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

    Dans ton exemple, Plus et Nbr sont de type expre et pas de type Plus (ou Nbr), non?
    Tu "matches" donc avec une valeur de type expre et pas un type.

    Tu ne peux pas discriminer sur le type à runtime (int et float par exemple).

  • [^] # Re: Node.js

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

    La partie serveur est effectivement compilée vers du code natif.
    (en passant par du OCaml)

  • [^] # Re: Node.js

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

    Un collègue me dit que Opa fait 80 requêtes/seconde sur un Hello World contre 1200 pour nodejs, et que ça leake pas mal de mémoire. Mais ça serait pas mal d'avoir un benchmark un peu plus sérieux.

    Il est toujours difficile de comparer des solutions très différentes en terme de fonctionnalités. Le HelloWorld standard de Node.js met en oeuvre un serveur HTTP "brut" sans table de cookies ni logs. La page servie est une (courte) page HTML sans Javascript. En terme de fonctionnalités, ce test se compare donc plus légitimement à un serveur Apache -- ou encore au serveur HTTP bas niveau utilisé en interne par les serveurs Opa.

    A l'inverse, le langage OPA est optimisé pour écrire des applications Web fortement dynamiques. Les pages servies par Opa incluent par défaut un runtime Javascript riche, permettant notamment de sérialiser en "temps réel web" des valeurs arbitraires du langage entre client et serveur.

    Il y a quelques jours, nous obtenions les résultats suivants en utilisant "siege" sur différents "hello world" en mono-coeur avec un paramètre de concurrence 100.

                 Server                       trans/sec sec/trans/client
    

    Apache2/html 4200 0.023
    OPA HTTP server with no cookies and no logs 4000 0.025
    Node.js (has no cookies and no logs) 3600 0.028
    OPA HTTP server with cookies and logs 2900 0.034
    Apache2/PHP (has logs) 1800 0.055
    OPA server 1500 0.067

    A noter que le temps effectif de chargement d'une page dépend du temps d'exécution du runtime Javascript par le navigateur (non testé ici).

    Il faut savoir aussi que les tests de type "siege" allouent un grand nombre de cookies en continue, ce qui se traduit par une fuite mémoire apparente. Différentes options sont disponibles pour limiter de façon conservative le nombre de cookies actifs à un instant donné. Un paramétrage plus sûr sera activé par défaut dans la prochaine release.

  • [^] # Re: lisibilité

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

    Je suis d'accord. D'autant qu'une fois qu'on y a goûté, on a du mal à s'en passer ... je dis 'on' je dis 'je'.

  • [^] # Re: lisibilité

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

    Opa est loin d'être juste une sur-couche syntaxique à OCaml. (n'hésite pas à regarder le code source :) ). ocamlp4 est utilisé mais ça n'est pas significatif.

  • [^] # Re: lisibilité

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

    De ce que je comprends de ta question, la réponse est non.
    Pour préciser un peu: en OCaml et en Opa, le pattern matching se fait sur des valeurs et peut 'binder' (lier) des variables. On ne matche pas des types mais les valeurs d'un type.
    Le pattern matching agit en profondeur: il permet de discriminer des valeurs structurées.

    Même si le switch de C n'agit que sur des constantes, rien n'empêche d'imaginer une construction similaire pour ce langage ... non fonctionnel.

  • [^] # Re: THIS IS A DEMO. NOT LICENSED FOR ANY PURPOSE OTHER THAN EVALUATION.

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

    Ça, ça sent le paquet d'avant la release open-source. Je crois effectivement que tes binaires ne sont pas à jour.

  • [^] # Re: Support des navigateurs

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

    Je vais tenter de répondre à certaines de tes questions:

    Opa propose un mécanisme assez cool de 'binding'. Je t'encourage à parcourir l'annexe B du livre: http://opalang.org/resources/book/index.html#_bindings_with_other_languages
    Pour résumer: Javascript et OCaml c'est gratuit (ou presque) et pour les autres langages, tu passes par OCaml. Le problème est que tu te retrouves avec du code; pas exécutable client ET serveur. (OK c'est pas toujours ce qu'on veut, mais bon ...).

    Opa est un langage fonctionnel.

    Les modes proposés sont Emacs et Vim:
    http://opalang.org/resources/book/index.html#_setting_up_your_editor

  • # Extelia ... expert du vote en ligne ...

    Posté par  . En réponse au journal Extelia société chargé de développé la couche logicielle Hadopi et ses déboires. Évalué à 9.

    J'en reste sans voix ...
    http://www.jevoteenligne.com/
  • # un peu plus a l'est

    Posté par  . En réponse au journal Où partir ?. Évalué à 2.

    Je trouve tres bonne l'idee d'aller voir ailleurs ce que l'on peut y trouver. Ca ne veut pas dire que le depart est definitif.

    Avez-vous, toi et ta copine, envisage l'Inde? L'informatique y est de plus en plus presente, et le choc culturel risque de vous decoiffer.
  • [^] # Re: Portable ?!?

    Posté par  . En réponse à la dépêche 23 mars: Conférence au LORIA sur Lisaac, un nouveau langage. Évalué à 2.

    De plus je me pose une question: comment debugger le code?


    Je me pose la même ...