Une calculatrice scientifique libre sous Linux (materiel)

Posté par . Édité par palm123, Davy Defaud, Benoît Sibaud et Xavier Teyssier. Modéré par ZeroHeure. Licence CC by-sa
52
9
oct.
2014
Éducation

Librecalc est un projet de calculatrice scientifique libre, sous GNU/Linux, mené par deux Français de 25 ans. Des résultats intéressants commencent à apparaître sur le blog du projet dans lequel ont été ajoutés des articles au fur et à mesure de l’avancement du développement.

Image du projet de calculatrice

Le projet a la particularité de n’utiliser que des logiciels libres, aussi bien pour la conception (KiCad, FreeCAD) que sur la calculatrice elle‐même (Debian). Les schémas électroniques du premier prototype ont été publiés sous licence open hardware.

Beaucoup d’entre nous avons appris la programmation sur calculatrice, et nous sommes sentis frustrés des limitations, et du langage TI-Basic assez pauvre. Avec ce projet, la curiosité ne sera enfin plus bridée ! Elle pourra même être poussée jusqu’à comprendre comment fonctionne la calculatrice au niveau matériel.

Le premier prototype est capable de lancer un émulateur de TI-82 qui a été développé par le projet, GNU Octave en mode console, ainsi que de lancer Pokémon via un émulateur de Gameboy. Les prochains prototypes devraient être capables de réaliser du calcul formel, via le logiciel libre Maxima.

  • # super soft !

    Posté par . Évalué à 4.

    J'aurais fais les mêmes choix de soft, mais pourquoi ne pas en faire une application libre pour smartphone ?

    J'imagine que le hard est fun à faire, mais cela limite pas mal la diffusion du projet.

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

    • [^] # Re: super soft !

      Posté par . Évalué à 9.

      La calculatrice hardware serait aujourd'hui de toute façon un non-sens… si on ne vivait pas dans un monde où les candidats bacheliers ont droit de les utiliser, mais n'ont pas le droit aux smartphones où à quoi que ce soit de connecté.

      Cela pourrait expliquer les prix scandaleusement élevés des calculatrices scientifiques, comparés à ceux de tablettes tactiles capables de faire bien plus pour moins cher.

      • [^] # Re: super soft !

        Posté par . Évalué à 1.

        Dans ce cas, il pourrait trouver une tablette chinoise, sans wifi ni bluethout de 5 à 7", cela fera bien mieux l'affaire.

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

        • [^] # Re: super soft !

          Posté par . Évalué à 4.

          une tablette … sans wifi ni bluethout

          :-D je ne crois pas qu'une telle aberration existe.

          kentoc'h mervel eget bezan saotred

      • [^] # Re: super soft !

        Posté par . Évalué à 4.

        J'ai refiler mon HP 48 à ma belle-fille, elle en chie mais s'est améliorée en calcul mental.

        Faut dire que j'ai un peu oublié comment s'en servir.

        • [^] # Re: super soft !

          Posté par (page perso) . Évalué à 1. Dernière modification le 10/10/14 à 00:12.

          Faut dire que j'ai un peu oublié comment s'en servir.

          o_O je n'en ai jamais eu à moi (j'avais une casio 850p), mais vu le nombre de fois où j'ai aidé des potes en prépa à utiliser la leur, je n'ai pas eu trop de souci à retrouver mes marques sur https://f-droid.org/wiki/page/org.ab.x48 (rha flûte elle n'est plus dispo icitte :/).

          Ne pas en avoir m'avait permis de maîtriser les développements limités, ce qui m'a servi pour les développements en série ensuite :D Là où ceux ayant une HP 48 avaient même du mal avec les dérivations et intégrations de tête :p

          Bon, en revanche, j'ai autant ramé qu'eux avec ces saletés de calculettes 5 opérations (yavait le xy bon ok, la touche, moi elle ne fonctionnait pas :/ j'ai repris ma fx180p pour les autres concours plutôt que la daube distribuée au besoin).

          • [^] # Re: super soft !

            Posté par . Évalué à 4.

            je n'en ai jamais eu à moi

            Je te rassure, je l'ai piqué à mon frère, tout comme son blouson en cuir.

      • [^] # Re: super soft !

        Posté par . Évalué à 9.

        Je crois que tu compares ce qui n'est pas comparable. Une calculette du genre TI89 a un processeur de quelques MHz tout au plus, un système d'algèbre symbolique, plein de fonctions pour faire des maths et de l'algèbre linéaire, etc. C'est vraiment un outil pour faire du calcul scientifique. Par contre, la puissance de l'engin est ri-di-cule par rapport à n'importe quel smartphone actuel.

        Néanmoins, l'usage de ce genre de calculette est particulièrement pertinent en milieu hostile : la durée de vie des piles est super longue, l'engin est plutôt très robuste, et toutes les fonctionnalités sont bien adaptées à ce que tu peux rencontrer jusqu'en classe prépa / 1er cycle universitaire voire plus loin.

        Honnêtement je ne vois pas du tout l'intérêt pour ce genre de machine avec un display en noir et blanc, surtout si c'est pour y faire tourner linux, un émulateur et des logiciels de calcul symbolique. Je trouve ça légèrement absurde. Autant faire une distro linux spécialisée dans le calcul scientifique, qui s'installe sur un netbook, et qui a tous les softs libres disponibles pour faire du calcul symbolique/numérique. C'est beaucoup plus sexy et tu ne rencontreras pas la limitation due à la puissance de calcul, particulièrement énervante quand tu veux tracer des courbes ou faire du calcul numérique à la volée.

        Pour la route : http://xkcd.com/768/

        • [^] # Re: super soft !

          Posté par . Évalué à 8. Dernière modification le 10/10/14 à 13:23.

          Mon commentaire était un peu provocateur.
          Mais force est de constater que le marché de la calculatrice est bien moins compétitif que celui de la tablette.

          L'évolution technique a été quasi-nulle ces 15 dernières années et les prix ont stagné (je me base par exemple sur la comparaison de la TI-89 de l'année de mon bac et celle d'aujourd'hui).
          La situation contraste énormément avec le reste du marché de l'électronique.

          Je soupçonne que la marge sur une TI-89 aujourd'hui doit être gigantesque (R&D amortie depuis des lustres, et fabrication matérielle qui n'a aucune raison d'être plus onéreuse que celle d'une tablette tactile. Ne me dites pas que c'est le clavier physique qui est cher: les calculatrices premier prix ne coutent que quelques euros.).

          Une raison possible de cette situation est que la calculatrice scientifique est un marché de niche comparé à celui des smartphones et des tablettes. Certes tous les lycéens en filière S et les élèves de prépas doivent en avoir une, mais j'ai cru comprendre que la situation était un peu particulière à la France : dans d'autres pays, on fait le choix plus logique d'apprendre à utiliser de vrais ordinateurs (à vérifier, si quelqu'un a des infos sur les conditions dans les autres pays ?).

          [EDIT] Oui, bien vu le XKCD, ça dit plus ou moins la même chose que ce que je dis :). Je crois que je l'avais déjà lu, ce qui a dû un peu influencer mon discours :).

          • [^] # Re: super soft !

            Posté par . Évalué à 8. Dernière modification le 12/10/14 à 19:12.

            L'évolution technique a été quasi-nulle ces 15 dernières années et les prix ont stagné

            C'est parce que l'objet remplit déjà sa fonction à 100 %, presque rien d'autre n'est besoin (on ne rechignerait pas sur une meilleure résolution d'écran, mais ce n'est pas indispensable à la fonction). C'est ce qui est déjà arrivé à d'autres produits électroniques qui désormais juste-marchent et n'évoluent que marginalement : ordinateurs de bureau, téléphones fixes, lecteurs MP3, que l'on peut acheter sans risque d'obsolescence précoce.

            La mode est en ce moment aux smartphones et aux tablettes, mais un jour aussi ces produits atteindront aussi un jour leur état de stabilité technique (et là la force marketing trouvera une autre vache à lait ; peut-être des dispositifs de type google glass ?).

            la situation était un peu particulière à la France : dans d'autres pays, on
            fait le choix plus logique d'apprendre à utiliser de vrais ordinateurs

            Non c'est juste l'effet d'autoflagellation typiquement français. Par exemple aux États-Unis : The unstoppable TI-84 Plus: How an outdated calculator still holds a monopoly on classrooms (The Washington Post, 2 septembre 2014, via slashdot). Autre point de vue, j'habite dans pays d'Europe non francophone, et les lycéens locaux achètent les mêmes calculatrices que les Français.

            Je soupçonne que la marge sur une TI-89 aujourd'hui doit être gigantesque
            (R&D amortie depuis des lustres, et fabrication matérielle qui n'a aucune raison
            d'être plus onéreuse que celle d'une tablette tactile. Ne me dites pas que c'est le
            clavier physique qui est cher: les calculatrices premier prix ne coutent que quelques euros.).

            Et c'est pour cela que le projet annoncé dans ce journal est particulièrement pertinent. S'ils essayaient de produire un smartphone libre et compétitif ce serait folie (ou incompétence). Pour une calculatrice scientifique libre : vue la stagnation des besoins ces dernières années, la plateforme électronique sera pertinente pendant plusieurs années (pas besoin de mettre à jour en permanence le hardware pour courir après le dernier modèle comme font Apple ou Samsung, ce que deux étudiants ne pourront jamais réussir), ils peuvent donc se consacrer à l'intégration des composants, un logiciel adapté, etc.

            Et pour info le choix de linux n'est pas idiot ; ce n'est pas la première calculatrice scientifique basée sur ce choix : TI PLT SHH1 (cependant jamais mise sur le marché).

          • [^] # Re: super soft !

            Posté par . Évalué à 6.

            Je soupçonne que la marge sur une TI-89 aujourd'hui doit être gigantesque

            30 % de marge d'après l'article du Washington Post que je cite au-dessus.

            Il existe encore en ce monde des objets électroniques assez robustes pour qu'on les passe à la génération suivante, et la qualité ça se paye ! (Lu sur cette page : « J'ai refiler mon HP 48 à ma belle-fille »)

            Si on veut acheter au moins cher il y a des clones chinois. Voyons la qualité… Lu sur cette page : « le taf ne donne plus que des bas de gamme si nos TI lâchent :( et le panneau solaire des chinoises ne produit pas suffisamment de courant »

            Noter que TI fabrique aussi des modèles moins chers pour le marché chinois. D'après Wikipédia, la TI Nspire series pour la Chine a un clavier moins cher, moins de mémoire et pas de communication sans fil.

      • [^] # Re: super soft !

        Posté par . Évalué à 1.

        les calculatrices ne sont pas interdites pour le bac ?

        • [^] # Re: super soft !

          Posté par . Évalué à 3.

          Quand je l'ai passé (en 2000), c'était autorisé dans les matières scientifiques. Plutôt ça dépendait du sujet : on savait au début de l'épreuve si c'était autorisé ou non (mais généralement c'était utilisé en maths, physique, rarement en bio).

          Quand j'étais à la fac, c'était interdit à la demande d'étudiants qui se trouvaient désavantagés par rapport à ceux qui pouvaient se payer une calculatrice à 500F (ils n'avaient pas de téléphones à 1000EUR à l'époque).
          Ça m'arrangeait, 500F c'était effectivement trop pour que j'annonce à mes parents que j'avais briqué ma TI-89 :)

      • [^] # Re: super soft !

        Posté par . Évalué à 3.

        La tablette chinoise elle dure combien de temps avec 2 piles ?

        BeOS le faisait il y a 15 ans !

    • [^] # Re: super soft !

      Posté par . Évalué à 10.

      Je préfère personnellement l'ergonomie de ma calculatrice (pas de rétro éclairage, des vrais boutons). L'autonomie de ma TI82 envoi boulet n'importe le quel des téléphones portables (smart ou non) même avec une utilisation assez intensive.

      Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

      • [^] # Re: super soft !

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

        Et sur liseuse ? Ça donnerait quoi ?

        • [^] # Re: super soft !

          Posté par . Évalué à 10.

          Une réactivité pourrie ?

          Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

          • [^] # Re: super soft !

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

            N'ayant pas de liseuse, je ne sais pas. Ce serait si lent ? Ils mettent bien des navigateurs dans les liseuses pour pouvoir acheter des livres par Internet…

            • [^] # Re: super soft !

              Posté par . Évalué à 3.

              Dans celles que j'ai vu la mise à jour de l'affichage était vraiment mou.

              Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

            • [^] # Re: super soft !

              Posté par . Évalué à 1.

              Heu, y'a des trucs pour faire du calcul flottant rapidement, sur une liseuse?

              • [^] # Re: super soft !

                Posté par . Évalué à 2. Dernière modification le 10/10/14 à 01:16.

                C'est pareil une liseuse a beaucoup plus de puissance qu'une calculette graphique. Faut juste adapter le logiciel, le clavier, mais normalement (enfin il me semble) ce type d'engin est bien adapté, mais il faut ajouter un clavier, ce qui est possible si la liseuse est tactile, mais bon à partir de là tu peux mettre des menus ergonomiques.

                Pas mal de liseuses tournent sous linux, mais ça demande de toutes manière de concevoir un système logiciel dédié au calcul symbolique/numérique pour rattraper l'ergonomie des TI8x.

                • [^] # Re: super soft !

                  Posté par . Évalué à 2.

                  Ça dépend. Ta liseuse, elle les gère bien les calculs flottants? Et la trigo? Sans parler des diverses fonctions mathématiques que je n'ai plus utilisé depuis 10 bonnes années (genre les dérivées, les logarithmes, ce genre de trucs)…
                  Je sais qu'un CPU spécialisé dans les entiers peut le faire, c'est juste que, c'est plus long, ça chauffe plus, qu'une puce spécialisée. Après, peut-être qu'effectivement, une liseuse peut faire ce genre de choses sans prendre trop cher…

                  • [^] # Re: super soft !

                    Posté par . Évalué à 3.

                    Une liseuse, cela peut être un ARM9 à 200Mhz. Il n'y a pas de fpu, mais c'est toujours plus rapide que les cpu dédiés à 20Mhz.

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

                  • [^] # Re: super soft !

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

                    Ta liseuse, elle les gère bien les calculs flottants? Et la trigo?

                    Je ne connais pas toutes les calculatrices du marché mais…

                    La gamme de calculatrice graphique chez Texas Instrument se divise en trois gammes :

                    Bref, à mon avis une liseuse ressemble plus à la nSpire, le haut de gamme de chez TI capable de faire tourner de manière non officielle Linux et Doom (en couleur !)…
                    Pour les autres gammes, les procos me font plus penser aux consoles 16bit des années 80 (Mega Drive, Super Nintendo) qui utilisaient justement le Z80 et le m68k…

                    Je ne sais pas où ça en est actuellement chez Casio, mais il y a quelques années la Graph100+ utilisait un clone du 286 fabriqué par NEC (et l’OS était un clone de DOS, oui il y a des fous qui se sont amusés à programmer en QBASIC sur PC pour la Graph100+)…

                    Bref quand je lis:

                    Je sais qu'un CPU spécialisé dans les entiers peut le faire, c'est juste que, c'est plus long, ça chauffe plus, qu'une puce spécialisée.

                    J’ai envie de répondre : je ne crois que les calculatrices du commerce utilisent des puces spécialisées mais de bonnes vieilles technos du moyen-âge. ;-)

                    Pour en savoir plus sur l’achi m68k de TI tu pourras retrouver des détails dans une de mes dépêches, pour l’archi Z80 de TI tu pourras demander à contra-sh< qui développe justement un émulateur pour cette archi, et pour l’archi arm de TI tu peux parcourir le wiki Hackspire. ;-)

                    ce commentaire est sous licence cc by 4 et précédentes

                    • [^] # Re: super soft !

                      Posté par . Évalué à 2.

                      Une liseuse avec un bon système tactile devrait faire une calculatrice efficace.

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

                      • [^] # Re: super soft !

                        Posté par . Évalué à 3.

                        Comme pour l'application de smartphone, ça va bien pour faire trois additions de temps en temps, mais pour un travail d'ingénieur ou de scientifique il faut un appareil dédié. Perso j'ai une calculatrice scientifique à côté de mon clavier, et pourtant j'ai un tas de programmes techniques sur mon ordinateur (et un téléphone avec calculatrice). Je préfère nettement taper une petite formule dans ma calculette que d'aller chercher scilab / qalculate-gtk / kcalc dans le menu et peiner avec la souris ou au clavier alors que ma calculette a des touches spécialisées pour chaque fonction utile.

                        • [^] # Re: super soft !

                          Posté par . Évalué à 2.

                          Je serais curieux de voir les vrai cas d'usage. J'avoue que depuis que j'ai "dc -l" sous la main (ou même les calculs fait par google), j'ai du mal à voir l’intérêt d'une calculatrice.

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

                          • [^] # Re: super soft !

                            Posté par . Évalué à 4.

                            Ça dépend beaucoup de ton travail, personnellement je ne me sert plus de ma calculatrice (google, ddg, bc, dc ou ipython me suffisent), mais si tu veux du tracer de courbes, si tu veux pouvoir aller montrer ton résultat à ton collègue une calculatrice c'est mieux.

                            Si tu veux accéder à des fonctions évoluées (calculs formels, dérivé de fonction, calcul de limite, etc) ou spécifiques à ton travail (calcul d'un amortissement par exemple) dc, bc et une partie des calculatrices de bureaux sont out parce qu'elles ont pas les fonctions et c'est pas forcément pratiques (voir possible) de charger ta bibliothèque de fonction.

                            Reste ipython, on peut évidement tout faire avec.

                            Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

                          • [^] # Re: super soft !

                            Posté par . Évalué à 3.

                            Pour le dessin technique et le traitement de données, j'ai souvent de petites formules à évaluer en même temps que j'ai un logiciel à l'écran (une calculatrice séparée est plus pratique que faire alt-tab, je peux ainsi laisser le pointeur à l'endroit où j'en ai besoin pour la prochaine entrée de données), et je peux aussi en avoir besoin au labo pendant des mesures.

                    • [^] # Re: super soft !

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

                      Et oui, 300€ la V200 pour avoir un m68k à 12MHz, 256ko de ram, 2.7mo de flash et un écran 240x128 pixels, ça fait cher en 2014. ;-)

                      ce commentaire est sous licence cc by 4 et précédentes

                    • [^] # Re: super soft !

                      Posté par . Évalué à 3.

                      je viens de lire l'article wikipedia sur la TI-Nspire, je vois que chez TI ils ont toujours cette idée débile d'empêcher les gens de hacker leur calculatrice.

                      un petit lien sur hackaday qui confirme ça…

                      j'ai une TI89, mais une HP48 ou 49 m'aurait bien plu aussi. Mais je ne connaissais pas quand j'ai acheté la mienne. Je les ai connues seulement après, par un prof qui en parlait avec amour…

      • [^] # Re: super soft !

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

        Clairement, pour passer ma journée avec utiliser une calculette (non scientifique) c'est dur d'avoir un truc plus pratique rapide et ergonomique

        Déjà rien que les touches physique font que je sais si j'ai tapé le chiffre d’à coté sans devoir regarder l'écran

        Par contre le taf ne donne plus que des bas de gamme si nos TI lâchent :( et le panneau solaire des chinoises ne produit pas suffisamment de courant donc on est obligé de changer les piles régulièrement

        • [^] # Re: super soft !

          Posté par . Évalué à 0.

          c'est dur d'avoir un truc plus pratique rapide et ergonomique

          tu veux dire à part un tableur ?

          • [^] # Re: super soft !

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

            J'ai en permanence 3 ou 4 tableurs ouvert sur mes écrans

            C'est bien pour des machins (très) complexe ou répétitif, mais pour des trucs simple la calculette gagne (puis ça fait un 3eme écran)

  • # Le premier ordi OpenHardware

    Posté par . Évalué à 3.

    Ne serait-ce pas le premier ordinateur OpenHardware de l'histoire? :)

    • [^] # Re: Le premier ordi OpenHardware

      Posté par . Évalué à 2.

      J'ai souvenir d'une copie de tarte à la framboise qui s'approche plus cela.

      kentoc'h mervel eget bezan saotred

      • [^] # Re: Le premier ordi OpenHardware

        Posté par . Évalué à 2.

        Il est chouette, ce truc.

        Dans le projet OpenEnergyMonitor, beaucoup utilisent un RaspberryPi avec une carte SD, et pas mal d'utilisateurs ont eu des problèmes avec la carte SD qui claquait. C'est embêtant, mais ça se remplace. Ne pourrait-il pas y avoir le même problème avec la "4GB NAND FLASH memory" ?

        Des configs limitent la casse (montage en noatime, limitation des logs) et peut-être que la distro Debian proposée avec le bouzin est bien foutue de ce côté-là.

        Du côté du Wi-Fi, j'ai bien l'impression que les clés proposées nécessitent toutes du non-free.

    • [^] # Re: Le premier ordi OpenHardware

      Posté par . Évalué à 1.

      Non,

      Il existe le Duinomite par exemple.

      • [^] # Re: Le premier ordi OpenHardware

        Posté par . Évalué à 1. Dernière modification le 09/10/14 à 20:32.

        Cela olimex utilise Eagle qui est propriétaire pour réaliser ses circuit. (Et leurs fichier ne sont pas lisible avec du libre).

        Donc on pourrait dire que c'est de l'open-hardware propriétaire! ;)

        • [^] # Re: Le premier ordi OpenHardware

          Posté par . Évalué à 4.

          Donc on pourrait dire que c'est de l'open-hardware propriétaire

          les fichiers ont un format propriétaire mais tu peux tout de même reproduire leur travail sur un logiciel libre (kicad par exemple) sans avoir à se retaper toute l'ingénierie derrière ce qui n'est pas rien.
          Bon je conviens qu'avoir directement les fichiers kicad serait le top mais faut pas trop en demander (en fait si il faut trop en demander, on est Français quand même, mais il faut aussi savoir reconnaître les bonnes initiatives).

          kentoc'h mervel eget bezan saotred

  • # TI-BASIC

    Posté par . Évalué à 5.

    Beaucoup d'entre nous avons appris la programmation sur calculatrice, et nous sommes sentis frustrés des limitations, et du langage [TI-Basic] assez pauvre.

    Ce n'est vraiment pas mon cas. Personnellement c'était AMHA surtout très simple KISS. J'ai appris avec le TI-BASIC sur TI82-STAT et j'aimais vraiment bien (pour ceux qui ne connaissent pas, on a pas de déclaration de variable, c'est plus un usage comme des registres (donc elles sont globales), on a pas de fonction utilisateur - si je ne me trompe pas- mais on a des programme que l'on peut appeler à partir d'autres programmes, comme les variables, les tableaux sont des ressources critiques - il y en a si je me souviens bien-).

    Je me souviens que ça m'avais bien fait suer d'utiliser mes premiers tableaux (pour résoudre l'algo de Bezout).

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

    • [^] # Re: TI-BASIC

      Posté par . Évalué à 3.

      Tu te souviens bien. Pour ma part, mon 1er programme "sérieux" fut un casse brique. Qu'il à fallu optimiser, bien sûr, pour qu'il soit un minimum difficile (vu que l'accès aux tableaux était pas rapide, et pire encore pour l'écran).

      Le plus fun, c'est que je l'ai codé, j'y ai joué genre 2 jours (sans compter les phases de debug, bien sûr) et après je l'ai zappé pour passer à un autre programme :D

  • # Bravo !

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

    Bien, ce n'est pas de la tarte de faire un projet comme ça.

  • # Souci d'autonomie

    Posté par . Évalué à 6.

    Cette "calculatrice" est un ordinateur. Elle va faire tourner des gros logiciels. Un truc qui me pète à la figure : l'autonomie risque d'en pâtir monstrueusement, non ?

    Ou alors il va falloir le recharger régulièrement. Mais on perd de toutes façons le super confort de mettre des piles dedans une fois par an et de les oublier le reste de l'année (sauf pour les utilisateurs de ti-89 à ce qu'il paraît).

    Ils ne donnent pas d'indication d'autonomie, c'est dommage. Sinon le projet est vraiment bien.

  • # Super projet

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

    Je trouve ce projet génial !

    Beaucoup d'entre nous avons appris la programmation sur calculatrice, et nous sommes sentis frustrés des limitations, et du langage [TI-Basic] assez pauvre

    Certes. Mais attention. Je pense qu'il est ABSOLUMENT nécessaire d'avoir un langage très simple sur ces machines. Les utilisateurs de calculatrices scientifiques ne veulent pas forcément avoir à apprendre toutes les subtilités d'un python, et encore moins d'un C++, pour réaliser des petits programmes qui les aideront à faire leurs calculs. Bref, un langage de type Basic c'est très bien.

    Mais il est effectivement intéressant de proposer d'autres langages pour ceux qui veulent aller plus loin. Ma première calculatrice scientifique a été une Casio 8500G, je me suis bien amusé avec le langage "basique", largement suffisant pour réaliser des petits programmes de calcul, mais pas suffisant pour les jeux ou autres programmes compliqués que je voulais réaliser (j'en ai bavé pour réaliser certaines choses mais d'un autre coté, ça fait fonctionner la cervelle pour trouver des contournements aux limitations du langage). Par contre, sur ma HP48, en plus du langage RPL (un espèce de "basic" évolué), il y avait une astuce pour faire de l'assembleur, et là, plus de limites ! c'était génial !

    Bref, il faut que cette calculatrice propose un langage simple pour effectuer les petits programmes les plus courants pour les calculs scientifiques, et un deuxième langage pour faire des choses complexes et évolués (python est très bien pour cela).

    À part ça, je vois sur le site une page de téléchargement de sources. Mais où est le dépôt Git (ou hg, ou svn …) qui correspond ? C'est dommage de ne pas proposer cela. Ça ne coute pas grand chose, et ça peut même rapporter (des contributeurs) :-)

    • [^] # Re: Super projet

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

      Le Basic n'est pas franchement plus facile que le Python selon moi. Qu'est-ce qui te fait dire que le Basic est plus simple ? Tu as un exemple ? Ce n'est pas parce qu'on peut faire des choses complexes en Python qu'on est obligé.

      • [^] # Re: Super projet

        Posté par . Évalué à 3.

        Le basic des calculettes est ultra simple : un programme = une fonction, affectation se fait avec <- , vraiment tu ne peux pas faire plus neuneu comme langage.

        • [^] # Re: Super projet

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

          Encore une fois, en quoi c'est plus simple que du python ? En quoi "<-" est plus simple que "=" pour l'affectation ? Pas besoin de créer de fonction en Python, on peut tout mettre en vrac et ça va s'exécuter. On ne peut pas faire plus neuneu :).

          Mais tu veux peut être dire qu'on peut faire une fonction par programme et faire des appels de fonction en appelant les programmes ? Je ne trouve pas cela plus simple que def mafonction(). Le seul hic serait l’indentation alors qu'en basic on s'en fout. Et sur calculette, ça pourrait être pénible (touche et largeur écran).

          • [^] # Re: Super projet

            Posté par . Évalué à 4. Dernière modification le 12/10/14 à 01:25.

            Si tu en es là tu peux aussi dire que le c++ est aussi simple que du basic…

            Mais ce qui gêne avec python, c'est l'indentation, le score des variables, la notation pointé, le tapage dynamique, la lourdeur de l'interpréteur, le fais de déclarer des variables,…

            Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

            • [^] # Re: Super projet

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

              • l'indentation => Je l'ai dit, effectivement sur un petit écran cela peut être un problème.
              • le score des variables => Tu veux dire le scope ? C'est comme en basic. Si tu codes en dehors d'une fonction tout est global.
              • la notation pointé => Hein ? Si tu veux faire des choses simples comme en basic ?
              • le typage dynamique => Ça dépend des basic là.
              • la lourdeur de l'interpréteur => Je vois pas la différence avec le basic.
              • le fait de déclarer des variables => Comme en basic, c'est à dire : pas obligé.

              Est-ce que tu peux donner un exemple concret montrant qu'en basic on peut faire quelque chose plus simplement qu'en Python ? Là tout ce que je vois c'est la possibilité d'avoir des variables globales entre différents programmes. C'est la seule chose.

              J'ai fait des années de Basic avant de découvrir le Python et pour moi le python permet à la fois de faire des choses simples aussi facilement mais il a l'avantage de pouvoir également pouvoir faire des choses complexes.

              • [^] # Re: Super projet

                Posté par . Évalué à 2.

                De quelle version de Basic tu parles? Si c'est du QBasic, faudrait que je remettes les mains dedans, mais je pense pouvoir donner l'exemple que tu souhaites… notamment via les fonctions qui permettent de générer du graphisme ou de la musique grâce à de simples chaînes de caractères. Et je ne parle pas de trucs "de base", il s'agit en fait, si ma mémoire ne me trompe pas, quasiment d'un mini-langage: placement de curseur, changement de couleur, déplacement vers le point X,Y, faire une ellipse, etc.

                Donc, de quelle version de Basic parles-tu?

                • [^] # Re: Super projet

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

                  Oui en basic tu as des fonctions pour faire du graphisme de base, mais tout ceci peut être ajouté au Python avec un module externe. Suffit de l'intégrer de base avec la calculette.

                  • [^] # Re: Super projet

                    Posté par . Évalué à 1.

                    Bah… dans ce cas, on peut tout faire facilement même en assembleur, hein, s'il "suffit de rajouter des modules externes" (des libs en fait… 'fin bon…).

                    • [^] # Re: Super projet

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

                      Attend mais en basic tu me parles de déplacer le curseur. Ok, suffit d'ajouter une méthode locate qui fait pareil. Tu veux dessiner sur l'écran ? Proposons des méthodes circle et line.

                      Tout cela n'a rien à voir avec la syntaxe du langage, s'il y a des manques dans la librairie de base alors on les rajoute. Certains basic ne permettent pas de déplacer le curseur où on veut par exemple (casio graph 25 de mémoire ?). D'autres l'ont rajouté.

                      (je parle de module externe car en Python, ça s'appelle un module https://docs.python.org/2/tutorial/modules.html)

                      • [^] # Re: Super projet

                        Posté par . Évalué à 1.

                        Tu parle de prendre un sous-ensemble de python et d'ajouter des bibliothèques, est-ce encore du python ? Tout ça pour pouvoir placer ton langage favori. L'intérêt est minime ça demande pas mal de travail (pour réduire la surcharge lié au rustine python, réduire le langage pour à minima cacher les objets, écrire des libs spécifiques aux calculettes,…) pour satisfaire ce qui semble être une lubie.

                        Aujourd'hui la question n'est pas de savoir pourquoi ne pas prendre python, mais pourquoi le choisir lui dans une machine où il va se sentir à l'étroit (et qui restera sur ce genre de matériel pour bénéficier d'une bonne autonomie).

                        Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

                        • [^] # Re: Super projet

                          Posté par . Évalué à 1. Dernière modification le 15/10/14 à 08:53.

                          Je ne comprends pas le débat…

                          Tout ça pour pouvoir placer ton langage favori.[…]pour satisfaire ce qui semble être une lubie.

                          Il ne s'agit pas de promouvoir un langage plutôt qu'un autre, mais de s'adapter à ce qui existe.
                          Pourquoi le basic des calculatrices était-il enseigné jusqu'à présent ? La réponse est très pragmatique: c'était alors le seul langage disponible sur les calculatrices, donc utilisable dans une classe banalisée et pas dans une salle informatique. (peu nombreuses, très utilisées, pas toujours en état, à réserver à l'avance…)

                          Python est maintenant utilisé au lycée et en prépa… et il est plus portable que ce qu'on pense !

                          mais pourquoi le choisir lui dans une machine où il va se sentir à l'étroit

                          J'ai acheté la carte pyboard qui embarque micropython sur un STM32F405 et franchement, on n'est pas aussi à l'étroit que ça…

                          réduire le langage pour à minima cacher les objets

                          Micropython en cours de portage sur ti N-spire (voir mon post en bas de page). Mais pourquoi cacher les objets ?

                          C'est justement l'aspect modulaire d'un langage (python ou autre) qui le rend universel : matériel(PC, µc), OS(Linux, macOS, win, Android et les autres, affichage(texte, graphique), usages…

                          Je trouve que l'intérêt majeur est d'apprendre un langage utilisable sur un grand nombre de plateformes, et pas seulement sur une calculatrice. On peut apprendre les bases sur la calculatrice et ensuite utiliser d'autres modules sur PC, ajouter une GUI par exemple (PyQt ou autre).

                          écrire des libs spécifiques aux calculettes

                          Peut-être qu'un basic peut fonctionner "out of the box" sur Librecalc, je ne sais pas…

                          • [^] # Re: Super projet

                            Posté par . Évalué à 1.

                            Il ne s'agit pas de promouvoir un langage plutôt qu'un autre, mais de s'adapter à ce qui existe.
                            Pourquoi le basic des calculatrices était-il enseigné jusqu'à présent ? La réponse est très pragmatique: c'était alors le seul langage disponible sur les calculatrices, donc utilisable dans une classe banalisée et pas dans une salle informatique. (peu nombreuses, très utilisées, pas toujours en état, à réserver à l'avance…)

                            Python est maintenant utilisé au lycée et en prépa… et il est plus portable que ce qu'on pense !

                            Alors tu ne verras aucun problème si je propose le C++? Après tout, le C était enseigné en terminale il y à 10 ans (en STI génie électronique, pour programmer les PIC par exemple) et il est plus simple de pondre un truc en C++ qu'en C (pas de gestion manuelle de la mémoire notamment). De plus, il est portable (moins que le C, mais bon, il ne doit pas y avoir tant de plate-formes que ça qui supportent C et python mais pas C++), ne sera jamais à l'étroit si python ne l'est pas, etc.

                            D'ailleurs, pour continuer sur ce chapitre, C++ serait plus adapté que python, pour la simple et bonne raison qu'il ne prend pas la tête à définir à la place du programmeur le coding style (je pense surtout aux indentations/nombre d'instructions par ligne ici).

                            Mais ma proposition est bien sûr humoristique: même si avec des libs dédiés on peut avoir un truc hyper simple à utiliser, ça n'en reste pas moins un langage aux possibilités complexes, trop pour les programmes de calculatrice que l'on fait via l'éditeur de texte intégré.
                            La gestion des exceptions (bien que pas obligatoire en C++), les assignations dynamiques (avec les problèmes de mémoire qui vont avec, mais idem, pas obligatoire), et les objets (héritage et méthodes virtuelles, surcharge d'opérateurs et de fonctions, comme d'hab pas obligatoires) ne sont pas des choses triviales à utiliser.
                            Un langage pour une calculatrice doit rester simple, voire simpliste, ce que les BASICs de calculatrice sont. Et ce que python, tout comme C++, n'est pas par défaut.

                            Si il faut castrer un langage pour lui faire faire une tâche qu'un autre fait mieux, quel intérêt?
                            Pourquoi, à ton avis, Basic a-t-il été utilisé dans les calculatrices? Si c'est pour le côté didactique, on aurait très bien pu utiliser le Pascal…

                            • [^] # Re: Super projet

                              Posté par . Évalué à 1.

                              Je dois être comme Python, j'ai besoin d'un interpréteur :-)

                            • [^] # Re: Super projet

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

                              Si il faut castrer un langage pour lui faire faire une tâche qu'un autre fait mieux, quel intérêt?

                              Mais pourquoi vous voulez le castrer ? Il est très bien ainsi. Je propose juste de rajouter quelques fonctions supplémentaires pour dessiner à l'écran.

                              La question initiale c'est : en quoi le basic est plus simple à utiliser que le python. Donnez des exemples concrets de choses plus simples à faire en basic. Au lieu de troller sur l'usage de l'asm ou du C++ tant qu'on y est.

                              • [^] # Re: Super projet

                                Posté par . Évalué à 4.

                                Mais pourquoi vous voulez le castrer ?

                                Parce qu'on ne veux pas d'objet, pas de fonction utilisateur (au revoir les lambdas), pas de structure de données utilisateur (donc pas de compréhension de liste), pas d'exception, pas de polymorphisme, sans déclaration de variables possible,…

                                en quoi le basic est plus simple à utiliser que le python. Donnez des exemples concrets de choses plus simples à faire en basic.

                                Le basic de calculatrice dont je parle moi est pas mal plus simple (il est même simpliste) parce que toutes les variables sont des numbers (qui représentent à la fois des entiers et des nombre à virgule flottante. C'est tout, pas de chaine, pas de booléen, pas de liste, dictionnaire ou autre, au revoir aussi une bonne partie de la bibliothèque standard,…

                                Le pas pour faire un programme sur TI82 quand on a fait des cours de maths est vraiment très petit (genre vraiment).

                                Et le basic si peu utilisé reste tout de même le langage des tableurs (qui sont en parti dans la continuité de l'utilisation des calculatrices.

                                Au final, tu parle d'avoir du python comme ça on a du python partout et c'est trop génial parce que tu connais un langage et tu fait le café expression et même le tiramisu avec. Sauf que non, tu va avoir un langage plus simple sur calculatrice et passer à autre chose va te demander d'apprendre une bonne partie du langage. Dans le sens inverse, si tu passe du python sur bureau à du python sur calculatrice tu va devoir énormément te limiter. Comme pour pythran, ce n'est plus travailler avec un langage mais avec un autre qui y ressemble (comme le C et le C++ par exemple).

                                Bref on parle :

                                • d'un langage castré
                                • qui aura du mal à tenir sur calculatrice (la N-spire c'est le très haut de gamme)
                                • qui ne sera pas celui que tu utilise tous les jours de toute manière

                                Et non je n'ai pas d'exemple pour montrer que quelque chose est plus simple avec l'un qu'avec l'autre parce que c'est surtout que l'un est plus casse gueule parce qu'il est plus sophistiqué.

                                Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

                              • [^] # Re: Super projet

                                Posté par (page perso) . Évalué à 4. Dernière modification le 16/10/14 à 15:01.

                                en quoi le basic est plus simple à utiliser que le python

                                Ok, un exemple. Je veux un programme tout con, qui demande une valeur A, et exécute 2x√3xA² et affiche le résultat (2 fois racine carré de 3, fois A au carré)

                                Voyons comment faire ça par exemple avec le langage de cette bonne vieille Casio 8500G, langage qui est encore plus primitif que le Basic (mais on arrive à faire quelques trucs avec comme un puissance 4 etc).

                                Le programe, le voici :

                                    ?→A:2x√3xA²◢
                                

                                Et… c'est tout. En python (que je ne maitrise pas beaucoup), je doute que ça prenne aussi peu de place, que ce soit aussi simple à écrire. L'utilisateur ici a juste à apprendre l'instruction "?→" pour savoir comment demander une valeur et la stocker dans une variable. Et comment afficher le résultat d'une formule: "◢". Et pour exécuter la formule, ben il a juste à la taper directement comme il le ferait sans programme, comme il a l'habitude de faire avec sa calculatrice…

                                Une condition ?

                                    ?→A:A>0⇒2x√3xA²◢"erreur"
                                

                                (si A >0, on exécute la formule sinon on affiche "erreur")
                                Bon je reconnais que c'est assez cryptique quand on est habitué aux langages moderne. Mais là encore, si on a lu une fois le manuel, ça reste très simple.

                                Comme je te sens sceptique, même exemple, mais avec un autre langage de calculatrice que je connaissais très bien : le RPN (hp48 powwa), et qui est beaucoup plus évolué mais qui reste "simple" par rapport à python par exemple (sans contrainte d'indentation et autre).

                                    << "Saisissez A" PROMPT → A
                                    '2*√3*A^2' →NUM
                                    >>
                                

                                Et avec une condition :

                                    << "Saisissez A" PROMPT → A
                                     << IF 'A>0' THEN
                                         '2*√3*A^2' →NUM
                                      ELSE
                                       "ERREUR" 0 DISP WAIT
                                      END 
                                     >>
                                    >>
                                

                                ou en "pure" RPL, sans notation algébrique

                                    << "Saisissez A" PROMPT → A
                                     << IF A 0 > THEN
                                         2 3 √ * A SQ *
                                      ELSE
                                       "ERREUR" 0 DISP WAIT
                                      END 
                                     >>
                                    >>
                                

                                L'équivalent en python, ça donne quoi ? (vraie question)

                                • [^] # Re: Super projet

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

                                  PS: oui le test n'a aucun sens, on peut utiliser la formule sur des nombres négatifs. C'est juste pour montrer un exemple de test, l'affichage d'un message…

                                • [^] # Re: Super projet

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

                                  Merci pour ta réponse, là c'est du concret !

                                  Avant je tiens à souligner qu'il y a effectivement une question de vocabulaire à préciser : qu'est-ce qu'un langage "facile" ?

                                  Dans tes exemples, je le comprends comme étant : permettant de faire des choses simples de manière rapide (en particulier en tapant peu de caractères). C'est effectivement un point important pour l'usage d'une calculatrice.

                                  J'avais en tête dans "simple" la possibilité de faire des programmes basiques mais aussi des programmes un peu plus évolués. Et pour moi, le Python a un niveau de complexité d'utilisation du même ordre que le basic pour les choses simples mais il est plus simple que le basic lorsque les choses deviennent compliquées.

                                  L'équivalent en Python 2 (je suppose un from math import * ce qui aurait du sens sur une calculatrice, je recommande de récupérer les divisions de future) :

                                  a = input("Saisissez A ")
                                  if a > 0:
                                    print a * sqrt(3) * a**2
                                  else:
                                    print "ERREUR"

                                  Au passage, input accepte des expressions puisqu'il fait un eval sur l'input. On peut donc rentrer 2 * 5 par exemple. Et soulignons que les print doivent pouvoir être supprimés (ils sont inutiles si vous lancez l'interpreteur Python, ça doit pouvoir se configurer ?).

                                  Pour moi c'est le même niveau de difficulté sur cet exemple.

                                  Enfin, tout comme il y a pleins de variantes de Basic en fonction des usages, j'imagine assez facilement des variantes de Python pour mieux coller aux besoins d'une calculatrice.

                                  • [^] # Re: Super projet

                                    Posté par . Évalué à 3.

                                    j'imagine assez facilement des variantes de Python

                                    C'est bien ce qu'on dit. Quel intérêt d'utiliser un python-like si ce n'est pas du python ? (on perd tout l'intérêt universel du langage)

                                    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

                                    • [^] # Re: Super projet

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

                                      Ça dépend de si ce Python-like permet de réutiliser du code Python standard et ne fait qu'apporter du sucre syntaxique et un ensemble de fonctions pour les I/O. Exemple : si je veux utiliser numpy, l'ajout de fonctions pour les I/O n'empêche rien.

                                      Après pour répondre à ta question : l'intérêt c'est dès que ce qu'on cherche à faire devient un peu plus complexe…

                                      • [^] # Re: Super projet

                                        Posté par . Évalué à 3.

                                        si je veux utiliser numpy, l'ajout de fonctions pour les I/O n'empêche rien.

                                        Il y a combien de calculatrices qui sont capables de gérer numpy ?

                                        Après pour répondre à ta question : l'intérêt c'est dès que ce qu'on cherche à faire devient un peu plus complexe…

                                        Je pense que c'est un cas d'usage tout à fait minime (en fait pour dire vrai je pense que ça ne concerne quasiment que les jeux vidéos).

                                        Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

                                        • [^] # Re: Super projet

                                          Posté par . Évalué à 0.

                                          Il y a combien de calculatrices qui sont capables de gérer numpy ?

                                          Librecalc !? Si c'est pour faire un clone de TI avec un Z80 ou 68k, quel est l'intérêt ?
                                          Et Octave, Maxima ? Je ne comprends pas, tout le monde trouve ça bien, mais python… non ?

                                          Je suis d'accord que le problème majeur est l'indentation. Peut-être que les prochains prototypes auront des lignes de 80 caractères où alors je trouve un VT100 d'occaz à connecter à ma TI de 1980.

                                          en lisant a**2, je n'aurais pas su que c'était la notation "puissance" si je n'avais pas eu un équivalent sous les yeux.

                                          Moi non plus, je ne connaissais pas PROMPT, DISP….

                                          Bref, je me répète mais Python est de plus en plus utilisé dans les "écoles" au sens large. J'en suis très satisfait, je ne le cache pas et je comprends certaines réserves. Mais il faut être conscient que le portage d'un langage sur une calculatrice sera toujours plus simple que de rechanger les programmes…(IF autoflagellation THEN END)

                                  • [^] # Re: Super projet

                                    Posté par (page perso) . Évalué à 3. Dernière modification le 16/10/14 à 18:15.

                                    Pour moi c'est le même niveau de difficulté sur cet exemple.

                                    Non, pour moi l'exemple que tu donnes est plus compliqué, car l'écriture de l'expression mathématique n'est pas "naturelle". Sauf si l'environnement de calcul (la "ligne de commande" de la calculatrice) est une ligne de commande python.

                                    Je m'explique : le gros avantage des langages que j'ai présenté, c'est que la manière d'écrire les formules dans les programmes, c'est exactement pareil que lorsque l'on tape la formule hors programme. Avec la 8500G, dans sa "ligne de commande", pour calculer 2x√3x284², je tape 2x√3x284². (il y a les touches √, x, ²). C'est assez naturel (pas autant qu'un vrai éditeur d'équation qui permet de taper une équation comme sur le papier, il est vrai). Et dans un programme, je tape exactement la même chose.

                                    Idem avec la HP48 en notation algébrique (en notation RPN, c'est moins naturel, mais une fois maitrisé, on calcul beaucoup plus vite ;-) RPN ROXOR).

                                    Bref, l'utilisateur n'est pas perdu, il rentre doucement dans le monde de la programmation, avec un très faible investissement.

                                    Avec une machine avec un langage uniquement python :

                                    • soit on garde un interpréteur de ligne de commande classique qui comprends directement 2x√3x284² : l'utilisation "normale" de la calculatrice reste simple et classique. Mais dés qu'il faut programmer, il faut vraiment apprendre un nouveau langage, parce que l'écriture des formules n'est pas la même. Il faut donc savoir que pour calculer une racine carré, on ne tape pas √ mais faut appeler une fonction sqrt(). Premier obstacle : apprendre ce qu'est une fonction, des arguments etc (même si ça peut être assez rapide à comprendre pour un mathématicien). Deuxième obstacle, se souvenir des équivalences notation algébrique <-> fonction python. Par exemple : en lisant a**2, je n'aurais pas su que c'était la notation "puissance" si je n'avais pas eu un équivalent sous les yeux. L'éditeur de programme pourrait faciliter les choses (on appuie sur la touche √, et ça insert un sqrt()), mais la lecture des programmes peut rester un peu compliqué et ça peut dérouter l'utilisateur les premiers temps.

                                    Bref, le temps d'apprentissage est plus long, la marche plus haute, pour un non développeur. Et tout utilisateur ne se destine pas à devenir développeur.

                                    • soit l’interpréteur de ligne de commande est un interpréteur python. Donc même syntaxe en ligne de commande et dans les programmes. Mais là, l'écriture des formules devient vite pénible et peu intuitive pour un nouvel utilisateur (c'est très loin d'être "comme sur le papier", comme sur les bouquins de classes).

                                    Bref, pour moi, Python pour remplacer le "basic" des calculatrices n'est pas une bonne solution (ou alors la calculatrice se destine uniquement aux geeks). Par contre, comme "deuxième" langage pour les développements complexes, ça peut être une bonne chose. Ça ouvre la porte à tout type de programmes.

                                    PS: autre argument en défaveur du Python comme langage principal : l'indentation. Pas seulement parce que ça oblige à indenter, mais surtout parce que les écrans de calculatrices sont petits. À mon avis, on se retrouve vite à scroller horizontalement, et là, ça devient très très pénible (pour info, l'écran de la hp48, c'est 13 colonnes avec une fonte normale; on peut avoir une fonte plus petite mais on attend peut-être 20-25 colonnes, ce qui reste insuffisant à mon avis, et ça devient vite fatiguant à lire).
                                    Sur un écran de 15 colonnes, ton programme devient :

                                    a = input("Sai
                                    if a > 0:
                                      print a * sq
                                    else:
                                      print "ERREU
                                    

                                    ça devient juste illisible (et pourtant la formule est simple). Avec des langages comme ceux que j'ai présenté, n'ayant pas d'indentation à respecter, tout peu passer à la ligne.

                                    << "Saisissez
                                    A" PROMPT → A
                                      << IF 'A>0'
                                      THEN
                                        '2*√3*A^2'
                                           →NUM
                                      ELSE
                                        "ERREUR"
                                        0 DISP
                                        WAIT
                                       END 
                                      >>
                                    >>
                                    

                                    C'est moi beau que sur un écran 80 colonnes, mais ça reste lisible sur 15 colonnes.

                                    • [^] # Re: Super projet

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

                                      Lorsque je parle d'ajout de sucre syntaxique c'est justement pour répondre à la critique que tu fais maintenant.

                                      Tu dis : « il y a les touches √, x, ² ». Oui. Donc suffit de faire en sorte que √ soit une autre syntaxe possible de sqrt(). Idem la puissance, suffit d'avoir un symbole pour ça qui s'interprète comme un **. Et les utilisateurs comprennent bien le sens de "sin(45)", je pense qu'en l'espace de 1mn ils peuvent comprendre le sens de "sqrt(45)"… Mais encore une fois, on peut ajouter du sucre pour éviter ça.

                                      Sur la remarque sur l'indentation, deux choses :
                                      - je reconnais ce problème, je l'ai dit plus haut;
                                      - lorsqu'on parle d'utiliser le Python, j'ai en tête une calculatrice dotée de plus de 15 colonnes évidemment.

                                      Sur ce dernier point, je pense que nous n'avons pas tous la même chose en tête. Je ne parle pas de mettre Python sur l'équivalent d'une CASIO GRAPH 35 ou équivalent. Je parle de mettre Python sur du matos plus puissant (vu qu'on a souligné que c'était de très vieux processeurs actuellement utilisés). Par exemple si on fait un super environnement de calculatrice pour smartphone, je préfère avoir accès à du Python que du Basic.

                                    • [^] # Re: Super projet

                                      Posté par . Évalué à 1.

                                      Après vérification https://www.youtube.com/watch?feature=player_embedded&v=bVwOYcwnSXs
                                      L'écran de Librecalc fait au moins 46 caractères, c'est déjà pas mal.

                                      J'en profite pour relayer la dernière news du site http://www.librecalc.com/?p=386 ,

                                      Une arduino fonctionnelle sur notre premier prototype […] Il est donc possible de faire du traitement du signal en temps réel, grace à une arduino.

                                      TROLL DISP vivement python,pyserial et numpy pour faire du traitement de signal avec l'Arduino TROLL END

                                      Un grand bravo aux développeurs, c'est vraiment du beau boulot !

                                    • [^] # Re: Super projet

                                      Posté par . Évalué à 1.

                                      Ce comparatif entre N-spire BASIC, Lua et Python est très instructif :
                                      http://www.cemetech.net/forum/viewtopic.php?t=10720

                                      Sans parler des performances, on se doute que Lua et Python sont loin devant le basic, on voit que le basic de TI "nouvelle génération" est lui aussi indenté.
                                      Au final, un même script occupe autant de place à l'écran dans les 3 langages.

                                      • [^] # Re: Super projet

                                        Posté par . Évalué à 2.

                                        on voit que le basic de TI "nouvelle génération" est lui aussi indenté.

                                        La question n'est pas de savoir si on peut indenter, mais si on y est obligé.

                      • [^] # Re: Super projet

                        Posté par . Évalué à 3.

                        Tiens, voila la fonction dont je parlais plus précisément.

                        Tu verras que tes fonctions circle et square sont largement à la ramasse…

                        Notes que je ne parles pas de basic, mais de Qbasic (aussi appelé QuickBasic) qui est un langage pour PC… tout comme python. Mais c'est un dérivé de Basic, que tu considères tellement moins puissant que ton langage favori. Ce qui peut être vrai sur certains points, d'ailleurs (quoique je n'ai jamais regardé ce que fait darkbasic, ou visual basic).

                        Après, si tu étends un langage, que ce soit par l'ajout de lib ou tout autre artifice, on ne parles plus du même langage. Par exemple, le langage des TI se nommait, de mémoire, TIbasic. En tout cas, ce n'était pas du basic pur et dur.
                        Si tu n'es pas capable d'admettre que ton langage favori n'est pas la panacée et que certains langages le surpassent dans certains cas, je ne peux rien pour toi.

                        • [^] # Re: Super projet

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

                          Notes que je ne parles pas de basic, mais de Qbasic (aussi appelé QuickBasic) qui est un langage pour PC… tout comme python. Mais c'est un dérivé de Basic, que tu considères tellement moins puissant que ton langage favori. Ce qui peut être vrai sur certains points, d'ailleurs (quoique je n'ai jamais regardé ce que fait darkbasic, ou visual basic).

                          Je vois de quoi tu parles, lorsque j'étais collégien je faisais du QuickBasic, voici mon ancien site web : http://quickbasic.free.fr/ (Mon nom est en bas de la page.)

                          Donc ne t'inquiète pas, je connais vaguement, même si je n'y ai pas touché depuis loooooongtemps.

                          • [^] # Re: Super projet

                            Posté par . Évalué à 2.

                            je n'y ai pas touché depuis loooooongtemps.

                            Idem, mais je me souviens de certaines fonctions bien puissantes (comme celle-ci) que je n'ai jamais vues dans d'autres langages.

                            Au passage, ton site était l'une des références, si je me souviens bien, et le revoir me rappelle les premiers sites que j'ai consultés sérieusement: qbworld et probgoards… ça date tout ça!

                            • [^] # Re: Super projet

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

                              J'ai collaboré avec Achraf le webmaster de qbworld et j'étais avec Élisée (Polyprogr@m's) l'un des initiateur de progboards avant que ça ne soit rapidement confié à Neliger.

                              Oui ça date… J'ai crée ce site il y a environ 15 ans !

  • # Commentaire supprimé

    Posté par . Évalué à -7.

    Ce commentaire a été supprimé par l'équipe de modération.

    • [^] # Re: Pauvre ? heu non

      Posté par . Évalué à 5. Dernière modification le 10/10/14 à 16:57.

      et quelques fonctions permettant de dessiner des caracteres speciaux sur la fx850

      Ouai, un pote avait fait un traceur de fonction sur 4 characteres avec CHR$ (disposé 2 par ligne)… un grand malade !

      Il existe un emulateur d'hp48 d'ailleurs pour avoir une vrai calcu scientifique.

      Et même… depuis un an, il existe la hp prime, hp distribue carrement l'emulateur avec la ROM… mais c'est pour windows et c'est pas libre.

  • # Les vraies questions !!

    Posté par . Évalué à 10.

    • Est-ce qu'on pourra brancher un câble Jack pour copier des jeux entre les calculatrices ?
    • Est-ce qu'on pourra avoir le jeu de la catapulte dessus ?
    • Est-ce qu'on pourra affiche ELLEBESE si on la met à l'envers ?

    :P

    • [^] # Re: Les vraies questions !!

      Posté par (page perso) . Évalué à 4. Dernière modification le 10/10/14 à 10:51.

      Non il faut au minimum pouvoir faire communiquer les calculatrices sans fils. Le Tetris en infrarouge sur hp48 est un très très bon souvenir :D

      Mornik chanceux d'avoir possédé une hp48 et une hp49 :p

  • # Le plus intéressant dans ce projet ....

    Posté par . Évalué à 6.

    Ce n'est pas tant le produit final, mais surtout la description qui est faite de l'avancement de celui-ci, des difficultés rencontrées et leur contournement.

  • # très beau projet à imposer dans le cycle éducatif

    Posté par . Évalué à 9.

    bravo pour ce projet qui peut apporter beaucoup à la communauté libre et
    éducative : reprendre les bases de ce qu'est un ordinateur, matériel et logiciel.

    pourquoi cette calculatrice n'est-elle pas fabriquée par les élèves en début de seconde ? plutôt que de nourrir la société de consommation en achetant des modèles tout fait ? c'est inter-disciplines : mathématique, informatique, électronique, physique, travaux manuels. c'est relativement ludique. Et ça met tous les élèves à égalité lors des épreuves.

    j'ai été l'heureux détenteur d'un hp48gx qui est largement bidouillable. mais j'aurai encore plus aimé construire mon modèle.

  • # Je suis intéressé !

    Posté par . Évalué à 3.

    Un bien beau projet… après avoir répondu au questionnaire en ligne, je peux dire "je suis intéressé !"
    Je fais le même constat sur les calculatrices actuelles : beaucoup trop d'énergie et de temps passé à apprendre un système et un langage propriétaires. Alors retrouver des logiciels multiplateformes, comme maxima et octave, prend tout son sens.

    Pour avoir remplacé ma calculatrice HP49 par une HP50 uniquement à cause du clavier, je pense également que le "touché" est primordial. J'ai testé des émulateurs (HP, TI…) sur smartphone et PC, c'est pratique pour faire un ou deux calculs, vidéoprojeter, mais on regrette vite un vrai clavier.

    Quant à imposer Librecalc "dans le cycle éducatif", je suis sceptique même s'il faut bien dire que les lycéens, étudiants et enseignants sont le coeur de cible d'un tel projet. Il faut à la fois se démarquer des systèmes propriétaires, proposer des fonctions uniques, tout en respectant les recommandations du ministère (être RIP - reconnu d'intérêt pédagogique)
    Quelques propositions en vrac (arrêtez-moi si je m'emballe !) :

    Pour les matheux :
    -Giac, la version en ligne de commande du logiciel de calcul formel XCas/QCas. RIP et utilisé en lycée. Bernard Parisse est l'auteur principal du CAS des calculatrices HP49, dont une partie au moins du code est diffusé en LGPL.
    -Python, RIP et utilisé en maths, ISN, SI, prépa et CPGE… Notons le portage récent de Micro Python sur TI-nspire.
    -un mode RPN (proposition très personnelle…)

    Pour les physiciens :
    -Au minimum une liaison série pour l'acquisition de données, d'un Arduino par exemple, comme alternative à DataQuest et aux capteurs Vernier
    -Python (python-serial, numpy/scipy), pour gérer l'acquisition et traiter les données.
    -Python… pour des calculs d'incertitudes, de plus en plus présents dans les programmes. (J'utilise ipython, l'extension physics et uncertainties pour cela)

    En ce qui concerne la connectivité sans-fil, on peut très bien imaginer un module enfichable qu'il suffirait de retirer pour les épreuves du bac.

    Etant totalement incapable de participer à un tel projet, je suis d'autant plus admiratif. Bravo !

    • [^] # Re: Je suis intéressé !

      Posté par . Évalué à 2.

      Et pour l'autonomie, les dernières calculatrices ont le même "problème" : La TI N-spire CX CAS, batterie rechargeable, tiendrait une quinzaine d'heures intensives selon certains. Les élèves n'oublient jamais de recharger leur téléphone portable, ils penseront à leur calculatrice…

    • [^] # Re: Je suis intéressé !

      Posté par . Évalué à 3.

      arrêtez-moi si je m'emballe !

      J'ai essayé, mais tu avais déjà fini ton message :p

Suivre le flux des commentaires

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