Linotte version 0.6.4, la programmation de 7 à 77 ans !

Posté par . Modéré par baud123.
Tags :
14
29
avr.
2009
Éducation
Le langage de programmation en français Linotte continue d'évoluer avec cette nouvelle version qui apporte son petit lot de nouveautés.

Linotte a la particularité d'être entièrement en français. Il facilite ainsi l'apprentissage de la programmation des enfants et même des débutants plus âgés !

La syntaxe du langage a évolué pour prendre en compte les remarques et demandes des utilisateurs :
  • Introduction à la programmation fonctionnelle,
  • Appelle des méthodes par valeur ou par copie,
  • Clonage des objets,
  • Affichage des objets au format SVG,
  • et plus encore !

Linotte est un logiciel écrit en langage JAVA. Depuis la dernière dépêche, la syntaxe du langage a évolué pour prendre en compte les différentes remarques remontées.
Linotte, malgré sa syntaxe très simple, offre au programmeur des fonctionnalités puissantes :
  • Programmation fonctionnelle et récursivité
  • Parallélisation des traitements et synchronisation des traitements
  • Notion de clonage des objets
  • Gestion des greffons
  • Amélioration de la lecture des formules mathématiques
  • Ajout de la boucle "tant que"
  • Lecture du format SVG
  • Ajout du crayon pour simuler une tortue (programmation LOGO)
  • Possibilité de lire un livre sur un site Internet avec une applet JAVA.

De plus, maintenant, la documentation et le logiciel sont sous licence GPL V3.

D'autres évolutions devraient arriver dans un futur proche, par exemple la 3D et la gestion des erreurs. Sur ce dernier point, je bloque car je n'ai pas trouvé d'idée pour "attraper" les erreurs sans alourdir son programme....
  • # Magnifique !

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

    Bonjour,

    Tout d'abord, félicitations. J'ai regardé les exemples, et le langage est vraiment très complet et bien conçu. Je pensais tomber sur une simple traduction du Pascal ou du C en français, et bien non !

    Bref, c'est un pur bonheur de lire le code, un peu verbeux, mais superbement bien pensé. Je relève juste un petit problème : en s'exprimant dans un langage trop proche de la langue parlé, pas assez strict, on fait plus facilement des erreur de syntaxe.

    Pour les exceptions, j'avais pensé à une syntaxe de la sorte :


    essaie de lire
    vide tableau

    si erreur, lis
    ajoute «Oh oh, pas bon» dans sortie

    c'est bon


    «essaie de lire» et «c'est bon» pouvant être ommis :


    vide tableau

    si erreur, lis
    ajoute «Oh oh, pas bon» dans sortie


    Ou même la version courte


    vide tableau

    si erreur, ajoute «Oh oh, pas bon» dans sortie


    Bravo en tous cas, vivement un binding de Qt vers ce langage, que j'utiliserai avec bonheur :) .
    • [^] # Re: Magnifique !

      Posté par . Évalué à 1.

      Oui c'est surprenant.

      Mais au bout de 2 livres, j'ai vraiment du mal, en regardant le code, à m'y retrouver.

      La force de l'habitude sans doute.

      En tous cas, trés rafraîchissant :D
    • [^] # Re: Magnifique !

      Posté par . Évalué à 2.

      Bonsoir,

      Merci pour vos commentaires très sympathiques !

      En effet, la syntaxe du langage entraîne facilement des erreurs de syntaxe.... (moi le premier...), c'est pour cela que j'ai ajouté le menu verbier avec tous les raccourcies du langage. Dans un futur trèèès lointain, il faudrait proposer la complétion des phrases dans l'Atelier.

      Ce que tu proposes ressemble au try/catch en Java. ça veut dire qu'il faut gérer les erreurs dans toutes les parties du code où le risque d'erreur est important.
      N'est-ce pas trop compliqué pour des débutants ?
      • [^] # Re: Magnifique !

        Posté par . Évalué à 1.

        N'est-ce pas trop compliqué pour des débutants ?
        Perso, je dirai non mais a condition ne pas forcer à mettre des catch ni a déclarer que l'on peut en envoyer (en gros pas comme en java)
  • # un peu de soleil dans le noir

    Posté par . Évalué à 4.

    Excellent, vraiment, ça fait plaisir de voir que tout le monde ne dort pas! Même si Hadopi nous a un peu assommé (va t on controler les emails à présent ?) et va nous faire hurler lundi.
  • # Bof

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

    Je vais sûrement être antipathique: si j'avais appris la programmation avec ce langage, jamais je ne serais devenu informaticien...
    • [^] # Re: Bof

      Posté par . Évalué à 10.

      Je vais sûrement être antipathique

      moi aussi : si j'avais découvert linuxfr avec tes commentaires, jamais je ne serais resté ;)

      Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

    • [^] # Re: Bof

      Posté par . Évalué à 9.

      Tu n'as pas terminé : tu as oublié de dire pourquoi.
      • [^] # Re: Bof

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

        Trop verbeux, on n'identifie pas facilement les blocs fonctionnels ou de données.
        • [^] # Re: Bof

          Posté par . Évalué à 3.

          C'est vrai que c'est incroyablement verbeux. Cependant c'est un défaut qui ne devient gênant qu'avec des programmes qui dépassent une certaine taille.

          Mais de toute façon je ne pense pas qu'il faille voir ce langage comme un langage pour l'industrie, mais plutôt comme un outil d'introduction à l'algorithmique.
  • # Effet : wow

    Posté par . Évalué à 6.

    C'est vraiment intéressant comme idée. J'ai rapidement parcourus le forum, mais je n'ai rien vu de tel. Existe-t-il une description syntaxique du langage en BNF ? (Ou autre dans une autre grammaire).

    C'est vraiment amusant que je lise cette dépêche aujourd'hui, il y a quelques semaines mon prof de langage de programmation expliquait qu'il était inconcevable de concevoir une langage de programmation consistant et complet dans une autre langue que l'anglais. Non pas que techniquement cela ne soit pas faisable, mais cela serait, selon lui, inutile, inutilisable, et inintéressant !

    Au contraire, en lisant des programmes écrit en Linotte, je trouve que l'approche peut apporter certaines idées de syntaxes. En tout cas à première vue, c'est un langage très beau, qui semble assez orthogonal !

    A explorer :) Surtout à l'heure ou l'anglais bouffe tout sur son passage.
    • [^] # Re: Effet : wow

      Posté par . Évalué à 2.

      le français n'est quand même pas évident, ni en tant que langue à apprendre, ni pour programmer en langage naturel, mais c'est un exercice intéressant.

      Désolé de faire le parallèle avec Inform 7 à chaque fois, en tout cas la description en BNF existe pour ce système en langage naturel (en anglais) :

      http://www.inform-fiction.org/I7/Download%20-%20Documents.ht(...)
      plus exactement :
      http://www.inform-fiction.org/I7Downloads/Documents/I7-Gramm(...)

      Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

      • [^] # Re: Effet : wow

        Posté par . Évalué à 3.

        Ah super, je connaissais pas Inform7, c'est pas mal ... Par contre c'est très orienté jeu d'aventure textuel. Le truc vraiment amusant dans linotte, c'est la syntaxe de l'aspect un peu orienté-objet du langage. Je trouve vraiment fascinant, parce que c'est particulièrement très explicite, et cela permet sans doute d'appréhender différemment l'orienté objet.

        Après il est évident que ce ne sont sans doute pas des langages vraiment utilisable dans la programmation de tous les jours. Sans doute bien trop verbeux, sans doute bien trop éloigné de la réalité de la manipulation de données etc... Quoi que Inform7 semble avoir été utilisé !

        Mais je trouve par contre vraiment intéressant d'un point de vue pédagogique. Cela donne vraiment un contre-point par rapport aux classiques : impératif, objet, fonctionnel, logique.

        J'ai fait une petite recherche rapide, mais j'ai vu très peu de publication ayant fait des recherche sur ce "type" de langage, on trouve plus des articles sur la façon d'évaluer le langage naturel. (C'est certain qu'évaluer une langue naturel, plutôt que de faire rentrer à coup de marteau et burin dans un langage de programmation une langue naturelle, c'est pas super logique).

        C'est pourtant assez curieux, car il doit y avoir des choses assez intéressante à voir. Par exemple, la programmation impérative, voir objet, se prête assez bien à la langue Française. Mais j'imagine très mal la chose coller avec la langue coréenne par exemple. Je me demande ce que l'on pourrait obtenir !

        Bref, Linotte ouvre une façon bien poétique de voir l'informatique : j'adore !!
        • [^] # Re: Effet : wow

          Posté par . Évalué à 2.

          Selon http://ifwiki.org/index.php/Category:Inform_7_games on a déjà au moins 167 jeux réalisés avec Inform 7.

          De plus, Inform permet de modéliser pas mal de choses, qui pourraient même sortir du contexte des jeux textuels. Par exemple maintenant il est possible de modéliser et résoudre des équations avec Inform 7 (exemple copié ici : http://langagelinotte.free.fr/punbb/viewtopic.php?id=68 ), et qui sait ce que nous réservent les prochaines versions ?

          Ce qui m'intéresse dans Linotte, c'est que l'on peut réaliser des applets java sans connaître java, alors c'est sûr un programmateur expérimenté cela peut le faire doucement sourire comme on dit, mais je pense que Linotte a sa raison d'être.

          Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

          • [^] # Re: Effet : wow

            Posté par . Évalué à 7.

            alors c'est sûr un programmateur expérimenté cela peut le faire doucement sourire comme on dit
            Effectivement ma machine à laver est en train de se bidonner.
            --> []
            • [^] # Re: Effet : wow

              Posté par . Évalué à 2.

              ça mérite une fortune sur bashfr ça :)

              Désolé à tous les informatiqueurs et hackeux que j'ai pu froisser...

              Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

  • # Français uniquement ?

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

    Une internationalisation est-elle prévue ? Ca pourrait intéresser du monde ! J'imaginerais bien le concept en Breton ou en Moldovalaque (même si je ne pratique pas spécialement ces 2 langues :) ).

    Le Klingon ou le Kobaïen seraient intéressants aussi.

    Bonne idée en tout cas ;)
  • # trivial ?

    Posté par . Évalué à 6.

    dans le PDF de présentation du langage il y a cette phrase :
    « La programmation doit être aussi simple que d’écrire une phrase en français ! » Moi, je ne trouve pas le Français trivial à écrire, loin de là, même pour un francophone.

    Maintenant, le langage à l'air amusant, et c'est déjà très bien.
  • # Goto

    Posté par . Évalué à 3.

    Je teste sans lire la doc les programmes disponibles avec le paquetage de base.

    'Paragraphe' c'est l'équivalent d'un goto ?
    Je vais un peu m'amuser avec le langage pour voir comment c'est.

    Les logiciels sous licence GPL forcent leurs utilisateurs à respecter la GPL (et oui, l'eau, ça mouille).

  • # goto++

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

    Qu'est ce que ça apporte de plus que l'excellent langage goto++ ?
    • [^] # Re: goto++

      Posté par . Évalué à 1.

      ça évite d'avoir à gérer des troupeau de pingouin !

Suivre le flux des commentaires

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