Lisaac 0.84 est sorti

Posté par  (site web personnel) . Modéré par Nÿco.
0
29
nov.
2005
Technologie
Une nouvelle version du compilateur Lisaac est disponible.

Lisaac est le premier langage objet à prototype compilé. Digne héritier de Self et Eiffel (il a été conçu au sein du laboratoire où a été écrit GNU/SmartEiffel, sous la férule de Dominique Colnet), il améliore grandement les techniques utilisées dans SmartEiffel afin de produire un code aussi rapide que du C. Lisaac a été conçu dans le cadre du projet "IsaacOS" afin de disposer d'un langage objet de haut niveau, suffisamment performant pour écrire un système d'exploitation.

Pour cette version, la bibliothèque standard du compilateur passe en LGPL et l'ensemble du code fourni en exemple passe en GPL. En effet, Lisaac est fourni avec une bibliothèque complète, incluant depuis cette version des fonctionnalités permettant d'écrire des interfaces utilisateurs. Un gros effort a été fourni pour rendre le code totalement portable sous GNU/Linux, DOS et Windows (Lisaac produit du C ANSI).

Notez que le versionning est à rapporter aux spécifications originales du langages : le compilateur est stable et fonctionnel. L'objet à prototype diffère de l'objet à classe : Une classe n'est que la représentation abstraite d'une réalité alors qu'un prototype est vivant. Une classe s'instancie, un prototype se clone. L'héritage s'effectuant au niveau de l'objet, ceux-ci peuvent dynamiquement changer de parents à l'exécution ce qui accroît fortement la flexibilité.

Afin de produire un code le plus performant possible, Le compilateur Lisaac utilise un technique dite d'analyse de flot. Cette technique analyse le contenu de tout le code soumis au compilateur qui va "prévoir" toutes les branches possible du code, en particulier quel sont les objets réellement utilisés. Il ne produit donc que le code nécessaire à l'exécution du programme. C'est une avancée par rapport à SmartEiffel qui se borne à une analyse syntaxique du code.

Interface utilisateur
La bibliothèque permettant d'écrire l'interface utilisateur a été conçue pour être la plus simple possible. On peut écrire un petit éditeur texte en quelques lignes.
On peut créer par exemple une zone texte en une ligne :
GUI_IN_TEXT.create_in INTERFACE at 5,160 width 250 label "object GUI_IN_TEXT : " action self;

Elle est doté d'un système de message permettant de récupérer simplement les évènements souris, clavier, etc. Ici, c'est la méthode receive de l'objet courant qui sera appelée.

Licence
L'Inria ne veut pas publier le code source du compilateur Lisaac pour le moment étant donné qu'il s'agit d'une technologie vraiment novatrice et qu'ils veulent la protéger, il ne nous est donc pas possible de rendre Lisaac disponible en GPL.
J'ai demandé à RMS de me donner son point de vue et il m'a expliqué que même si les brevets étaient "mal", la moins mauvaise solution était de déposer un brevet sur la technologie puis de libérer le code source.

La licence actuelle permet au moins à quiconque de l'utiliser librement à condition de ne pas utiliser le compilateur pour produire un code à des fins commerciales.

Aller plus loin

  • # Javascript

    Posté par  . Évalué à 5.

    Un autre exemple de langage objet à base de prototype est javascript.
    Bien sur, il n'est pas compilé etc., mais pour tâter de l'objet à base de prototype, c'est un bon début.
    • [^] # Re: Javascript

      Posté par  (site web personnel) . Évalué à 5.

      Oui mais il n'y a pas d'héritage dynamique et il n'est pas typé ;-)) Ces deux langages ne sont de toutes façon pas très comparable, mais c'est vrai javascript est un peu "prototype"

      ___
      Note : J'ai buggé hier soir, en mettant une archive lisaac_084.zip invalide, c'est maintenant corrigé

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

      • [^] # Re: Javascript

        Posté par  (site web personnel) . Évalué à 4.

        lua fait aussi des prototypes. En fait, en lua, un objet est un dictionnaire et c'est juste la syntaxe qui fait qu'il ressemble a un objet. Assez sympa comme concept mais un peu bizarre.
  • # le... "versionning" ?

    Posté par  . Évalué à 2.

    je suppose que ça doit avoir un rapport avec le numéro de version,
    est-ce que ça regroupe d'autres concepts ?

    La gent féminine, pas la "gente", pas de "e" ! La gent féminine ! Et ça se prononce comme "gens". Pas "jante".

    • [^] # Re: le... "versionning" ?

      Posté par  (site web personnel) . Évalué à 3.

      Les spécifications d'Isaac ont été conçu en 2002 et on peu évoluées depuis. La notation de version est en fonction du respect des spécifications.

      Tout les compilateurs diffusés par Benoit Sonntag sont considérés comme stable.

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

    • [^] # Re: le... "versionning" ?

      Posté par  (site web personnel) . Évalué à 5.

      Plus de précisions :

      Le 1.0 signifie la perfection, je ne sais donc pas si je verrai Lisaac 1.0 de mon vivant ;-))

      Actuellement la spécification courante est la 0.1

      La 0.2 est prete et apporte
      - Amélioration prog par contrat (hold et result comme dans eiffel), permettant de prendre en compte l'ancienne valeur d'une variable.
      - Le fait qu'une fonction puisse rendre plusieurs paramètres, ce qui permettra de faire plein de "Cameleries" en Lisaac.

      Pour la suite, on a de très belles idées, mais on verra plus tard...

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

      • [^] # Re: le... "versionning" ?

        Posté par  (site web personnel) . Évalué à 1.

        Faite attention à la programmation par contrat qui dégage en mode release par rapport au mode debug.

        Un mode debug c'est bien pour le debug mais pas pour la validation.

        Par exemple, dans l'industrie, tu lances toujours tes long scripts de validation sur la version du binaire final, surtout si tu es dans une application dite temps réel. Si le but de lisaac est d'être bas niveau, il y a un gros marché à ce niveau là.

        Or, il ne signifie rien de faire une validation lourde dans une appli temps réel en mode debug.

        Le cout d'une validation est telle, que souvent, on préfaire faire modifier le hardware que le soft !

        Tout ça pour dire que cela serait bien de faire une vérification statique avec "back propagation" pour vérifier le contrat, plutôt que de le faire au run time.

        "La première sécurité est la liberté"

  • # Noyau / OS autour de Lisaac...

    Posté par  (site web personnel) . Évalué à 7.

    J'ai récemment découvert ce langage et le projet IsaacOS lorsqu'on avait parlé de Singularity [1]. A ce moment, il avait été dit que le compilateur n'était (et a priori ne serait) pas libre, en rapport avec la politique de publication de l'INRIA. C'est donc avec beaucoup de joie que j'accueille cette nouvelle.
    Le monde des noyau/OS aurait besoin d'un bon coup de renouveau, et je prefererais que ce renouveau soit libre.

    C'est extrèmement interressant de disposer du langage et du compilateur. Sans C, Linux n'aurait pas pu être créé... Tout ce que je peux souhaiter, c'est que Lisaac crée le même genre d'engouement ;) Bon, d'accord, il manque l'équivalent de POSIX pour IsaacOS... Mais c'est déjà un bon début ;)
    Et puis, on peux toujours espérer, puisqu'il semble que des personnes proches des chercheurs liés au projet fréquentent assidûment LinuxFR.

    [1] : https://linuxfr.org/~Fanf/20055.html
    • [^] # Re: Noyau / OS autour de Lisaac...

      Posté par  (site web personnel) . Évalué à 3.

      1/L'Inria veut protéger le compilateur. Pas la lib que quiconque peut s'amuser à réécrire. J'espère qu'un jour IsaacOS sera libre, ce qui permettra qu'il ne soit plus qu'un objet de laboratoire sans avenir mais un projet novateur qui mettra un bon coup de pied technologique dans la fourmilière.

      2/ Implémenter Posix ne devrait pas être trop difficile, il y a environ 80 points d'entrées sur l'OS à rediriger et il suffira de recompiler la glibc.

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

    • [^] # Re: Noyau / OS autour de Lisaac...

      Posté par  . Évalué à 5.

      Sans C, Linux n'aurait pas pu être créé...
      Rectification: Sans C, Unix n'aurait pas pu être créé...
      • [^] # Re: Noyau / OS autour de Lisaac...

        Posté par  . Évalué à 2.

        En même temps, Linux non plus.
        Il ne s'agit donc pas d'une rectification mais d'une "globalisation".
        • [^] # Re: Noyau / OS autour de Lisaac...

          Posté par  . Évalué à 5.

          Je veux pas pinailler ou quadripilosectomiser mais... pour moi c'est plus une rectification historique qu'une globalisation.
          Bien sûr que sans le C, tous les OS écrits en C n'existeraient pas tels que nous les connaissons.
          Toujours est-il que :
          1- Linux s'inspire de Unix,
          2- Le C a été créé pour Unix.
          Donc il me semble plus juste de dire que sans le C, Unix n'aurait pas existé (tel que nous le connaissons).

          Voilà,voilà...
  • # licence ?

    Posté par  . Évalué à 10.

    Je vais me faire l'avocat du diable, mais pourquoi publier ici la sortie d'un logiciel non libre et à code sous fermé ? Un journal n'aurait-il pas suffit ? Ca sort de l'INRIA et ça suffit ? Ca serait sortit de chez Microsoft que tout le monde aurait hurlé ...

    Quitte à poster un commentaire, j'en profite quand même pour poser des questions sur ce langage.

    1. Si ce langage est franchement mieux que Eiffel (langage que j'apprécie beaucoup) , pourquoi D. Colnet continue-t-il le développement du compilateur SmartEiffel? Et ce d'autant que la lecture de la ML semble révéler quelques tensions entre les devs (certains sont à l'INRIA et les autres sont bénévoles) et les utilisateurs, qui ne semblent pas se bousculer au portillon. Quel intêret reste-il à Eiffel si Lisaac permet de faire tout ce que permet de faire Eiffel, et plus encore ?

    2. C'est une avancée par rapport à SmartEiffel qui se borne à une analyse syntaxique du code.
    T'es sûr de toi . C'est en contradiction avec ce qui est dit sur http://smarteiffel.loria.fr/papers/papers.html
    De toute façon, un compilateur ne peut pas se borner à de l'analyse syntaxique, il faut au moins un peu d'analyse sémantique . J'ai raté qqchose ?

    3. <<il a été conçu au sein du laboratoire où a été écrit GNU/SmartEiffel>>
    [Note: je ne mets pas en doute *ton* interêt pour l'open source.]
    Il y a bien SmartEiffel, qui est à la fois un langage et un compilateur [1], et qui est présenté comme "the GNU Eiffel Compiler", mais GNU/SmartEiffel n'existe pas. Mais est-ce une simple confusion ? Je commence en effet à me poser des questions sur l'utilisation de l'Open Source dans ce labo :
    - certains fichiers livrés avec le compilateur SmartEiffel ne contiennent même pas le nom de leur auteur, mais le copyright du 'noyau dur des developpeurs'.
    - on nous parle de RMS pour un projet qui est pour le moment tout ce qu'il y a de plus fermé. J'aimerais comprendre ...


    [1] Eiffel est un fabuleux langage qui n'a malheureusement jamais été normalisé (une version qui nous vient de Mars vient de l'être à l'ECMA, mais personne ne l'implémente), et chaque compilateur utilise son propre jargon du langage. Et depuis un an, c'est de pire en pire.
    cf http://en.wikipedia.org/wiki/Eiffel_programming_language#Spe(...)
    • [^] # Re: licence ?

      Posté par  (site web personnel) . Évalué à 6.

      1/Je n'imagine pas Dominique Colnet arrêter son bébé : la question est quelque peu étonnante.
      Le compilo a été fait par l'équipe de Colnet mais surtout par Benoit Sonntag qui a profité des vues de D. Colnet sur le compilateur.

      2/ Smart Eiffel ne fait pas d'analyse de flot :
      Il fait une evaluation partielle très limité (Evaluation partielle =fait de transformer un x + 2 - 3 en x-1 ).
      Smart Eiffel n'a quasiment pas d'algorithme d'analyse de flot. Cette technique consiste à construire un graphe du code, pour évaluer les branches vivantes, et en particulier sur SmartEiffel, elle est syntaxique.
      En gros si il voit objet.method dans le code, il en conclue qu'il est vivant, il se pose pas la question de savoir quel type sont actifs : il part du principe que dans n'importe contexte ils sont tous vivants, en d'autre terme que si f1, f2, f3 héritent de papa, on doit écrire la fonction f1.method, f2.method, f3.method dans le code C final.

      Tu as plusieurs degré d'analyse de flot : se réduit t-il à une seule fonction ou à plusieurs ? Est-elle est globale.
      C'est le cas en Lisaac, mais elle reste pas trop profonde. Plus elle est profonde plus elle est consomatrice en mémoire. Analyser 400 lignes avec la lib derrière, c'est 10 Go de mémoire vive à bas mot.

      Après cela reste une liste de nuances assez théoriques.


      J'ai déjà dit ce qu'il y a dire sur l'INRIA. Je ne suis pas contre l'idée de protéger une technologie française, il faut qu'on apprenne en France à gagner de l'argent avec ce que l'on trouve et cesser de donner nos technologies aux américain comme on le fait depuis 40 ans.

      Quand à RMS, je lui ai exposé le problème : Si l'on libère le code, autant aller donner la techno à toutes les entreprises privés qui pourront le mettre dans leur compilateur en étudiant Lisaac. Le droit d'auteur ne suffit pas. Il faut donc protéger la techno par un brevet.

      Je cite RMS dans son mail d'il y a quelques jours :

      La seule manière possible d'interdire quelqu'un d'implementer quelque
      chose est par un brevet. Mais les brevets de logiciel son néfastes,
      et nous devons les condamner clairement.

      Tant que les brevets de logiciel existent aux Etats Unis, il-y-a une
      seule manière légitime de les utiliser: pour neutraliser les brevets
      des autres. Si tu obtiens des brevets sur cette technologie, tu
      pourrais les utiliser pour exiger que Microsoft et Sun se restreignent
      de nous attaquer avec ses brevets.

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

      • [^] # Protection par l'obscurantisme

        Posté par  . Évalué à 5.

        Si l'on libère le code, autant aller donner la techno à toutes les entreprises privés qui pourront le mettre dans leur compilateur en étudiant Lisaac. Le droit d'auteur ne suffit pas. Il faut donc protéger la techno par un brevet.


        C'est vrai que libérer le code l'expose à la vue des autres. C'est un gros problème du libre avec les technologies novatrices. Mais il faut aussi penser que si on garde une super idée pour soi. On est le seul à pouvoir la faire évoluer, les autres ne pouvant pas l'analyser et donc la critiquer. C'est aussi un problème. Si les hommes avaient gardé leurs inventions pour eux, nous serions toujours dans la savane. Il faudrait un moyen d'empécher les abus, comme les brevets à l'origine ...
        • [^] # Re: Protection par l'obscurantisme

          Posté par  (site web personnel) . Évalué à 2.

          Je vais te dire sincèrement ce que j'en pense sur ce cas précis. Je vais être rude, mais c'est à mon avis la vérité.

          Lisaac est un compilateur embarquant des techniques à la pointes de la recherche. Pour en connaîtres certains des principes (que je garde pour moi), je peux te dire qu'ils sont d'une telle complexité que seul un chercheur très spécialisé dans le domaine est capable de le comprendre.

          Beaucoup sont capable de comprendre les théories utilisés dans le développeur. Par contre le nombre de personnes capables de les maîtriser suffisament pour "rentrer dans le code" sont au nombre de 20 à tout casser.

          Ca va peut être paraitre paradoxale, mais vu le niveau de Benoit Sonntag, je ne vois pas l'intérêt à ce que d'autres interviennent dans un compilateur. C'est un code que seul son auteur peut comprendre, qui fait 16 000 lignes environ, et je ne vois ce que pourrait apporter un contributeur extérieur qui mettrait de toute façon plusieurs mois à être capable d'être opérationnel sur celui-ci (ie. capable de le comprendre).

          Lisaac, c'est pas Mozilla ou Linux, c'est un compilateur qui suppose de maitriser des théorie à la pointe de la recherche en compilation, en théorie des types, etc..
          Je veux dire par là que si on a pas fait une thèse de doctorat dans le domaine, ça risque d'être dur, petits génies à part.
          J'ai l'air très présompteux, mais franchement, c'est du très haut niveau.

          Libérer Lisaac serait intéressant au niveau didactique pour les 20 personnes capable de le maîtriser, mais je vois pas ce que ça apporterait.

          Cela dit, j'espère que ça se fera un jour, mais auparavant il faudra que les technos qui s'y trouvent soient protégée.

          Après sur le principe général de diffusion des connaissances, je suis parfaitement d'accord.

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

          • [^] # Re: Protection par l'obscurantisme

            Posté par  . Évalué à 10.

            C'est un code que seul son auteur peut comprendre, qui fait 16 000 lignes environ, et je ne vois ce que pourrait apporter un contributeur extérieur qui mettrait de toute façon plusieurs mois à être capable d'être opérationnel sur celui-ci (ie. capable de le comprendre).

            Je veux bien croire que cet auteur est un parfait génie et ce qu'il a fait merveilleux, mais de là à croire que pas plus de 20 personnes seraient capable de faire des choses interressantes avec, j'ai un énorme doute... J'ai l'impression qu'il y a une légère sur-estimation personnelle et sous estimation du reste du monde. En même temps si la politique maison et de ne jamais rien communiquer parce que tout est bien trop revolutionnaire et innovant, c'est sûr que pas grand monde risque d'être au courant des idées :P

            Bref en même temps il veut le garder fermé, c'est son droit, pas besoin de chercher des escuses bidons du style "je suis vraiment trop un dieu, ça sert a rien d'ouvrir une techno si merveilleuse que personne est capable de comprendre tellement les gens sont des nains"

            S'il a vraiment envi de garder des algorithmes revolutionnaire sa propriété il ne lui reste plus qu'à militer pour les brevets logiciels, comme ça il pourra s'amuser à breveter ses maths :/

            Bref à mon avis Lisaac n'a rien à faire sur un site qui parle de LL. Le fait que la biblio soit LGPL est bien trop maigre pour compenser l'idéologie derrière le compilo visant à garder des algorithmes secrets, ce qui est une choses les plus contraires au librisme.

            Et puis quand bien même on mettrait plusieurs mois avant d'être opérationel, où est le problème ? Il faut au contraire le liberer au plus tôt pour que tout le monde soit opérationel le plus tôt possible pour faire de ce truc le compilo ultime ;)
            • [^] # Re: Protection par l'obscurantisme

              Posté par  (site web personnel) . Évalué à 2.

              Tu fais fausse route.

              L'auteur du compilateur n'est absolument pas un partisan du closed source, bien au contraîre.

              C'est Inria Transfert qui est contre, c'est Inria Transfert.
              Si tu as des critiques quand à cette orientation non open source, c'est avec eux qu'il faut le voir, pas moi, ni l'auteur du compilateur.

              Après, quand à l'intérêt d'ouvrir le source, c'est mon avis, rien que mon avis et pas celui de l'auteur qui ne se considère pas comme un Dieu.

              Personnellement, je pense que ce compilateur est complexe et qu'y apporter des améliorations nécessite de faire de la recherche à plein temps sur le sujet.


              Après je peux me tromper...

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

              • [^] # Re: Protection par l'obscurantisme

                Posté par  (site web personnel) . Évalué à 7.

                C'est Inria Transfert qui est contre.

                Il y a quelque chose qui m'échappe dans cette phrase, en tant que chargé de recherche inria. Dans ses voeux pour l'année 2005, notre président Gilles Kahn a indiqué explicitement que les chercheurs étaient associés aux prises de décision concernant les logiciels qu'ils développent, en particulier pour tout ce qui concerne la valorisation. Si le compilateur est fermé, c'est que l'auteur négocie mal avec la direction.

                Quelques autres remarques en vrac.

                D'abord, si l'auteur avait publié ses algorithmes "révolutionnaires" (peut être l'a-t-il fait), la protection par brevet serait impossible, au moins en France (publié = impossible à breveter).

                D'autre part, si le compilateur est impossible à développer sans l'auteur, pourquoi n'est-ce pas utilisé comme argument de négociation, de la forme : libre ou j'arrête de développer. Ou mieux : libre, sinon le jour ou je me casse, personne ne pourra rien en faire. Ou encore : libre sinon vous pourrez toujours essayer de vendre des licences quand personne ne sera capable de faire le support.

                A part ça, je livre ma super astuce personnelle pour distribuer mes créations sous licences libres : j'utilise une bibliothèque avec une licence contaminante, par exemple la GPL. Un de mes anciens thésards a ainsi développé tout un code de réseaux de neurones basé sur la GSL qui est GPL (pas LGPL). Moralité, l'Inria peut soit ne pas le diffuser (développement interne) soit le diffuser en GPL. Gnark, gnark ;-) Autre astuce : négocier dès le début d'un développement logiciel en disant que l'outil est sympa sans plus. On obtient ainsi le droit de distribuer ça dans une licence libre et c'est plié.

                Bien entendu, je parle ici en tant que Boubou, sans engager mon autre moi (Fabrice Rossi) CR à l'Inria.
                • [^] # Re: Protection par l'obscurantisme

                  Posté par  (site web personnel) . Évalué à 2.

                  Si le compilateur est fermé, c'est que l'auteur négocie mal avec la direction.
                  Ou alors que l'auteur n'a pas encore de poste à l'Inria.
                  Quand il en aura un, oui, ce sera différent.

                  D'abord, si l'auteur avait publié ses algorithmes "révolutionnaires" (peut être l'a-t-il fait), la protection par brevet serait impossible, au moins en France (publié = impossible à breveter).

                  Tout n'est pas publié et il ne sert à rien de bréveter ça en Europe, c'est aux Etats-Unis et au Japon qu'il faut le faire. C'est pour ça que RMS me propose l'aide d'un avocat de sa connaissance.

                  D'autre part, si le compilateur est impossible à développer sans l'auteur, pourquoi n'est-ce pas utilisé comme argument de négociation, de la forme : libre ou j'arrête de développer. Ou mieux : libre, sinon le jour ou je me casse, personne ne pourra rien en faire. Ou encore : libre sinon vous pourrez toujours essayer de vendre des licences quand personne ne sera capable de faire le support.
                  Très bonne argument ! Je prend !!! ;-)))

                  Mais ça c'est possible quand tu as un poste de fonctionnaire, pas quand tu ne sais pas ce que tu feras l'année prochaine.
                  J'imagine que tu sais de quoi je parle.

                  A part ça, je livre ma super astuce personnelle pour distribuer mes créations sous licences libres : j'utilise une bibliothèque avec une licence contaminante, par exemple la GPL. Un de mes anciens thésards a ainsi développé tout un code de réseaux de neurones basé sur la GSL qui est GPL (pas LGPL). Moralité, l'Inria peut soit ne pas le diffuser (développement interne) soit le diffuser en GPL. Gnark, gnark ;-) Autre astuce : négocier dès le début d'un développement logiciel en disant que l'outil est sympa sans plus. On obtient ainsi le droit de distribuer ça dans une licence libre et c'est plié.

                  Ils ont considérablement travaillé dessus aux valorisation industrielles et je sais pas s'ils se feraient avoir là dessus, faut pas non plus les prendre pour des imbéciles :-)

                  Mais quand l'auteur du compilateur aura un poste fixe, ce qui arrivera bientôt j'espère (pour lui, son moral et son projet), beaucoup de choses changeront.

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

                  • [^] # Re: Protection par l'obscurantisme

                    Posté par  . Évalué à 3.

                    Ca fait un peu peur ce que tu dis, car on peut voir la situation ainsi:

                    - c'est une techno très avancée
                    - mais c'est un compilo tellement compliqué que quasiment personne ne peut apporter de contributions interressantes
                    - et le principal contributeur n'est même pas sûr de pouvoir continuer à travailler dessus ( et si celui ci, dont je ne doute ni de la qualité ni de l'intégrité, n'arrive jamais, vous faites quoi ? ).

                    Ca fait froid dans le dos, et surtout ça *exclu* toute utilisation dans un monde industriel, sachant qu'il n'existe a priori pas d'autres compilateurs pour ce langage. De plus, tu dis toi même que << La licence actuelle permet au moins à quiconque de l'utiliser librement à condition de ne pas utiliser le compilateur pour produire un code à des fins commerciales.>>.
                    Si je n'ai pas le droit de l'utiliser au boulot, je ne pourrai pas justifier quelques heures (de travail) pour évaluer cet outil puisque, en l'état, je n'aurrai pas le droit de m'en servir par la suite !

                    Vous ésperez quoi, en fait ?
                    • [^] # Re: Protection par l'obscurantisme

                      Posté par  (site web personnel) . Évalué à 1.

                      - c'est une techno très avancée
                      Effectivement

                      - mais c'est un compilo tellement compliqué que quasiment personne ne peut apporter de contributions interressantes
                      Disons qu'il risque de ne pas y avoir grand monde et que ça prendra du temps.

                      - et le principal contributeur n'est même pas sûr de pouvoir continuer à travailler dessus ( et si celui ci, dont je ne doute ni de la qualité ni de l'intégrité, n'arrive jamais, vous faites quoi ? ).

                      C'est un gros problème, mais bon, on est France, et les récentes manifestations de chercheurs sont là pour montrer à quel point notre gouvernement est en train de tuer notre seul espoir de créer des emplois dans ce pays...
                      Mais que veux-tu, on est maso, on aime notre pays...

                      Ca fait froid dans le dos, et surtout ça *exclu* toute utilisation dans un monde industriel, sachant qu'il n'existe a priori pas d'autres compilateurs pour ce langage. De plus, tu dis toi même que << La licence actuelle permet au moins à quiconque de l'utiliser librement à condition de ne pas utiliser le compilateur pour produire un code à des fins commerciales.>>.
                      Si je n'ai pas le droit de l'utiliser au boulot, je ne pourrai pas justifier quelques heures (de travail) pour évaluer cet outil puisque, en l'état, je n'aurrai pas le droit de m'en servir par la suite !


                      La licence actuelle t'interdit de vendre le code produit par le compilateur. Par contre, en interne à une entreprise tu peux. Ce qui permettrait à Free de l'utiliser sur sa Freebox par exemple, qui lui appartient.

                      On espère que l'auteur du compîlateur ait son poste, après on aura un avenir, pour le moment, on en a pas...

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

                  • [^] # Re: Protection par l'obscurantisme

                    Posté par  (site web personnel) . Évalué à 2.

                    Ou alors que l'auteur n'a pas encore de poste à l'Inria.
                    Quand il en aura un, oui, ce sera différent.


                    Euh... qui a payé l'auteur pendant le développement ? Autrement dit, qui est propriétaire du code ?

                    Tout n'est pas publié et il ne sert à rien de bréveter ça en Europe, c'est aux Etats-Unis et au Japon qu'il faut le faire. C'est pour ça que RMS me propose l'aide d'un avocat de sa connaissance.

                    Aux USA, il y a effectivement un délais (genre un an, je crois) entre le moment de la publication et la date limite pour déposer un brevet. Pour ce qui n'est pas publié, je suggère de la faire tout de suite pour faire chier transfert ;-)

                    Mais ça c'est possible quand tu as un poste de fonctionnaire, pas quand tu ne sais pas ce que tu feras l'année prochaine.
                    J'imagine que tu sais de quoi je parle.


                    C'est aussi aux fonctionnaires de ton équipe de te défendre. Mon chef de projet est prolibre, donc ça roule. Sauf erreur de ma part, Dominique Colnet n'est pas un RMS. Il me semble que les permières versions de smalleiffel n'étaient pas libres, en gros pour des raisons évoquées dans le même esprit que celles que tu mets en avant pour protéger le compilateur (innovations, etc.). Je ne connais pas Colnet et je respecte ses choix, maintenant il faut aussi faire la part des choses : transfert ne poursuit pas les équipes de l'inria de ses ardeurs à longueur de temps. Je pense que le projet a donc une part de responsabilité dans l'affaire, même si je parle dans le vide car je ne connais pas la face cachée.

                    Ils ont considérablement travaillé dessus aux valorisation industrielles et je sais pas s'ils se feraient avoir là dessus, faut pas non plus les prendre pour des imbéciles :-)

                    Non, il faut les devancer. Si tu bosses sur quelque chose de nouveau, il faut demander très rapidement, même quand c'est bien pourri, de le mettre sur gforge avec une licence libre, comme ça, dans le baba pour une valorisation par la fermeture du code.
                    • [^] # Re: Protection par l'obscurantisme

                      Posté par  (site web personnel) . Évalué à 2.

                      Je réponds, ce que j'en pense moi; bien que je pense que c'est plutôt une discussion que tu devrais avoir avec Benoit, qui connait bien les arcanes du systèmes.
                      Donc c'est mon avis, juste mon avis.

                      Tout d'abord, son problème se situe aussi par le fait qu'il est à cheval entre la recherche théorique et appliqués en plus d'être pluridisciplinaire, et que les vieux, qui décident, en plus de ne pas aimer l'appliqué (c'est sale), il ne comprennent pas forcément une approche pluri-disciplinaire.

                      Euh... qui a payé l'auteur pendant le développement ? Autrement dit, qui est propriétaire du code ?


                      Il me semble que BS est propriétaire du code et que l'Inria possède le nom. Après je peux me tromper. Jérome Boutet, qui fut ingénieur associé pendant deux ans, possède quelques bouts de codes.

                      Aux USA, il y a effectivement un délais (genre un an, je crois) entre le moment de la publication et la date limite pour déposer un brevet. Pour ce qui n'est pas publié, je suggère de la faire tout de suite pour faire chier transfert ;-)

                      Oui mais si on fait ça, on donne notre techno à Microsoft et/ou Sun qui peuvent poser un brevet dessu et nous interdir de l'utiliser !

                      il faut aussi faire la part des choses : transfert ne poursuit pas les équipes de l'inria de ses ardeurs à longueur de temps. Je pense que le projet a donc une part de responsabilité dans l'affaire, même si je parle dans le vide car je ne connais pas la face cachée.

                      D'après ce que j'ai compris c'est très risqué de faire quelques chose sans l'accord de transfert. Après je ne peux en dire plus (check tes mails), il faudrait vraiment que tu en discutes avec lui en privé.

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

                      • [^] # Re: Protection par l'obscurantisme

                        Posté par  (site web personnel) . Évalué à 2.

                        Il me semble que BS est propriétaire du code

                        Si c'est le cas, l'INRIA n'a rien a dire point final. En gros, c'est l'employeur qui est propriétaire.

                        Oui mais si on fait ça, on donne notre techno à Microsoft et/ou Sun qui peuvent poser un brevet dessu et nous interdir de l'utiliser !

                        Mais non, le delais d'un an n'est valide que si ce sont les auteurs de la publication qui brevetent.

                        D'après ce que j'ai compris c'est très risqué de faire quelques chose sans l'accord de transfert. Après je ne peux en dire plus (check tes mails), il faudrait vraiment que tu en discutes avec lui en privé.

                        Ton employeur est propriétaire de ton code, voilà. Donc si tu veux le diffuser et que tu es payé par l'inria, il te faut l'accord du "correspondant développement et relation industriel"...
                        • [^] # Re: Protection par l'obscurantisme

                          Posté par  . Évalué à 5.

                          Je me permets d'intervenir dans votre intéressant débat et veuillez pardonner ma remarque de candide.

                          Si je consulte la page suivante
                          http://www.inria.fr/inria/enbref.fr.html
                          J'interprète (peut être à tort)que l'INRIA est financé exclusivement avec le denier de l'Etat.
                          Je me pose une question:

                          Etant contribuable, pourquoi n'ai je pas le droit d'accéder au fruit de la connaissance auquel je contribue par mon financement.


                          De même la politique de cet organisme autorise le transfert de cette connaissance à des intêrets privés (entreprises) tout en me restant inaccessible.
                          Entreprises qui sont souvent de moins en moins promptes à conribuer en retour.

                          Aujourd'hui, la mode etant à la remise en question des financements public en fonction du retour sur investissement,
                          qu'est ce qui justifierait que l'impôt non librement consenti doive aller à l'INRIA plutôt qu'à améliorer la qualité des études de mes chers enfants ?
                          • [^] # Re: Protection par l'obscurantisme

                            Posté par  (site web personnel) . Évalué à 1.

                            Nous sommes d'accord, il serait logique que ce qui est financé par l'argent public (ce n'est pas le seul financement de l'inria, mais c'est le plus important) soit libre d'accès. Le problème est que l'état pousse de plus en plus au contraire, en demandant de valoriser les résultats de recherche, sachant que la définition de valoriser est "faire du fric avec". Le problème est donc très politique et seules des décisions prises au niveau gouvernemental ou parlementaire pourrait changer la donne.
            • [^] # Re: Protection par l'obscurantisme

              Posté par  . Évalué à 3.

              Et la je pense à un truc. Je pense qu'une grande force de la GPL c'est de contraindre ce qui est fait avec du libre à rester dans le libre et par conséquent à y contribuer. Ce qui serait bien c'est que ca s'applique aussi aux idées. Un genre de "si une idée libre est utilisée dans un programme, alors le programme est libre ainsi que toutes les idées qu'ils contient".
              • [^] # Re: Protection par l'obscurantisme

                Posté par  . Évalué à 3.

                Super tu viens de réinventer les brevets logiciels. Avec ce genre de raisonnement, ce qui est utilisé dans un programme propriétaire doit y rester ou être revendu.
          • [^] # Donc INRIA = M$

            Posté par  . Évalué à 4.

            Je veux dire par là que si on a pas fait une thèse de doctorat dans le domaine, ça risque d'être dur, petits génies à part.
            J'ai l'air très présomptueux, mais franchement, c'est du très haut niveau.

            Ton discours est sidérant. Je reconnais le style de la page web ...

            N'importe quel spécialiste du domaine dans le monde est à même de contribuer à ce projet. Un chercheur qui se (ou on le) prend pour dieu, et ne montre rien est un menteur!!! C.F. le type de chez Bell Labs qui s'est fait foutre à la porte. Il avait soit disant trouvé la supraconductivité à température ambiante. Mais pas un seul cahier de travail à montrer. Étrange non ... Je comprends que l'on veuille se protéger des charognards, mais de là à tenir un discours Marketing à la M$:

            "C'est super mega génial, on est les seules dans l'Univers. Ah ça marche comment? C'est secret défense! De toutes façon vous êtes trop con pour comprendre ..."

            Je comprends maintenant pourquoi vous vous êtes marié avec ces gens là!
            • [^] # Re: Donc INRIA = M$

              Posté par  (site web personnel) . Évalué à 3.

              Même réponse qu'un peu plus (je me répète).

              Ce n'est que mon avis. Je peux me tromper.

              Après effectivement, si quelques personnes passent plusieurs moi dessus, et y contribuent, ça peut devenir intéressant.

              Mais cette "idéologie" que tu dénonces n'est absolument pas celle de son auteur, ce n'est que mon point de vue en fonction de ce que je sais.

              Après, je me re-re-répète, la volonté de protéger le code en gardant le code source fermé est une volonté de l'Inria.
              Ma vission est différente : j'aimerai que Lisaac soient en GPL et protégé par un brevet (comme le préconise Stallman). J'aimerai que IsaacOs soit protégé par un/des brevets et soient libéré en GPL de même.

              Après à mon avis, il y aura peu de contributeurs au compilateur lisaac, mais beaucoup de contributeurs sur IsaacOS.

              Voilà ce que je pense, c'est pas "On est des Dieu, les autres sont des cons personne ne comprendra jamais rien". je pense qu'il faut que Lisaac et IsaacOs soient en GPL afin que tout le monde puisse l'étudier et y contribuer mais qu'à mon avis il y aura peu de contributeur sur Lisaac parce que ça nécéssite de maîtriser un paquet de théorie qui ne sont pas toute eneignées à l'université.


              Après, c'est Inria Transfert qui décide pas nous.

              Si t'es pas content, tu leur écris : www.inria-transfert.fr

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

              • [^] # Re: Donc INRIA = M$

                Posté par  . Évalué à 3.

                Et penses tu réellement que les contributeurs au kernel ne puissent pas saisir les subtilités de votre OS.

                Si Linus avait pensé la même chose à son époque , où en serions nous aujourd'hui ?
                • [^] # Re: Donc INRIA = M$

                  Posté par  (site web personnel) . Évalué à 2.

                  Je ne pense aboslument qu'il y ai aucune subtilité dans l'OS. C'est justement un OS extrêmement simple à comprendre, en tout cas beaucoup plus que les OS classiques.

                  IsaacOS a besoin de contribution car c'est un peojet accessible à tous.

                  Le compilateur par contre nécessite de maîtriser d'emblée les techniques qui y sont implémentées : Nouvelle technique de parsing utilisée, Analyse de flot, pattern matching, spécialisation de type...

                  Donc la question se demandant si Linux avait pensé tel ou tel chose à l'époque ne se pose pas.

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

          • [^] # Re: Protection par l'obscurantisme

            Posté par  . Évalué à 4.

            Je trouve que ton discours fait un peu "IB2P"...

            Genre on a une techno super innovante avec plein de morceux super géniaux dedans, mais on va pas vous dire ce que c'est tellement c'est trop top niveau... En plus comme c'est français soutenez-nous !

            J'exagère à peine. D'accord j'ai plus confiance en un labo de recherche qu'une start-up sponsorisée avec plein de brouzoufs, mais ça reste quand même un discours très hautain, et même si ce n'est que _ton_ avis, alors pourquoi proposer une news et faire plein de remarques comme ça derrière ? Tu trouve que c'est le genre de discours qui passe bien sur LinuxFr ? Je dis pas qu'on est toujours obligé de mettre des trucs qui font plaisir, mais en général on essaye de poster des trucs plus en rapport avec "l'idéologie du libre".

            Même si le passage en LGPL de la lib standard est une bonne nouvelle, ton discours semble indiquer que ce n'est qu'une sorte "carresse dans le sens du poil" du libre, mais que la volonté du projet n'est pas celle là du tout.
            • [^] # Re: Protection par l'obscurantisme

              Posté par  . Évalué à 4.

              L'intérêt de cette news est de montrer que la recherche Française fait des choses intéressantes, mais que les choix comme dit plus haut de la société de valorisation de ces travaux http://www.inria-transfert.fr sont discutables. Idem (il me semble) pour Scilab (INRIA). Qaunt a Ocaml (CNRS/INRIA) c'est libre, mais pas assez valorisez. Allez y comprendre quelque chose!
              • [^] # Re: Protection par l'obscurantisme

                Posté par  (site web personnel) . Évalué à 4.

                D'ailleurs, comme je l'ai dit dans d'autre postes, Inria transfert considère le projet caml comme un échec parce qu'ils l'ont passés en libre.

                Ce projet me parait plutôt être un succès, mais l'Inria n'a pas gagné d'argent avec, donc...

                J'en ai déjà parlé dans d'autres post.

                Comme cela a été dit, tout cela pèche par manque de marketing et de stratégisation de marketing.
                De plus, même s'il est normal qu'un étage "recherche appliqué" donne lieu à des start-up, un institut public de recherche se doit de publier ses connaissances.

                Il faudrait que l'inria comprenne que seule le libre peut permettre de nos jours à une techno de percer à moins de s'appeler Sun ou Microsoft. Linux en est la preuve.
                Une techno non libre qui fait de l'ombre à Microsoft n'a aucune chance de percer, cf BeOS

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

                • [^] # Re: Protection par l'obscurantisme

                  Posté par  (site web personnel) . Évalué à 10.

                  > D'ailleurs, comme je l'ai dit dans d'autre postes, Inria transfert
                  > considère le projet caml comme un échec parce qu'ils l'ont passés
                  > en libre.

                  Comme je l'ai déjà dis aussi, pas de CPAN pour OCaml... Le passage en libre ne suffit pas,il faut fédérer une communauté. Si on n'a pas le marketing web de php, un des meilheurs exemple reste le CPAN de Perl. En plus, pour l'INRIA, c'est vraiment peanuts de mettre ca en place !

                  > Ce projet me parait plutôt être un succès, mais l'Inria n'a pas gagné
                  > d'argent avec, donc...

                  Ca c'est un énorme problème. Je dirais même que c'est ce qui est en train de mettre la recherche fancaise par terre.

                  L'INRIA est un EPST (Etablissement Public à caractère Scientifique et Technologique si je ne me trompe) au même titre que le CNRS. Ce n'est pas un EPIC comme le CEA ni un établissement militaire comme la DGA.

                  L'objectif de l'INRIA n'est pas de gagner de l'argent. Quand nos établissement comprendront cela. Qu'il utilise des licences BSD et laisse leur anciens thésards monter des jeunes pousses ! Le retour sur investissement se fait sur les impôts dans le budget global de la nation.

                  Nous sommes en plein retour moyen ageux où chacun veut sa dîme et sa rente. L'INRIA n'a pas plus de droit de toucher des dividendes de ses travaux que n'importe quel organisme travaillant pour le public (l'état). Qui finance l'INIRA : l'état donc nous tous. Les dividentes doivent donc être globalisé et le moyen le plus simple sont les impôts !

                  Ces organismes de transfert internes travaillent pour eux et non pour les établissements. Dans le cas de l'INIRA, il ne travaille manisfestement pas pour la recherche. Ca nous rajoute encore une couche "d'emmerdeur" au même titre que les comptables de "bercy".

                  Au niveau des droits, le meilheur moyen de garder les droits sur la technologie, c'est de l'ouvrir et de la mettre dans le domaine public avec si vous voulez une clause de copyleft à la GPL histoire de bloquer les autres et d'être dans l'esprit du libre. En général, les leaders d'un projet ont toujours une longueur d'avance sur les suiveurs. Bon, mais si l'objectif est de se reposer sur ses lauriers, c'est sur qu'il faut un brevet ;-)

                  Dernier point, je vois que la stratégie de l'INRIA marche super bien puisque même le principal et quasiment seul développeur n'a pas de poste fixe ! Quand est ce que ces ânes qui dirigent arriveront a se remettre en question ? C'est pas pour dire, mais il y a des gens payés pour développer perl6 ! Je le suis de loin, et la bas aussi, on peut dire qu'il y a une certaine créativité dans la construction du langage...
                  • [^] # Re: Protection par l'obscurantisme

                    Posté par  (site web personnel) . Évalué à 1.

                    L'INRIA n'a pas plus de droit de toucher des dividendes de ses travaux que n'importe quel organisme travaillant pour le public (l'état). Qui finance l'INIRA : l'état donc nous tous. Les dividentes doivent donc être globalisé et le moyen le plus simple sont les impôts !

                    C'est pas vraiment comme ça que marchent ces établissements (il me semble). L'état ne fournit qu'une partie de leur budget et c'est à eux de se démerder pour trouver le reste du pognon. Ca passe donc par:
                    - des collaborations avec l'industrie
                    - des royalties via les brevets
                    - pour météo France, la vente de leur prévisions
                    - pour l'IGN, la vente de leur cartes, etc...

                    Ces organismes de transfert internes travaillent pour eux et non pour les établissements.

                    ben si, ils permettent à l'INRIA de s'auto-financer.
                    • [^] # Re: Protection par l'obscurantisme

                      Posté par  (site web personnel) . Évalué à 4.

                      > - pour météo France, la vente de leur prévisions
                      > - pour l'IGN, la vente de leur cartes, etc...

                      Ce ne sont pas des EPST, nuance.

                      Par ailleurs, pour météo france, c'est une connerie parce que que l'on va chercher au USA des prévisions moins bonne mais non payantes.

                      Idem pour les cartes...

                      > ben si, ils permettent à l'INRIA de s'auto-financer.

                      En pratique, ils permettent de se payer eux mêmes aussi... Le chercheur à la base ne voit pas franchement cet argent.

                      Il ne faut pas confondre EPST et EPIC. Je continue à penser que nos gouvernents veulent effectivement la mort des EPST, pensée que je ne partage pas personnellement.

                      Dans le cas présent, ce serait plus futé de mettre tout en GPL (LGPL) et de monter avec les jeunes intéressé (je dis pas les vieux car les vieux veulent du précaire pour les jeunes mais pas pour eux...) une jeune pousse du type ACT qui développe l'Ada.

                      Bilan : l'INRIA peux continuer à travailler dessus, la jeune pousse gagne de l'argent et le contribuable aussi sous forme d'impôt. Impôt qui est réinjecté à l'INRIA... La solidarité, c'est d'avoir une grosse boucle où les risques sont mutualisés.
      • [^] # Re: licence ?

        Posté par  . Évalué à 9.

        Quand à RMS, je lui ai exposé le problème : Si l'on libère le code, autant aller donner la techno à toutes les entreprises privés qui pourront le mettre dans leur compilateur en étudiant Lisaac. Le droit d'auteur ne suffit pas. Il faut donc protéger la techno par un brevet.

        Edifiant !

        Si les américain pique les idées de la recherche française, c'est peut être que les labos de recherches sont incapables d'exploiter leurs résultat concrètement. Le top sont les commerciaux qui proposent des méthodes des outils aux labos pour les aider à développer des produits ... ils sont simplement ignorés et pris de haut ("qu'est ce que c'est que ce type ? je pourrais bien m'occuper de quelque chose d'aussi futile que du marketing, je suis chercher moi !"). Pitoyable.

        Cette fausse histoire de brevet n'est là que pour détourner la faute. Je serais de droite j'aurais vite fait de sortir quelque chose du genre : "Regardez ces incapables n'arrivent pas à sortir un seul produit valable dont le développement est payé avec les impôts, et c'est les américains qui en profitent !".

        Non ! ca n'est pas qu'un histoire de gros sous. C'est une histoire d'homme qui ne veulent pas se remettre en question et surtout ne s'adonnent pas aux basses tâches marketing et méprisent ceux qui proposent de le faire à leur place. Il suffit de jetter un oeil à cette immonde site web. Comme on dit en commentaire sur la photo de l'équipe de microsoft dans sont jeune âge : "Vous auriez investi, vous ?".

        Laisser Issac en code fermé sans faire plus de marketing, c'est abandonner le projet à la mort. Tant mieux ca fera un exemple de plus, et croisont les doigt pour que les labos se réveillent.

        Bon je suis rude, mais c'est pour marquer le coup, comme qui dirait "qui aime bien chatie bien".
        • [^] # Re: licence ?

          Posté par  (site web personnel) . Évalué à 4.

          Je suis d'accord, pour exploiter un produit de labo dans le monde d'aujourd'hui, il faut du marketing, beaucoup de marketing. Pas 1 commercial pour 10 chercheurs, mais 10 commerciaux pour 1 chercheur !
          Mais le chercheur, lui, commercial, c'est pas son boulot : il n'est pas formé pour ça, n'a pas de compétence là-dedans, et ça ne l'intéresse pas.
          Un changement de culture ? Peut-être. Des gros moyens en développement/marketing ? Sûrement.
      • [^] # Re: licence ?

        Posté par  . Évalué à 2.

        << 1/Je n'imagine pas Dominique Colnet arrêter son bébé : la question est quelque peu étonnante.>>
        Alors je m'explique:
        - c'est dans le même labo
        - ça utilise quand même plus ou moins les mêmes concepts, sauf que Lisaac va encore plus loin que Eiffel
        - c'est utilisé pour une techno que l'INRIA espère faire fructifier
        - les utilisateurs de Eiffel/SmartEiffel ne courrent pas les rues, d'ailleurs il me semble que même son enseignement à l'école attenante (l'ésial) a été remplacé presque totalement par le java
        - à la vue du point précédent, je ne vois pas ce qu'espère l'INRIA avec le compilo SmartEiffel alors qu'il y a des perspectives pour Lisaac,

        Avoue que pour qq1 qui voit ça de l'exterieur, on peut se demander pourquoi ne pas reporter les efforts consacrés au compilateur SmartEiffel sur le compilateur Lisaac, puisqu'il reste du travail à faire.
        D'un point de vue budgétaire, ça parait plus logique.
        D'un point de vue recherche, à moins que des points particuliers ne puissent pas être explorés avec Lisaac mais avec SmartEiffel, quel est l'interêt de SmartEiffel ?
        Que D. Colnet veuille continuer son travail sur son 'bébé', je comprends, mais comment justifier le financement de ce travail ?


        <<J'ai déjà dit ce qu'il y a dire sur l'INRIA>>
        pour ceux qui n'ont pas suivi: https://linuxfr.org/comments/651950.html#651950 et https://linuxfr.org/comments/652076.html#652076

        Note que je n'ai rien contre le fait de protéger un tant soit peu ses technos, mais quand ça vient du monde 'propriétaire', on s'étrangle, y compris qand il s'agit de techniques de compilation: cf les brevets qui empechent l'intégration de certaines techniques dans gcc 4.0, comme évoqué ici: http://linuxfr.org/comments/565456.html#565456
        On peut donc s'étonner de voir ta dépêche ailleurs que dans un journal, même si elle n'en reste pas moins interessante car elle nous apprend l'existence de la techno.
      • [^] # Re: licence ?

        Posté par  (site web personnel) . Évalué à 4.

        Si tu obtiens des brevets sur cette technologie, tu
        pourrais les utiliser pour exiger que Microsoft et Sun se restreignent
        de nous attaquer avec ses brevets.


        Ou alors, Microsoft ira voir ton chef, ou le chef de ton chef, ... et offrira une poignée de dollars (genre 0,1% de ce qu'il offrirait à un concurrent pour qu'il ne témoigne pas dans un procès pour abus de position dominante) pour obtenir une licence.
      • [^] # Re: licence ?

        Posté par  . Évalué à 5.

        Je ne peux pas être d'accord avec tout ça.
        Si la recherche publique ne sert pas à faire des inventions exploitables par tous en quoi est-elle publique. Comme dit plus haut c'est la longueur d'avance du chercheur qui permet de faire une start-up, pas un brevet (brevet sur un algorithme = pas beau du tout du tout, ce contre quoi je me bats, le partage c'est le progrès).
        Ce qui me semble juste est de mettre le code produit par le chercheur en GPL ou BSD-like, mais l'idée, elle, doit être exploitable par tous.
        Si le code de lisaac était ouvert il pourrait peut-être inspirer des dev de compilateurs ou interpréteurs python, ruby, self etc... (je pense à des projets comme pypy).
        La recherche publique doit amener des choses qui sont un bien pour tous aussi bien par le biais de produit propriétaiers que libre, etc....
        C'est plus subjectif mais je dirais intuitivement que la culture du secret ne fait pas partie de la culture du libre.
        • [^] # Re: licence ?

          Posté par  (site web personnel) . Évalué à 2.

          Tu soulèves un point très important auquel j'avais pas du tout pensé...

          Merci beaucoup, gnark, gnark, c'est un argument de plus.

          Si les technologies au sein de ce compilateur sont protégés par brevets, et que ce brevet n'autorise à utiliser gratuitement les technos qu'ils protègent à condition qu'il s'agisse de logiciel libre (ça c'est ma vision de comment il faut protéger Lisaac), ce pourrait être un gros avantage donné au monde du logiciel libre qui disposerai de compilateur puissants.

          En tout cas merci, j'avais pas du tout pensé à ça...

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

          • [^] # Re: licence ?

            Posté par  (site web personnel) . Évalué à 4.

            Il ne faut pas oublier non plus que plus personne ne veut entendre parler de langage controller par une seul entité. Sun a du faire super gaffe pour les changements sur java. Et il existe d'autre compilo que le leur.

            Personne n'aime dépendre d'une boite pour un truc aussi crutial qu'un langage. Si en plus, c'est une start-up, elle peut disparaitre rapidement. Donc, c'est pas bon !

            Il vaut mieux un compilo libre, et vendre la technique/expertise qui va autour (formation, dev de lib, etc...)

            "La première sécurité est la liberté"

          • [^] # Re: licence ?

            Posté par  . Évalué à 2.

            C'est pas un peu la GPL et ses effets contaminants ca.

            Déposer des brevets sous GPL , le comble du libriste
            • [^] # Re: licence ?

              Posté par  (site web personnel) . Évalué à 2.

              C'est malheureux mais on pas le choix :-( Sinon on se fait piquer la technologie et quelqu'un interdira le libre de l'utiliser.

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

  • # Benchmarks

    Posté par  (site web personnel) . Évalué à 4.

    Sur la page des benchmarks, la nouvelle version 0.84 n'apparait pas. Je suppose que globalement, tout va mieux avec elle ?

    http://isaacos.loria.fr/li_speed.html

    Il est vrai qu'entre la version 0.82 et la version 0.83, il ne semble pas y avoir eu beaucoup de changement...

    Pourquoi ne pas mettre la date de sortie des versions ? Cela donnerait sur cette page une idée de la réactivité et de la vitalité du projet Lisaac.
    • [^] # Re: Benchmarks

      Posté par  (site web personnel) . Évalué à 2.

      Tu supposes bien, les efforts ont été surtout effectués sur la lib, un peu sur le compilo.

      Pour les dates, elles y sont, il me semble.

      Quand à la réactivité, Benoit Sonntag a été obligé de perdre son temps à faire de la recherche appliquée chez ST, il n'a toujours pas de poste fixe...
      Je ne te fait pas un dessin de la situation des jeunes chercheurs actuellement...

      Il fait ce qu'il peut avec le temps dont il dispose.

      Mais je pense que le projet se revitalise de plus en plus. En tout cas les plans que l'on tire sur la comètes sont assez terrible, vous n'avez rien vu de ce que ça sera dans quelques années, ça fera très très mal..... ;-))))

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

      • [^] # Re: Benchmarks

        Posté par  (site web personnel) . Évalué à 6.

        mouais les perfs se veulent proche du C. M'enfin le C est très loin d'étre compilo friendly et je ne comprends pas qu'un langage n'explose toujours pas le C ! Y'a tellement d'optimisation impossible à faire proprement en C !

        "La première sécurité est la liberté"

        • [^] # Re: Benchmarks

          Posté par  . Évalué à 5.

          Note qu'ici c'est normal puisque le compilateur produit du code C ! C'est ce qu'ils font aussi avec SmartEiffel. Et c'est très pratique car du coup, ton code peut être utilisé sur toute plateforme avec un compilo C, autant dire quasiment toutes les plateformes existantes.

          Mais à propos des performances, une question:
          Je constate que comme Eiffel, Lisaac est un langage à contrats. J'image que ici encore on doit pouvoir 'débrayer' les évaluations des contrats. Si oui, les performances annoncées ont elles été obtenues avec vérification de tous les contrats ? Une partie seulement ? Pas de contrats du tout ?

          Enfin une autre question: de quelles optimisations impossibles à faire en C parles tu ?
          • [^] # Re: Benchmarks

            Posté par  (site web personnel) . Évalué à 3.

            1/ Les perfs annoncées sont à prendre en compte sans contrat. Dans le futur , on aura plusieurs niveau de prise en compte des contrats dans le code. Pour le moment, il faut activer le mode debug, ou il y a peu d'inlining pour en profiter.

            2/ Les optimisations que l'on peut difficilement en C sont multiple. Optimiser un case en utilisant un index multiple de 8 par exemple, ou encore gérer à la main la mémoire, ou encore des spécialisation de types. Ce sont des trucs beaucoup trop complexes pour un cerveau humain qui demande une rigueur absolue et est donc généralement impossible à faire à la main sans énormément de bugs.

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

            • [^] # Re: Benchmarks

              Posté par  (site web personnel) . Évalué à 4.

              2) ... ou générer du code SIMD.

              "La première sécurité est la liberté"

              • [^] # Re: Benchmarks

                Posté par  (site web personnel) . Évalué à 2.

                J' y ai pensé, j'ai même conçu un début d'algo pour ça, mais je me suis rendu compte que gcc le faisait. Après j'ai pas trop compris si gcc le faisait assez bien, et ne parlons même pas du compilo d'Intel. Donc la question que je me pose est : est-ce bien utile de passer du temps dessus ?

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

                • [^] # Re: Benchmarks

                  Posté par  (site web personnel) . Évalué à 2.

                  Si tu veux exploiter le simd à fond, il ne faut pas compter sur les faible capacités de vectorization de gcc/icc, ils ont trop peu d'information sur l'alignement de tes données. Donc il faut le faire explicitement dans le C que tu generes via les intrinsics _mm_trucmuche()
                • [^] # Re: Benchmarks

                  Posté par  (site web personnel) . Évalué à 2.

                  Il ne le font que sur des cas triviaux, notamment parce qu'en C le compilo ne maitrise pas le layout mémoire et parce que la sémantique des boucles s'y prètent mal.

                  "La première sécurité est la liberté"

            • [^] # Re: Benchmarks

              Posté par  (site web personnel) . Évalué à 2.

              C'est utile aussi pour la mémoire. Sur un code d'exemple, entre la version simple en C et la version C tuné à mort, j'ai une moyenne de x10... Y'a du progres possible pour les compilos.

              J'imagine bien un placeur de bloc mémoire qui tient compte de la vrai hierarchie mémoire (hierarchie de cache, taille de page, taille de prefetch, taille de ligne de cache, alignement mémoire,...) et qui ne croit pas que tout est linéaire.

              "La première sécurité est la liberté"

              • [^] # Re: Benchmarks

                Posté par  (site web personnel) . Évalué à 2.

                Y'a aussi un domaine encore pas trop explorer : la compilation pour plusieurs processeurs. D'ici 5 ans, le moindre pc de bureau sera multi coeur, multi thread.

                Or programmer en paralléle est un art difficile. Ocaml propose du calcul automatiquement reparti mais uniquement pour un cluster. Les contraintes ne sont pas équivalentes (notamment sur la hierarchie mémoire et la gestion contradictoire du cache).

                J'aimerais voir d'autres moyen de faire du parallèlisme plus simple que les threads. Par exemple, comme l'utilisation de fonction asynchrones avec un état d'attente quand on essait d'accéder aux résultats de la fonction.

                Enfin, bref, un nouveau langage peut exploser le C sans soucis, si il fait attention au hardware sous lequel il tourne et pas sur un modèle qui date des années 80.

                "La première sécurité est la liberté"

                • [^] # Re: Benchmarks

                  Posté par  (site web personnel) . Évalué à 2.

                  Bah faudrai qu'on en discute beaucoup plus précisément, parce qu'on est déjà en train de penser à mettre tes placeurs de blocs mémoire dans le compilo depuis qq semaines. Et ça fait qq mois que je pense à cette idée de parralélisme que je ne voyais qu'à travers des threads.

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

                  • [^] # Re: Benchmarks

                    Posté par  (site web personnel) . Évalué à 2.

                    tu m'envois ton mail sur message privé et je t'envois toutes la doc que j'ai sur le sujet.

                    "La première sécurité est la liberté"

          • [^] # Re: Benchmarks

            Posté par  (site web personnel) . Évalué à 2.

            Si le code embarque les contrats tu peux diviser par 10 les perfs.

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

            • [^] # Re: Benchmarks

              Posté par  (site web personnel) . Évalué à 2.

              Les vérifications static du compilo sont du niveau de celle faite par Ocaml ?

              "La première sécurité est la liberté"

              • [^] # Re: Benchmarks

                Posté par  (site web personnel) . Évalué à 2.

                Pas encore, mais ça viendra. Ca risque même d'aller un peu plus loin.

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

  • # Très bien.

    Posté par  (site web personnel) . Évalué à 2.

    Cela fait un certain temps que j'observe avec attention l'évolution des langages objets à prototype: ion, slate et lisaac par exemple.
    J'espère que je vais pouvoir compiler cette version de lisaac avec gcc 4.x sans problèmes.
    Sinon, une anecdote sur les slots de BOOLEAN. Je trouve le slot
    BOOLEAN.if BLOCK mal spécifié. En effet, écrire vrai si faire_machin ne veut AMHA rien dire.
    J'aurais supprimé ce slot et aurais gardé:
    BOOLEAN.if_true block:BLOCK
    BOOLEAN.if_false block:BLOCK
    BOOEAN.if_true block_true: BLOCK else block_false: BLOCK

    Puis j'aurais rajouté dans BLOCK:
    BLOCK.if test:BOOLEAN

    Sinon, je trouve que vous faites du bon boulot et je vais faire quelques tests avec cette version. Si elle est ok, je pense que je vais progressivement l'utiliser de plus en plus pour mes propres programmes.
    • [^] # Re: Très bien.

      Posté par  (site web personnel) . Évalué à 2.

      J'attend la réponse du spécialiste, mais je ne sais pas si tu as remarqué que tout est déféré dans False.li et True.li ?

      C'est grâce à l'héritage que le compilateur reconstruit la conditionnelle comme en C, après pattern matching.

      D'ailleurs le compilateur ne fait aucune différence entre une conditionnelle (boolean_vrai).if { execute_ça;}; et un changement de parent en plein milieu de l'exécution. Pour lui c'est exactement la même chose.

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

      • [^] # Re: Très bien.

        Posté par  (site web personnel) . Évalué à 2.

        Est ce que ceci signifie que je peux rajouter dans le prototype BLOCK ce slot:
        if test: BOOLEAN <- deferred;
        et que le compilateur va pouvoir s'en sortir pour l'interpréter en C comme:
        if(test) BLOCK
        • [^] # Re: Très bien.

          Posté par  (site web personnel) . Évalué à 2.

          if reçoit un message TRUE ou FALSE, or ces deux prototypes héritent de BOOLEAN, mais pas de BLOCK.

          A moins que TRUE et FALSE héritent de BLOCK, je ne vois pas comment ça pourrait marcher.

          Après, j'ai du mal à te suivre quand à l'intérêt.

          Note pour ceux qui aurait du mal à suivre : Le compilateur Lisaac ne sait pas ce qu'est une conditionnelle : elle est défini dans la librairie.

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

          • [^] # Re: Très bien.

            Posté par  (site web personnel) . Évalué à 2.

            En fait, dans le cas du message if, tel qu'il est exprimé dans BOOLEAN, je le voit mieux dans BLOCK pour la raison suivante:
            - BOOLEAN.if block: BLOCK == vrai si faire_quelque_chose
            => ne veut rien dire
            - BLOCK.if test: BOOLEAN == faire_quelque_chose si vrai
            => déjà c'est plus parlant.

            Donc, AMHA, le message 'if:' (je l'écris à la Smalltalk), est plus logiquement compris par les objets BLOCK que BOOLEAN. Ça permet d'avoir une souplesse supplémentaire. C'est comme pour par exemple (syntaxe Smalltalk):
            d'un côté, File print:
            et de l'autre, String printOn:

            Voilà, c'est juste pour dire ça.
    • [^] # Re: Très bien.

      Posté par  (site web personnel) . Évalué à 2.

      Benoit au téléphone me dit que rajouter un if dans block est "assez élégant"

      dans lib/kernel/block.li

      - if cond : BOOLEEN <-
      (
      cond.if { self.value; };
      );

      testé, ça marche, le compilateur crache un if classique type C.

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

  • # Le marketing de l'INRIA

    Posté par  . Évalué à 7.

    Je trouve que le langage sur la page du projet est surprenant.

    Ils comparent le nombre de ligne de code de Linux avec leur OS (30 000 lignes, contre 130 000). Je ne pense pas que c'est relevant. Surtout que dans la liste des fonctionnalités de l'OS est:

    Graphic user interface
    Vectorial GDI
    True type font support
    Bitmap and Postcript viewer
    MPEG-1 and MPEG-2 viewer
    Games (tetris, 4online)

    Quel est le rapport avec un système d'exploitation comme Linux? On dirait plutôt une offre marketing pour constructeur de téléphone mobile. D'ailleurs si on regarde les images sur la page ... Tous ça pour dire que les objectifs sont pas très claire, c'est un OS tout court ou un OS pour pda?
    • [^] # Re: Le marketing de l'INRIA

      Posté par  (site web personnel) . Évalué à 2.

      Bon je réponds, parce que c'est moi qui l'ait mis.
      J'ai repris le contenu que l'on traouvait sur le site, qui avait été monté sur l'instigation de l'Inria transfert qui souhaite vendre des licences d'utilsations de la techno à des industriels.

      Le contenu était orienté vers cet objectif. Je n'y ai pas touché, même si ça ne me plait pas trop, je le ferai un jour quand j'aurai le temps.


      Cela dit, il faut tout de même reconnaitre que IsaacOS à fonctionnalités équivalentes, est écrit avec beaucoup moins de lignes.
      Les 30 000 lignes concernent l'OS et son interface graphique, pas le reste, que j'ai comparé au source de linux offrant grosso modo les même services.
      C'est à la louche, c'est vrai, mais il est tout aussi vrai que Lisaac est très expressif, et que grace à ses fonctionnalités systèmes (Mapping, interruptions), écrire un OS se fait en très peu de lignes et très vite.

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

      • [^] # Re: Le marketing de l'INRIA

        Posté par  . Évalué à 7.

        Il me semble qu'une très grande partie du nombre de lignes de code du noyau de linux est occupée par les drivers, et je ne pense pas que IsaacOS gère autant de matériel que linux ...
        • [^] # Re: Le marketing de l'INRIA

          Posté par  (site web personnel) . Évalué à 3.

          Justement, j'avais à l'époque essayé d'éliminer tout le code des drivers.

          Après j'ai pu me tromper, n'étant pas un grand spécialiste du noyau linux dont j'ai lu qq articles techniques dans Linux Mag tout au plus.

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

  • # Mouai, je suis pas fan de la syntaxe

    Posté par  . Évalué à 3.

    Je pense que la syntaxe d'un langage a une grande importance: si elle n'est pas appréciée par les développeurs, il y a peu de chance que le langage soit un succès quelquesoit ses autres qualités.

    Et je généralise peut-être mais j'ai l'impression que les chercheurs ont tendance à s'intérresser plus au modele mathématique sous-jacent, aux algorithmes des compilo qu'a des trucs bassement concret comme la syntaxe, ce qui n'aide pas l'adoption du langage..

    Bon ce n'est pas le cas de tous les language de recherche: Scala est un bon contre-exemple, avec une syntaxe très bien pensée, à mon avis bien sûr, des gouts et des couleurs, tout ça..
    • [^] # Re: Mouai, je suis pas fan de la syntaxe

      Posté par  (site web personnel) . Évalué à 2.

      Au contraîre, j'aime bien la syntaxe :)
      Au début, j'était dérouté, mais à la pratique c'est mieux

      je préfère un

      GUI_IN_TEXT.create in INTERFACE at 5,160 width 250 label "object GUI_IN_TEXT : " action self


      que

      gui_in_text.create(INTERFACE, 5,160,250,"object GUI_IN_TEXT : ", self)


      Je trouve ça plus parlant, et, en choisissant bien tes mots clés, tu peux faire quelque chose qui ressemble à une phrase en langage naturel.



      Après, les goûts et les couleurs...

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

      • [^] # Re: Mouai, je suis pas fan de la syntaxe

        Posté par  (site web personnel) . Évalué à 1.

        Je préfère aussi ce genre de syntaxe qui est plus proche du langage naturel et qui permet, à mes yeux, de mieux exprimer un message ou un slot d'un objet.

        Il y a aussi la syntaxe Smalltalk que j'aime bien:
        GuiInText createIn: interface at: 5,160 width: 250 label: "object GUI_IN_TEXT : " action: self

        Ces genres de syntaxes sont plus expréssifs que ceux classiques hérités des langages procéduraux. Enfin, c'est mon opinion et aussi mon expérience :)
        • [^] # Re: Mouai, je suis pas fan de la syntaxe

          Posté par  . Évalué à 3.

          Et en python, tu peux faire les deux :)
          (cad à la fois gtk.VBox(homogeneous=True, spacing=5) et gtk.HBox(True, 5))
        • [^] # Re: Mouai, je suis pas fan de la syntaxe

          Posté par  . Évalué à 1.

          > ceux classiques hérités des langages procéduraux

          ??
          En Ada tu arrives à un résultat similaire en passant les paramètres par nom:
          Print_Header(128, Header => Title, Center => True);
          Print_Header(Header => Title, Center => True, Pages => 128);

          Ada n'étant pas tout récent, j'ai tendance à considérer cela comme classique justement.

          Ceci dit, je suis d'accord que le passage par nom est plus lisible.
  • # Isaac ?

    Posté par  . Évalué à 1.

    Mais au fait, pourquoi avoir choisi le nom du fils d'Abraham ?
    • [^] # Re: Isaac ?

      Posté par  (site web personnel) . Évalué à 3.

      Parce que "Isaac le pirate", la BD.

      --> []
      • [^] # Re: Isaac ?

        Posté par  . Évalué à 3.

        Non, parce que Isaac Newton fait tomber la pomme (apple).
        D'ailleurs la mascotte est un lézard australien nommé Newton.
        • [^] # Re: Isaac ?

          Posté par  . Évalué à 3.

          Si je puis me permettre, du point de vue de la pomme, c'est plutôt elle qui a écrasé la gueule du pauvre Isaac...
          • [^] # Re: Isaac ?

            Posté par  . Évalué à 3.

            espérons que le projet lui ne s'écrase pas sous l'effet de la pesanteur mais s'accélère proportionellement à la force des contributions, ça éviterai de tomber de haut.
            Le lecteur du XXIe siècle saura relativiser la gravité de ce propos ;o).
            • [^] # Re: Isaac ?

              Posté par  . Évalué à 1.

              <<mais s'accélère proportionellement à la force des contributions>>
              Au contraire, il faut éspérer qu'il ne dépende pas de la force des contributions vu qu'il ne peut pas y en avoir (code fermé !).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.