Livecode est libéré

Posté par . Édité par Davy Defaud, LaurentR2D2, Nÿco, Xavier Claude, baud123, NeoX et Nils Ratusznik. Modéré par Nÿco. Licence CC by-sa
Tags :
34
24
avr.
2013
Technologie

Runrev, éditeur de Livecode, a lancé dernièrement une campagne sur le site Kickstarter dans le but de proposer son environnement de développement Livecode sous double licence (licence GNU GPL v3, d’une part, et licence privatrice de l’autre). Cette campagne a dépassé le but fixé, à tel point que Runrev s’est non seulement engagé à changer la licence de son outil, mais va également le retravailler et lui ajouter un certain nombre de fonctionnalités demandées par les utilisateurs.

Livecode — le descendant d’Hypercard — est une plate‐forme pour développer des applications. Elle permet le prototypage et la programmation dans un langage formel et extensible, proche du langage naturel.

3 choses apréciables dans Livecode - 2/3

Sommaire

En préambule, précisons que cette programmation avec Livecode — dans un langage formel proche du langage naturel — est dite impérative, c’est la description technique des processus à exécuter impérativement.

Notons qu’il convient de la distinguer de la programmation dite déclarative (par exemple, en langage naturel contrôlé ou d’autres langages formels comme « N3 »), résultant en une liste d’assertions, exprimant typiquement la définition d’un modèle (les concepts d’un domaine de la connaissance — on parle aussi d’ontologie) et de règles (articulations entre les concepts), comme on trouve en entrée d’un moteur d’inférence, en IA (intelligence artificielle).

Périmètre des travaux engagés

Le travail comprendra la réorganisation de quelques 500 000 lignes de code C++ en modules connectés au nouveau noyau. Ce code tourne sur les systèmes d’exploitation Windows, Mac OS X, GNU/Linux, iOS, Android (littéralement : « tournant sur six plates‐formes : Windows, Mac, Linux, iOS, Android et serveur [sic] » — source).

La syntaxe en anglais sera portée dans une nouvelle couche uniforme — au sein d’une machine virtuelle — et verra la possibilité d’ajouter votre propre syntaxe (N. D. A. : ceci laisse envisager l’adaptation à d’autres langues « contraintes » que le seul langage formel proche de l’anglais, actuellement proposé ; on pourrait de plus envisager à terme le développement d’une traduction automatisée entre toutes ces langues « contraintes » ; enfin, une articulation pourrait avantageusement être débattue publiquement entre le langage naturel contrôlé évoqué plus haut en programmation déclarative et le langage impératif développé dans Livecode).

Une autre équipe travaillera sur la re‐conception de l’éditeur visuel, en parallèle, pour rendre la plate‐forme plus facile à découvrir et utiliser.

Alors que la base de code sera immédiatement rendue disponible dans son état actuel, ces changements importants rendront plus faciles les contributions par la communauté. À la fin de ce processus, l’équipe souhaite fournir une plate‐forme ouverte, belle et consistante.

Pour détailler, voici en quatre étapes :

Remodelage du code source

Il s’agit de réorganiser le code en un noyau et des modules adaptés pour des contributions communautaires — cf. explications techniques sur la page Taming the Monolith (en anglais).

Optimisation du moteur d’exécution et d’autres vieux composants

Introduction de l’architecture « Open Language »

Il s’agit d’une architecture permettant le développement de nouvelles extensions du langage par l’écriture de greffons. Citation (traduite) :

_« avec “Open Language”, les membres les plus techniques de notre communauté peuvent créer des mots et phrases dans une forme inspirée de l’anglais pour permettre à chacun d’écrire des programmes qui exploitent tous les aspects d’un ordinateur ou d’un périphérique. »

Cf. la page Open Language (en anglais).

Création d’une nouvelle interface graphique pour créer des applications

Ce nouvel éditeur visuel sera conçu selon les standards actuels de l’utilisabilité. Il sera ouvert. Les membres les plus techniques de la communauté peuvent créer des versions simplifiées de l’éditeur pour les tablettes ou les écoles primaires. Voici une capture d’écran du prototype :

Nouvel éditeur visuel de Livecode

Calendrier des opérations

  • mars : libération du code source en l’état ;
  • avril : version ré‐empaquetée de type « pré‐publication » ;
  • mai‐août : améliorations et ajout de fonctionnalités ;
  • d’ici fin 2013 : livraison finalisée.

Double licence de Livecode — l’avis de RMS

Concernant cette double licence (GPL v3 d’un côté, licence privatrice de l’autre), Richard Matthew Stallman (RMS) — président de la Free Software Foundation — a été questionné par courriel. Merci à lui de l’attention qu’il a accordée. Il a émis en première approche l’hypothèse qu’il puisse s’agir d’un cas de « vente d’exceptions », puis a considéré de plus près les textes pour formuler son avis, synthétisé ainsi :

  • l’esprit de la GPL v3 semble bien respecté avec la version libre annoncée ;
  • dans la version privatrice, il y a du code qui n’est pas inclus dans la version libre. Pour citer la FAQ (version complète) : « [la version privatrice] inclut le module [scriptable ?] de sécurité par mot de passe qui fournit un niveau supplémentaire de protection pour votre code » — traduction de « It includes the script password security module which provides an additional level of protection for your code ». RMS a envisagé l’hypothèse que cette fonctionnalité n’intéresse pas les développeurs de logiciels libres. Pour lui, ce choix semble correspondre à un objectif de limitation à l’encontre des utilisateurs de l’application. Il trouve cela injuste dans l’esprit, mais considère que ça ne nuit pas au code libre que Runrev va publier.
  • # L’avis de RMS

    Posté par (page perso) . Évalué à 1.

    Donc si j’ai bien compris, c’est un langage de programmation super simple qui permet de faire rapidement des choses intéressantes et qui est donc un outil très intéressant pour faire de la programmation. Mais est-ce utilisable pour des projets de taille moyenne voire des gros projets?

    « [la version privatrice] inclut le module [scriptable ?] de sécurité par mot de passe qui fournit un niveau supplémentaire de protection pour votre code »

    Je ne suis pas sûr d’avoir compris ce qu’était la fonctionnalité: en gros ça sert simplement à empêcher aux gens de voir le code source (donc de l’offuscation)?

    P.-S.:

    Langage Naturel Contrôlé

    Samwang je crois qu’on parle de toi! :D

    Écrit en Bépo selon l’orthographe de 1990

    • [^] # Re: L’avis de RMS

      Posté par (page perso) . Évalué à 4.

      Samwang je crois qu’on parle de toi! :D

      Merci Captain Obvious ! Et sinon, t'as pensé à regarder qui poste ?

      Commentaire sous licence LPRAB - http://sam.zoy.org/lprab/

      • [^] # Re: L’avis de RMS

        Posté par (page perso) . Évalué à -1. Dernière modification le 25/04/13 à 00:43.

        Haha j'avais pas vu l'auteur!

        @SamWang: tu vas lâcher les baskets à rms, oui?! :D

        Écrit en Bépo selon l’orthographe de 1990

    • [^] # Re: L’avis de RMS

      Posté par . Évalué à 3.

      Il me semble, mais je peux me tromper - et l'heure tardive ne me pousse pas à vérifier, on verra demain - que MYST, le premier du moins, était développé avec Hypercard.
      Et je m'aperçois que, passée une certaine heure, c'est fou ce que j'aime les virgules…

      • [^] # Re: L’avis de RMS

        Posté par (page perso) . Évalué à 1.

        Oui, Myst était bien développé avec Hypercard, du moins la version Mac. C'est aussi avec Hypercard que j'ai fait mes premiers programmes sur un Mac Classic, nostalgie quand tu nous tiens…

  • # Illustration

    Posté par . Évalué à 4.

    L’illustration choisie est rigolote : elle semble montrer une interface tactile (téléphone), avec un code qui correspond parlant de souris (on mouseUp).

    • [^] # Re: Illustration

      Posté par . Évalué à 2.

      Quand tu ballades le stylet proche de certaines interfaces tactiles (sans toucher), le pointeur change de place. L'évènement clic est déclenché quand tu touches l'écran du stylet, et donc logiquement l'évènement mouseup doit être déclenché lorsque tu relèves le stylet. Pour ce que j'ai pu voir en magasin ça marche comme ça sur un Samsung Galaxy ou une tablette Wacom Intuos.

      • [^] # Re: Illustration

        Posté par (page perso) . Évalué à 4.

        Sur de nombreux supports tactiles, les évènements de souris sont effectivement émulés, mais ils sont décalés dans le temps. Sur un iPad par exemple, l'évènement mousedown est lancé environ 500ms après le touchstart. Si l'application n'écoute que les clics de la souris, ça peut donner l'impression que l'application est lente alors que c'est juste un délai permettant d'identifier le mouvement réalisé par l'utilisateur.

        Pour un bouton, le délai est une bonne chose car si l'utilisateur souhaite faire défiler la vue et qu'il le fait en touchant le bouton, l'évènement click du bouton ne sera pas déclenché.

        Si c'est pour du draganddrop par contre, il vaut mieux utiliser les évènements tactiles, car le délai de 500ms à chaque fois que l'utilisateur souhaite déplacer un objet va lui donner une mauvaise impression.

    • [^] # Re: Illustration

      Posté par . Évalué à 1.

      En même temps, la souris, c'est juste le périphérique de pointage le plus connu, et qui a engendré les IHM graphiques telles qu'on les connaissait jusqu'a il y a peu…

  • # Très lent sous Debian

    Posté par . Évalué à 3.

    Le concept est intéressant même s'il n'est pas nouveau graphiquement parlant (Delphi, et tous les Visual quelque chose). La logique du langage naturel (anglais) semble quand même poussée assez loin cette fois, ce qui est, à mon avis, à regarder de près en éducation.

    Le défaut le plus important que j'y vois : son IDE est anormalement lent avec Debian Squeeze et du matériel ancien. Les programmes générés sont par contre de vitesse correcte, au moins le (très) peu de programme que j'y ai fait. Autre intérêt : la compilation croisée très facile.

    Un logiciel à suivre.

    • [^] # Re: Très lent sous Debian

      Posté par (page perso) . Évalué à 2.

      Le concept est intéressant même s'il n'est pas nouveau graphiquement parlant (Delphi, et tous les Visual quelque chose). La logique du langage naturel (anglais) semble quand même poussée assez loin cette fois, ce qui est, à mon avis, à regarder de près en éducation.

      Personne n'a dit que le concept était nouveau, HyperCard date des années 80 et son langage HyperTalk était déjà très proche du langage naturel. À l'époque il était déjà populaire au niveau de l'enseignement, nombre d'instituteurs un peu geeks s'essayaient à écrire leurs propres applications éducatives.

  • # langage naturel

    Posté par (page perso) . Évalué à 5.

    Où est la doc du langage?

    http://devnewton.bci.im

  • # Bravo !

    Posté par . Évalué à 5.

    Ça c'est bien pour l'éducation des jeunes !
    A quand la libération de Click'N Play… je pourrais enfin voir à quoi rimaient ces 8 pages qu'on devait se taper dans TILT tous les mois…

    allons bon j'ai encore perdu ma canne.

    • [^] # Re: Bravo !

      Posté par . Évalué à 7.

      Oh! Un autre ancien lecteur de TILT!
      On se fait une bouffe? T'es à quel hospice toi?

Suivre le flux des commentaires

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