Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Langage de programmation] Algoid / AL

    29 mai 2013 à 13:41:36

    Héhé ! Mais c'est parce que vous n'avez pas encore tout découvert d'AL !!!!

    Le for each existe belle et bien et bien mieux qu'en java qui utilise une structure de contrôle alors que AL joue avec le fonctionnel :

    array {1, 2, 3, 4}.each (function (item, i) {
    
      util.log ("element [" .. i .. "] is " .. item);
    
    });
    


    Ce qui devrait également répondre à la question, "mais pourquoi tout anonyme ?" lol ^_^

    Al est capable de cascader les appelles comme SmallTalk.

    Dans ce cas précis, tu crée un tableau avec ses valeurs, que tu cascade avec la boucle (each) qui itère sur ses éléments et tu applique un traitement contenue dans la fonction.

    Ca tiens sur une ligne.

    Concernant le ; en effet il est totalement optionnel (merci mon paseur maison sympa)

    Concernant le for. Alros oui je l'ai implémenté parce qu'existant sur tous les autres langages de la lignée, mais j'ai également introduit le loop, plus simple :

    // le loop
    loop (15) {
      // traitement
    }

    Ou le loopFor, tirant partie du fonctionnel :

    (15).loopFor (function (i) {
      util.log ("itération " .. i);
    });

    En AL toute expression est un objet et possède donc un ensemble de méthodes appropriées.

    Il faut vraiment que j'indexe l'aide, car ça semble confus tout ça.

    -
    Edité par CyaNn 30 mai 2013 à 6:33:14

    • Partager sur Facebook
    • Partager sur Twitter
    Découvrez Algoid le langage pour apprendre à programmer.
    Anonyme
      30 mai 2013 à 13:45:40

      Bonjour,

      Ton programme est ambitieux, et tu sembles avoir une certaine culture en matière de langages de programmation. Puis-je t'inviter à venir le présenter sur le site progmod.org ? Il y a beaucoup de gens qui font de la recherche en programmation sur ce forum, et qui seront certainement intéressés par ton projet (les discussions peuvent être plus ou moins fructueuses, par exemple le créateur du langage Linotte était venu nous voir).

      • Partager sur Facebook
      • Partager sur Twitter
        3 juin 2013 à 8:50:58

        Ca avance.... ça avance.

        Bientôt une version Bêta en JNLP.

        -
        Edité par CyaNn 3 juin 2013 à 8:51:53

        • Partager sur Facebook
        • Partager sur Twitter
        Découvrez Algoid le langage pour apprendre à programmer.
          5 juin 2013 à 9:11:01

          poiujlkljio a écrit:

          Bonjour,

          Ton programme est ambitieux, et tu sembles avoir une certaine culture en matière de langages de programmation. Puis-je t'inviter à venir le présenter sur le site progmod.org ? Il y a beaucoup de gens qui font de la recherche en programmation sur ce forum, et qui seront certainement intéressés par ton projet (les discussions peuvent être plus ou moins fructueuses, par exemple le créateur du langage Linotte était venu nous voir).


          Voilà qui est fait.
          • Partager sur Facebook
          • Partager sur Twitter
          Découvrez Algoid le langage pour apprendre à programmer.
            5 juin 2013 à 18:59:46

            Enfin une MaJ ! Je teste tout de suite !

            • Partager sur Facebook
            • Partager sur Twitter
            Arius, vraiment le plus puissant de l'ancienne Ligue des Super Zéros !
              5 juin 2013 à 21:29:19

              Yeah ! Nouvelle version d'Algoid est enfin sortie.... avec :
              ★ bug du caractère % dans le forum
              ★ correction de bugs mineurs
              ★ bug sur return (ne fonctionnait pas avec les boucles)
              ★ nouvelles méthodes algo: square() et algo.box()
              ★ reintroduction algo.setBgColor()
              ★ méthode pour les caractres ascii: String.encodePoint(), Number.decodePoint(), Array.decodePoint()
              ★ whileTrue et untilFalse deviennent respectivement whileDo et untilDo
              ★ nouvelle méthodes math : exp(), log(), E, PI
              ★ index dans la référence (aide)
              Toujours ici :
              Bonne soirée à tous ;-)

              -
              Edité par CyaNn 5 juin 2013 à 21:30:59

              • Partager sur Facebook
              • Partager sur Twitter
              Découvrez Algoid le langage pour apprendre à programmer.
                5 juin 2013 à 21:30:07

                Oui antoine.

                Cela dit il faudra attendre la prochaine pour les selections ect.... ce sera la 1.2.0

                Mais promis cette fois sera la bonne.

                • Partager sur Facebook
                • Partager sur Twitter
                Découvrez Algoid le langage pour apprendre à programmer.
                Anonyme
                  6 juin 2013 à 7:52:47

                  Une pop-up apparaît a chaque fois qu'on tourne l'écran c'est normal ? (Bien que le bouton "Plus montrer" règle ce problème.

                  Le bouton pour aller en haut du tuto est masqué par la toolbar on ne peut pas cliquer dessus.

                  http://www.imgur.com/HJgmIW1.png

                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 juin 2013 à 8:40:39

                    Ha mince oui.

                    Je vais y remédier dés que j'ai 5mn ;-)

                    Merci de me le signaler.

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Découvrez Algoid le langage pour apprendre à programmer.
                      6 juin 2013 à 10:44:38

                      Pour le fameux bouton du tuto, tu a utilisé je ne sais plus quelle propriété CSS pout qu'il reste fixe, non ? Parce que sous FroYo, ça marche pas non plus ^^

                      Je t'énerve avec FroYo, hein ? :-D

                      -
                      Edité par antoine1023 6 juin 2013 à 10:47:52

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Arius, vraiment le plus puissant de l'ancienne Ligue des Super Zéros !
                        6 juin 2013 à 12:22:31

                        Oui c'est du css. Et malheur à moi, je n'avait testé que sur PC, pas inapp.

                        As tu vu que j'ai ajouter les méthodes encodePoint et decodePoint ? Tu vas pouvoir modifier ton implémentation du brain fuck ;-)

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Découvrez Algoid le langage pour apprendre à programmer.
                          6 juin 2013 à 12:42:39

                          Oui j'ai vu tout ça. Je vais aussi modifier le pendu, il y a des contournements du bug du return pas très jolis dedans...

                          • Partager sur Facebook
                          • Partager sur Twitter
                          Arius, vraiment le plus puissant de l'ancienne Ligue des Super Zéros !
                            6 juin 2013 à 19:00:17

                            Téléchargé, cependant j'aimerai bien un tutoriel mieux construit, comme ceux du site du zéro car là il est très peu compréhensible, je parle au niveau des commandes pour progressivement arriver à des trucs sympa.
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              6 juin 2013 à 19:41:15

                              Je viens de tester vite fait ton appli' (grâce à la fiabilité de la SNCF j'ai eu 40min pour tester).

                              Pour toi simplicité rime à 1 fonction = 1 paramètre max... ?

                              D'autant plus que j'ai trouvé que jump pour me déplacer en y, pour se déplacer en x c'est quoi ?

                              • Partager sur Facebook
                              • Partager sur Twitter
                                6 juin 2013 à 20:34:30

                                Hors-Sujet : Non ! Les fonctions acceptent plusieurs paramètres séparés par des virgules :

                                set addition = function (a, b) {
                                  return a + b;
                                };
                                


                                Il existe la méthode algo.go pour tracé un trait.

                                Puis les méthodes algo.goTo et lineTo pour ce déplacer dans le repère cartésien.

                                flo: les tutoriaux sont en effet loin d'êtres finit. Les existants ciblent plutôt les 10-14 ans.

                                Mais bon. Malheureusement je n'ai pas le temps de tout faire. Pour le moment je me concentre sur la version PC.

                                Cela dit j'ai écrit de mini tutos dans cette section du forum : http://www.algoid.net/phpBB3/viewforum.php?f=5&sid=e6ad0c0e2d00bd416582c1511a21530d

                                Tu trouvera également un grand nombre d'exemple sur le forum.

                                • Partager sur Facebook
                                • Partager sur Twitter
                                Découvrez Algoid le langage pour apprendre à programmer.
                                  7 juin 2013 à 17:59:14

                                  Bonjour, j'ai une nouvelle question. Est-il possible d'exporter les programmes crée de façon à ne pas ouvrir tout le temps Algoid pour pouvoir les utiliser ?
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    8 juin 2013 à 5:58:16

                                    Wahou. Cela dénote quelques lacunes de l'éditeur.... patience, les améliorations viennent dans le prochaine version ;-)

                                    Les fichiers AL sont stockés dans SDCard/Algoid.

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Découvrez Algoid le langage pour apprendre à programmer.
                                      8 juin 2013 à 9:16:47

                                      Bonjour à tous,

                                      La version (en développement) est enfin disponible ici : 

                                      www.algoid.net/applet.php

                                      Sous forme d'applet.

                                      Bonne journée à tous ;-)

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Découvrez Algoid le langage pour apprendre à programmer.
                                        8 juin 2013 à 19:42:50

                                        Ce projet à l'air vraiment pas mal (Je poste surtout pour garder une trace j'ai pas encore lue les pages).

                                        Je donnerais donc mes impressions après :)

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Anonyme
                                          8 juin 2013 à 20:58:37

                                          CyaNn a écrit:

                                          Hors-Sujet : Non ! Les fonctions acceptent plusieurs paramètres séparés par des virgules :

                                          set addition = function (a, b) {
                                            return a + b;
                                          };
                                          
                                          Je parlais surtout des fonctions de base comme jump, goto, box... Qui pourrait être réuni.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            8 juin 2013 à 23:02:44

                                            Oui en effet, les fonctions de bases sont pensés pour êtres simple. Cela dit, j'ai tendance à ne pas rajouter des choses qui ne sont pas nécéssaires.

                                            Mais regarde un peu du coté des notions fonctionnels, comme le each, filter, join.... tu vera qu'AL n'est pas si simple.

                                            En bref il a été conçu pour être le plus simple possible au premier abord tout en permettant d'aborder par la suite des notions plus complexes.

                                            Muguiwara : merci. J'éspère qu'il te plaira.

                                            -
                                            Edité par CyaNn 8 juin 2013 à 23:04:24

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Découvrez Algoid le langage pour apprendre à programmer.
                                              10 juin 2013 à 17:07:30

                                              Bonsoir à tous.

                                              Petite mise à jour de l'IDE en version Applet avec au programme :

                                              - le DEBUGGER et ses BREAKPOINTS ;

                                              - l'explorateur de portée

                                              - copy / past / undo / redo

                                              Le tout ici : www.algoid.net/applet.php

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Découvrez Algoid le langage pour apprendre à programmer.
                                                10 juin 2013 à 17:36:57

                                                Il y a un petit problème avec text.inputText(), exemple "hello you.al" :
                                                ... En tout cas sur ma config : IcedTea, OpenJDK 7 (Ubuntu 13.10)

                                                -
                                                Edité par antoine1023 10 juin 2013 à 17:37:44

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Arius, vraiment le plus puissant de l'ancienne Ligue des Super Zéros !
                                                  11 juin 2013 à 8:59:58

                                                  Ouep j'ai vu.

                                                  Visiblement le repaint de swing est plutôt capricieux....

                                                  J'avance un peu sur le reste et y jete un oeil dés que j'ai un moment ;-)

                                                  Tien je me pose une question.

                                                  Faut il que pour la version desktop, je définisse des evenements comme onClick, onDrag, onMove, on Press ?

                                                  Ou faut-il mieux que je réemploie les existants sur tablette : onTap, onPress, onTouch ?

                                                  Dans le second cas, ça améliore la compatibilités des scripts sur les deux plateformes.....

                                                  Dites moi.....

                                                  moi.....

                                                  -
                                                  Edité par CyaNn 11 juin 2013 à 9:02:05

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  Découvrez Algoid le langage pour apprendre à programmer.
                                                    13 juin 2013 à 8:05:20

                                                    Bon.
                                                    J'ai une petite idée qui me trote dans la tête depuis un moment, c'est d'ajouter la programmation par contrat (combiné à du pattern matching) à mon petit langage AL.
                                                    L'idée c'est de mettre des condition d'entrée et de sortie aux fonctions et des invariants (condition d'état) aux etats.
                                                    Voici ce que cela donnerait :
                                                    set fibo = function (n) when (n <= 1) {
                                                      return 1;
                                                    } otherwise function (n) {
                                                      return fibo (n-2) + fibo (n-1);
                                                    };

                                                     
                                                    L'idée serait que l'interpréteur entrerait dans fonction à condition que la pré/post condition soit remplis.
                                                    Sinon il passe à la suivante. Et s'il n'existe pas de suivant, il lève un exception.
                                                    Voici ce que cela pourait également donné sur les états :
                                                    set hour when (hour.between (0, 23) && hour.isNumber());
                                                    Cela permétrait également de gérer les types.
                                                    Qu'en pensez vous ?
                                                    Après la question c'est sur la syntaxe :
                                                    - when / otherwise
                                                    - where / else
                                                    - ? / |
                                                    Cette dernière est plus consise et elle permétrait ce créer un opérateur d'assignation.
                                                    Exempel :
                                                    set fibo = function (n) ? (n <= 1) {
                                                      return 1;
                                                    };
                                                     
                                                    set fibo |= function (n) {
                                                      return fibo (n-2) + fibo (n-1);
                                                    };
                                                    Un peu comme le +=
                                                    Des avis ?

                                                    -
                                                    Edité par CyaNn 13 juin 2013 à 8:06:59

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    Découvrez Algoid le langage pour apprendre à programmer.
                                                      15 juin 2013 à 12:33:12

                                                      Moi je n'aime pas trop les signes comme ? et |. Je préfère les mots-clés, c'est plus explicite.
                                                      Sinon, je ne connais pas la programmation par contrat, et je t'avoue que je préfèrerait que tu ajoute un système d'extensions comme tu l'avait proposé. A mon avis c'est plus utile (mais bon, je le répète, je ne connais rien à la programmation par contrat :-) )

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      Arius, vraiment le plus puissant de l'ancienne Ligue des Super Zéros !
                                                        15 juin 2013 à 15:16:58

                                                        Oui les plugins viendront. Mais pas avant les vacances (reste 3 semaines, après je jette le laptop et la montre !!!! Et je file à la pêche.) ^_^

                                                        Un autre truc qui me fait réver, c'est le paragigme reactif :

                                                        Exemple : 

                                                        set a = 7;
                                                        set b = 8;
                                                        
                                                        set c = a + {b};
                                                        
                                                        print (c); // 13
                                                        
                                                        a = 25;
                                                        b = 10;
                                                        
                                                        print (c); // 17
                                                        

                                                        C'est sympa pour le GUI ou les jeux videos pour placer les éléments de façon relative les valeurs entre {} sont réévalués à chaque dessin.

                                                        Bref, j'ai plein d'idées pour la suite.

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                        Découvrez Algoid le langage pour apprendre à programmer.
                                                          15 juin 2013 à 16:07:17

                                                          A mon avis, faudrait peut etre pas rajouter trop de trucs à ce langage qui est destiné à des débutants et qui est déjà orienté objet :-)

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                          Arius, vraiment le plus puissant de l'ancienne Ligue des Super Zéros !
                                                            15 juin 2013 à 18:24:53

                                                            Oui c'est vrai que je me fait plaisir sur le langage et que parfois, j'en oublie à qui il est destiné.

                                                            En même temps, je me dit que ce genre d'outil simplifie grandement la définition des interfaces et ça faisait un moment que je cherchais un solution..... bref à voir.

                                                            Voilà en attendant un petit jeu maison qui tourne sous algoid...

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                            Découvrez Algoid le langage pour apprendre à programmer.
                                                              15 juin 2013 à 20:00:12

                                                              Excellent, tout ça (ton fils en a, de la chance ! :) ). Je testerai dès que mon téléphone sera de retour du SAV.
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              [Langage de programmation] Algoid / AL

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown