Page 1 of 4

Les possibilités de programmation TI vs Casio

Unread postPosted: 18 Sep 2012, 22:37
by tobiasBora
Bonjour,

Voilà : je suis habitué à la programmation sur calculatrices Casio, (je possède personnellement une casio Graph 85), mais ma calculatrice à deux problèmes :
- Elle ne fait pas de calcul formel(du moins pas très poussé), et étant en prépa MP, bien que facultative, elle peux être utile dans certaines matières (et étant donné que j'envisage des études longues dans la recherche, j'en aurai besoin un jour où l'autre je pense)
- Elle est très peu compatible avec Linux (un petit programme permet d'accéder à des fichiers binaires d'une mémoire secondaire mais c'est très restreint).

Comme les TI semblent mieux supportées sous linux (j'ai notamment entendu parler de tilp, si vous en connaissez d'autres, dites le moi), j'envisage peux être de prendre la TI nspire CAS (mais il faut que je me décide vite pour un éventuel achat groupé).

Cependant, les premières impressions que j'ai eu de cette calculatrice sont assez médiocres (comme toutes les TI que j'ai touché jusqu'à présent). En effet, programmer sur TI semble être un vrai calvaire (et je ne vous cache pas que programmer sur les calculatrice... j'adore). Je voulais donc vous demander plusieurs questions :

- Premièrement, une question relative aux calculs, question basique... mais qui semble insoluble : comment modifier une ligne de calcul plus haut dans l'historique ? J'ai essayé de remonter avec les flèches, de me déplacer dans la formule avec le curseur, mais dés que j'appuie sur un chiffre, rien ne se passe.

De même, est-ce possible d’appeler une ligne écrite plus haut sans devoir la copier/coller. Par exemple, imaginons ceci :
Code: Select all
> x^5-9x^4+e^x...
=> résultat
> 5+9
=> 14
> Sur quoi appuyer pour réecrire la formule x^5... à cet endroit pour la modifier ?

- Ensuite, pensez vous qu'acheter cette calculatrice est un bon investissement sur le long terme ? Car si il me faut en retrouver une dans deux ans pour les études supérieures, ce n'est pas la peine, je ne veux pas changer de calculatrice tous les ans.

- Je voulais également savoir comment... lancer un programme ! En effet, la seule chose que j'ai réussi à faire est de coder mon programme en multi fenêtré, de changer d'onglet (je ne sais pas comment aller dans la fênetre de gauche), et de taper le nom du programme. Et celà à chaque fois que je veux lancer mon programme... Et c'est lourd d'écrire à chaque fois une dizaine de lettres pour lancer le programme... Sous Casio, j'avais juste à appuyer sur exit pour quitter le programme en cours, puis EXE pour lancer le programme.


- Ensuite, plus axé sur la programmation, quels sont les différences entre le Basic TI, le lua, et l'assembleur ? Quelle est la spécificité de chaque langage ? Peut on programmer avec ces trois languages sur la TI, ou faut il programmer depuis l'ordinateur (ce qui m'interesse peut pour le moment) ? Et l'assembleur semble donner de grande possibilités mais n'est pas disponible partout ? Je n'ai pas tout compris...

- Ensuite, est-ce possible (si oui comment, et dans quel language), de faire ceci :
-- Demander à l'utilisateur de taper un nombre/une chaine
-- Détecter sur quelle touche appuie l'utilisateur pendant l'execution du programme (l'équivalent d'un GetKey sous Casio pour les connaisseurs). Ainsi, cela peut permettre de déplacer un personnage via les touches directionnelles, de modifier l'affichage d'un graphique en temps réel...
-- Afficher du texte à un emplacement précis sans meubler avec des espaces (par exemple, afficher un "X" 3e ligne, 2e colonne) (par exemple dans l'optique de faire un jeux avec un personnage noté # qui avance dans un labyrhinte etc...)
-- Dessiner des formes géométriques sur un écran blanc (cercles, fonctions, segments...) par exemple pour faire un jeux de cibles
-- Afficher un menu du type :
Code: Select all
#################
## Que faire :
1-> continuer
2-> arrêter
3-> modifier
:
############

et récupérer la sortie (si en plus on peut se déplacer dans le menu avec les flèches ou les raccourcis ça serait bien).

- Est-ce possible de créer des addons (en C par exemple) qui apparaissent quand on va dans le menu de la calculatrice ?

- Enfin, je voulais savoir si j'avais la possibilité de stocker mes programmes dans plusieurs mémoires (une de stockage (SD...) et une courante), ce qui est très utile lorsque l'on développe de gros programme de plusieurs fichiers : le programme en cours est dans la mémoire principale, et dés qu'on ne veux plus l'utiliser, on le met dans une autre mémoire. NB : Je considère l'utilisation de dossiers comme équivalente à l'utilisation d'une mémoire tiere, mais je ne sais faire ni l'un ni l'autre.


Je vous remercie d'avance pour vos réponses,

Tobias.

Re: Les possibilités de programmation TI vs Casio

Unread postPosted: 18 Sep 2012, 23:54
by Levak
Bonsoir =)
tobiasBora wrote:Bonjour,
Comme les TI semblent mieux supportées sous linux (j'ai notamment entendu parler de tilp, si vous en connaissez d'autres, dites le moi), j'envisage peux être de prendre la TI nspire CAS (mais il faut que je me décide vite pour un éventuel achat groupé).

Elles sont supportées, mais pas par TI, saches le. TiLP est un programme communautaire d'une grande expérience et étant compatible avec toutes les calculatrices TI et étant multi-plateforme. Les logiciels de TI sont """"installables""""" sous linux via wine, mais les licences et les drivers causent problème.
- Premièrement, une question relative aux calculs, question basique... mais qui semble insoluble : comment modifier une ligne de calcul plus haut dans l'historique ? J'ai essayé de remonter avec les flèches, de me déplacer dans la formule avec le curseur, mais dés que j'appuie sur un chiffre, rien ne se passe.

De même, est-ce possible d’appeler une ligne écrite plus haut sans devoir la copier/coller. Par exemple, imaginons ceci :
Code: Select all
> x^5-9x^4+e^x...
=> résultat
> 5+9
=> 14
> Sur quoi appuyer pour réecrire la formule x^5... à cet endroit pour la modifier ?


Non, et tout simplement "Enter". En fait, l'historique est là pour piquer dedans, soit avec Enter, soit avec Ctrl+C/Ctrl+V. Tu l'as remarqué, on ne peut pas l'éditer. La touche que tu cherches est donc Enter.
- Ensuite, pensez vous qu'acheter cette calculatrice est un bon investissement sur le long terme ? Car si il me faut en retrouver une dans deux ans pour les études supérieures, ce n'est pas la peine, je ne veux pas changer de calculatrice tous les ans.

A mon avis, tu ne changeras pas de calculatrice, pas forcément parce que tu vas l'aimer, mais plus parce que 1) tu va t'y habituer et 2) débourser 100€ tous les ans va te gonfler profondément. La gamme TI-Nspire a beaucoup de qualités et points que tu ne trouveras pas sur d'autres calculatrices (et pas seulement chez TI), mais a énormément de défaut. Pour résumer la situation, la gamme TI-Nspire n'a pas été conçue pour être utilisée par un élève seul, mais par des élèves encadrés par un professeur. De ce fait, la TI-Nspire n'est pas une calculatrice-jouet ou une calculatrice-dev mais une calculatrice-support-de-cours. Après, avec le temps, TI a essayé de faire le minimum vital pour regagner la tranche de clients qu'il avait perdu, avec l'arrivée du Lua et certaines commandes en Basic, mais toujours dans l'optique que cela serve aux professeurs.
J'ai déjà, dans d'autres sujets que je ne saurais retrouver, expliqué et débattu sur ce point de vue borné qu'a TI avec la gamme Nspire.

- Je voulais également savoir comment... lancer un programme !

Ctrl+I, 1 (calcul), Ctrl+L (pour avoir le nom du programme, ou , tu le tapes), parenthèse ouvrante, les arguments (rien s'il n'y a rien) et parenthèse fermante, puis Enter
En effet, la seule chose que j'ai réussi à faire est de coder mon programme en multi fenêtré, de changer d'onglet (je ne sais pas comment aller dans la fênetre de gauche)

Ctrl+Tab.
Ctrl+6 pour dégrouper, Ctrl+4 pour grouper, Ctrl+Up pour accéder à la liste, Ctrl+Down pour descendre, etc ...

, et de taper le nom du programme. Et celà à chaque fois que je veux lancer mon programme... Et c'est lourd d'écrire à chaque fois une dizaine de lettres pour lancer le programme...

Il suffit d'appuyer sur Enter pur exécuter la dernière ligne exécutée. Ctrl+L ou Var est là pour t'aider aussi.

Sous Casio, j'avais juste à appuyer sur exit pour quitter le programme en cours, puis EXE pour lancer le programme.

Sauf que sur casio, tu n'as pas de système par classeurs, qui sont conçus pour réaliser des activités en classe, un peu comme un powerpoint sur calculatrice si tu veux. L'élève avance à son rythme sur l'activité en avançant dans la pagination. Comme déjà dit, c'est pas une simple calculatrice. C'est beaucoup plus que ça, avec tous les défauts du monde qui interviennent.
C'est un peu comme si tu passais d'une deux-chevaux à un Airbus. Dans l'airbus, tu as beaucoup plus de choses à connaître pour faire démarrer l'engin que la deux-chevaux et l'airbus est donc beaucoup plus puissant. Seulement, l'airbus a beaucoup de défauts à cause de ses qualités. Rajouté à cela, TI, qui n'écoute que les professeurs et pas ses clients particuliers (mais ça, tu as du le comprendre).

- Ensuite, plus axé sur la programmation, quels sont les différences entre le Basic TI, le lua, et l'assembleur ? Quelle est la spécificité de chaque langage ? Peut on programmer avec ces trois languages sur la TI, ou faut il programmer depuis l'ordinateur (ce qui m'interesse peut pour le moment) ? Et l'assembleur semble donner de grande possibilités mais n'est pas disponible partout ? Je n'ai pas tout compris...

Comme dit, tu as le Nspire-Basic (ne l'appelons pas le TI-Basic car cela porte à confusion avec celui des z80 et 68k qui sont beaucoup plus puissants), le Lua et le langage natif compilé ou assemblé (compris donc le C et l'ASM ARM).
Les différences sont simples : tu passes d'un langage interprété codé par TI, à un langage interprété libre implémenté par TI sur nspire, à un langage natif absolument déprécié de TI. Je pense que le mot "déprécié" n'est même pas assez puissant pour décrire la haine que les dirigeants de TI ont envers cet accès à l'assembleur sur leur machine dédiée à l'éducation. Car là est tout le problème, TI conçois un outils pour le professeur pour qu'il "maîtrise" ses élèves, et voilà que la communauté d'utilisateur accède à l'assembleur et donc change potentiellement le comportement, l'environnement et l'apparence de celle-ci, rendant le professeur incapable de contrôler la situation.
Ca, c'est la version TI des choses. De l'autre côté, on a des milliers voir des centaines de milliers d'étudiants qui ont acheté la calculatrice par choix (contrairement en classes pilotes - aux US majoritairement - où le professeur demande d'acheter cette calculatrice précisément) qui se retrouvent avec un objet, clairement, où ils ne peuvent pas faire ce qu'ils veulent, alors qu'il l'ont acheté.

C'est là qu'est né, dans ces moments de tourmente et d'effroi, Ndless, un jailbreak pour TI-Nspire, qui donne accès, grâce à des failles laissées par TI, donc basées sur chaque versions d'OS, à la programmation en langage natif, ce langage où lorsqu'on demande une instruction, il ne se passe pas 100ms, ce langage où, lorsqu'on désire dessiner des pixels, on ne doive pas passer par des nuages de points dans l'application statistique réduisant au point mort la vitesse du programme que l'on développe en Nspire-Basic.

Ndless existe en plusieurs versions, correspondant aux versions d'OS des Nspire. Ndless 1.7 s'installe sur l'OS 1.7, Ndless 2.0 s'installe sur l'OS 2.0 etc.
La dernière version de Ndless est 3.1. Le dernier OS de TI est 3.2. Si tu ne vois pas le problème, dit le =)

Suite à l'arrivée il y a quelques années de Ndless, les professeurs ont soit demandé un support officiel, soit Ndless a remué les cerveaux de TI, car TI a rendu à partir de l'OS 3.0 - non officiellement - la programmation via le Lua possible.

Ce que ça change ?
On passe d'une programmation séquentielle avec un manque sérieux, j'insiste, un manque sérieux, d'instructions, à un langage évènementiel (mieux pour gérer le clavier/environnement), script (on garde la simplicité du typage fable) et absolument puissant graphiquement (je compare essentiellement au Nspire-Basic. Inutile de préciser que l'assembleur/C tourne 1000x plus rapidement que le Lua). L'OS 3.2 apporte au logiciel PC/Mac un SDK Lua avec la doc officielle -- nous avions, en 1 an fait le boulot de TI plus vite qu'eux avec notamment la publication d'outils pour réaliser les scripts Lua, des colorations syntaxiques, etc .)

Revenons à nos octets.
* Le Nspire-Basic est officiellement programmable directement sur calculatrice.
* Le Lua ne l'est pas officiellement, mais l'est par l'intermédiaire d'un programme Lua, nommé oclua. C'est, je trouve, pas fameux, de programmer en Lua sur Nspire d'un point de vue environnement. Il faudrait que LuaCS soit terminé ou repris par quelqu'un d'autre pour vraiment parler de possibilités de coding oncalc.
* L'assembleur/C, est, autant le dire tout de suite, l'épine dans le pied de TI depuis que Ndless existe. C'est simple, depuis que Ndless existe, on a accès à la machine, mais aussi à comment ils ont codé la Nspire (je ne parle pas de code source bien entendu) et que l'on peut rendre leur produit meilleur, mais aussi parfois plus instable. Impossible de coder oncalc (pour le moment ?). Il faut également installer un environnement de développement (qui s'est récemment réduit à un simple copier/coller grâce au travail extraordinaire de l'auteur de Ndless).

Programmer sur calculatrice était également ma passion. J'ai peut être tiré les trais trop fort dans mon discours, mais il ne m'a pas été difficile d'évoluer vers la programmation native, en C. C'est d'ailleurs une bonne passerelle pour commencer à programmer en C pour PC.
Je préconiserais tout de même un passage vers le Lua, vu que Ndless n'a pas d'avenir certain (non maintenu par TI et déprécié par ce dernier).

- Ensuite, est-ce possible (si oui comment, et dans quel language), de faire ceci :

Ah ah, ça va être vite réglé, regardons ...
-- Demander à l'utilisateur de taper un nombre/une chaine

* En Nspire-Basic: Request, RequestStr
* En Lua : tu ponds un code de 50 lignes parce qu'il faut repartir from scratch, et c'est bon.
* En C : cf, Lua WAIT, non, car comme c'est du natif, on a accès à tout ce qu'on veut \o/ (pour ça que je disais que le C avait beaucoup de potentiel, ce que TI ne comprend pas visibilement). En C, on peut accéder directement aux popups du Nspire-Basic avec ce qu'on appèle des SYSCALLs. Typiquement, là, le Lua est en retard sur le point où il faille recoder soit même les interfaces utilisateur.

-- Détecter sur quelle touche appuie l'utilisateur pendant l'execution du programme (l'équivalent d'un GetKey sous Casio pour les connaisseurs). Ainsi, cela peut permettre de déplacer un personnage via les touches directionnelles,

* En Nspire-Basic : non, non, et non. nan mais c'est pas que je suis méchant, non, on ne peut pas.
* En Lua : moarf, facile, tu recodes tout via l'évènement on.charIn ou on.arrowKey
* En C : moarf, facile, tu recodes la boucle évènementielle et cf Lua.

de modifier l'affichage d'un graphique en temps réel...

* En Nspire-Basic : AAAAAAH, la, non, pardon, LA force du Nspire-Basic, les maths. Ca, je pourrais te le faire en chinois, TI a dû déja le traduire.
* En Lua, via math.eval, tu accèdes au Nspire-Basic, donc, oui
* En C : moarf, tu recodes la matrix

-- Afficher du texte à un emplacement précis sans meubler avec des espaces (par exemple, afficher un "X" 3e ligne, 2e colonne) (par exemple dans l'optique de faire un jeux avec un personnage noté # qui avance dans un labyrhinte etc...)

* En Nspire-Basic : Où sont les maths dans ta question ? Non, clairement, rien de graphique en Nspire-Basic
* En Lua : moarf, facile, gc:drawString(str, x, y)
* En C : mouais, ... recoder chaque caractères, allez, zoo !

-- Dessiner des formes géométriques sur un écran blanc (cercles, fonctions, segments...) par exemple pour faire un jeux de cibles

* En Nspire-Basic : Il est marrant lui
* En Lua : moarf, facile, gc:drawPolyLine (le plus général)
* En C : mouais, tu recodes tout à la mano. (quoique, j'ai réussi à utiliser les syscalls graphiques du Lua, donc bon ..)

-- Afficher un menu du type :
Code: Select all
#################
## Que faire :
1-> continuer
2-> arrêter
3-> modifier
:
############

et récupérer la sortie (si en plus on peut se déplacer dans le menu avec les flèches ou les raccourcis ça serait bien).

* En Nspire-Basic : Pourquoi vous me regardez comme ça ?
* En Lua : moarf, facile, tu recodes ton interface toi même
* En C : moarf, facile, tu cf Lua et tu répètes pas ce que tu viens de dire :D

- Est-ce possible de créer des addons (en C par exemple) qui apparaissent quand on va dans le menu de la calculatrice ?

Non \o/ Mais c'est en théorie possible, suffit de farmer pendant 3 mois 2 jours 1 heure le bin de l'OS.
En C ou ASM, tu accèdes à l'OS en mémoire, donc tu peux le modifier dynamiquement.

- Enfin, je voulais savoir si j'avais la possibilité de stocker mes programmes dans plusieurs mémoires (une de stockage (SD...) et une courante), ce qui est très utile lorsque l'on développe de gros programme de plusieurs fichiers : le programme en cours est dans la mémoire principale, et dés qu'on ne veux plus l'utiliser, on le met dans une autre mémoire. NB : Je considère l'utilisation de dossiers comme équivalente à l'utilisation d'une mémoire tiere, mais je ne sais faire ni l'un ni l'autre.

La Nspire a (en tout cas la CX) .... 100Mo de mémoire. Pour un classeur contenant un programme Nspire-Basic, __vraiment__ complexe (Make3D que j'avais fait il y a 4 ans) tu en as pour 30Ko à tout péter. En Lua, sans images, un programme complexe doit aller aussi autour de 20Ko. En C, la grosse blague, 10Ko c'est que tu as inclus en static toute la libc ou la SDL :D

Tu n'as, vraiment, pas besoin de mémoire externe. Ensuite, comme TI s'est dit "moarf ça sert à rien" et bien ils ne l'ont pas fait, même si ça figure dans le diags qu'il y a un supposé port pour carte SD.



Bref.
J'ai été, je te l'avoue, le plus méchant possible pour que tu te dises "ça, c'est le pire à venir". C'est gros, mais c'est surmontable, tu peux faire avec, d'une manière générale, tout le monde ici a fait avec, et tu ne vas pas mourir de haine (enfin, si, un peu, au début, mais après tu revis, c'est pas douloureux).
Comme déjà dit, la Nspire a un but complètement différent de ce que l'on peut en penser en France. C'est un outil avant tout éducatif.
Pour cela, il faudra faire pleins de compromis, mais également déouvrir une toute autre manière de penser qui peut (et ça a été mon cas) se révéler absolument magique. C'est pour cela, que beaucoup ont continué sur Nspire, non pas par amour, mais par espoir de voir la plateforme s'ouvrir.
TI n'a toujours pas ouvert sa plateforme, alors la communauté la fait, et là, c'est une véritable libération. C'est comme passer du moment où on te dit "tu dois utiliser cet ordinateur SANS RIEN CHANGER" au moment où on te dis "l'ordinateur est complètement à toi, fais en ce que tu veux, met linux si tu veux, je m'en fous". Ce même sentiment s'est produit lors de l'arrivée de Ndless. A chaque mise à jour de l'OS Nspire, c'est le sentiment inverse qui se produit, on passe de la liberté à "je reprends le contrôle de l'ordinateur, j'efface tout ce que tu as changé, tu n'as plus le droit de rien modifier".

J'ai également, et volontairement, évité de parler des points positifs en détail, car je trouve que c'est plus facile de les découvrir soit même (ou en lisant mes anciens posts que j'ai la flemme de recopier :D).
Je troue que, depuis l'arrivée officielle du Lua, la TI a beaucoup moins de remords à se faire, car laissant tout de même la possibilité aux utilisateurs "normaux" de programmer des applications graphiques. C'est pourquoi, certains admin, dont moi, nous sommes rapproché de TI pour servir de porte-parole de la communauté d'utilisateurs (car nous sommes également des consommateurs et programmeurs !) afin de rendre le Lua des versions d'OS Nspire plus évolué, répondant aux questions et besoins, remarques et soucis que les programmeurs de la communauté disent et veulent voir apparaître dans un futur proche etc ..

Egalement, un point en vrac : Nous sommes, pour un combat que tu as du comprendre avec ces quelques paragraphes comme étant gigantesque, nous sommes peu. Peu à combattre, peu à influencer, peu à aider, peu à contribuer, beaucoup trop à utiliser. La communauté d'utilisateur Nspire est en effet composée à 98% de lycéens. Les 2% qui restent ? ceux qui étaient lycéens et qui ont gardé leur Nspire, ou ceux qui se sont dit "tient, pourquoi pas". Le problème ? Ce sont ces mêmes 2% + 5 autres % qui contribuent sur Nspire.
Nous sommes à peine 10% à contribuer pour les 90% restant qui passent leur BAC , ET CAY FINI. Nous sommes donc peu à aider et contribuer pour Ndless pour qu'il soit disponible pour chaque version d'OS, nous sommes peu pour réaliser de bons programmes, nous sommes peu pour influencer TI sur leurs décisions (comparé aux professeurs ciblés), mais nous sommes énormément à utiliser la Nspire et demander pourquoi "x" affiche "Variable non définie" parce qu'on a acheté la version non CAS.

TL;DR : achètes la TI-Nspire CX CAS et downgrade en 3.1, et réfléchis pas.

Re: Les possibilités de programmation TI vs Casio

Unread postPosted: 19 Sep 2012, 00:04
by Adriweb
"moarf" excellent post :D
A newser pour les futures rentrées ? :P

Re: Les possibilités de programmation TI vs Casio

Unread postPosted: 19 Sep 2012, 06:27
by Lionel Debroux
Excellent post, en effet :)

vu que Ndless n'a pas d'avenir certain (non maintenu par TI et déprécié par ce dernier).

Il a un avenir dans le sens où l'histoire de l'informatique nous montre qu'il est toujours possible, tôt ou tard, d'ouvrir une plate-forme fermée, par exploits hardware ou software.
Mais le problème, effectivement, comme tu le fais remarquer dans un autre paragraphe, c'est que sauf rares exceptions, les bidouilleurs n'ont rien à foutre des Nspire. Et ça se comprend, car l'évolution du matériel, l'évolution de la philosophie du fabricant et aussi la baisse continue du niveau de l'éducation et de l'incitation à produire plutôt que consommer ont fait perdre aux calculatrices le rôle de "première plate-forme de programmation" qu'elles avaient il y a plus de onze ans, quand j'ai commencé.

En 2012, il y a beaucoup mieux que les calculatrices, pour la très petite minorité qui souhaite apprendre à programmer et faire de la technique dans sa vie, plus utile au genre humain mais moins rémunératrice à titre individuel que le marketing et la finance (auxquels la technique est pourtant indispensable). Il y a de puissantes plate-formes d'expérimentation et de développement tournant des Linux bien élevés:
* des plate-formes comme le Raspberry Pi sont ouvertes, et nettement plus puissantes, pour quatre à six fois moins cher (suivant le modèle);
* des plate-formes comme l'Ordroid X sont encore bien plus puissantes que les Raspberry Pi (processeur ARM de dernière génération, quad core de surcroît, avec fréquence d'horloge brute presque un ordre de grandeur plus élevée que l'unique coeur des Nspire) pour pas forcément plus cher qu'une Nspire neuve (même en y ajoutant des GB de stockage) !

Les fabricants de calculatrices, tous autant qu'ils sont, font des marges importantes en vendant de la technologie lourdement dépassée à des prix élevés pour le consommateur (aggravés par tous les intermédiaires qui ajoutent leur propre marge dessus). En grande série, une Nspire de dernière génération ne doit pas dépasser 30-40$ (ratio standard en électronique: le consommateur final paie les produits quatre à cinq fois leur coût de production).
Je ne comprends pas toujours XKCD, mais https://xkcd.com/768/ est un résumé tellement juste...

Re: Les possibilités de programmation TI vs Casio

Unread postPosted: 19 Sep 2012, 20:42
by tobiasBora
Premièrement, merci beaucoup pour vos réponse, et merci particulièrement à Levak pour ta réponse très complète !

Levak wrote:Bonsoir =)
tobiasBora wrote:Bonjour,
Comme les TI semblent mieux supportées sous linux[...]

Elles sont supportées, mais pas par TI, saches le. TiLP est un programme communautaire d'une grande expérience et étant compatible avec toutes les calculatrices TI et étant multi-plateforme. Les logiciels de TI sont """"installables""""" sous linux via wine, mais les licences et les drivers causent problème.

On va dire que je ne considère pas vraiment l'utilisation de wine comme une alternative fiable. Outre les nombreux bugs (quand en plus il y a des transferts via cable, je crains le pire), l'utiliser pour lancer les programmes TI ne me plait guère pour des raisons de principe : je boycott les logiciels non pensés pour linux dans la limite du raisonnable. Des logiciels natifs sont donc largement préférables... (même si ils sont développés par des organismes non reliés à TI... il ne faut pas rêver non plus !)
Levak wrote:
tobiasBora wrote:- Premièrement, une question relative aux calculs, question basique... mais qui semble insoluble : comment modifier une ligne de calcul plus haut dans l'historique ? J'ai essayé de remonter avec les flèches, de me déplacer dans la formule avec le curseur, mais dés que j'appuie sur un chiffre, rien ne se passe.
[...]
[/code]

Non

Ce n'est pas possible ??? Mais ça doit être affreux ! C'est la fonction que j'utilise le plus sur ma bonne vielle casio ! Alors comment faites vous lorsque vous avez un calcul du type :
Code: Select all
> 1/3->X
> X+9/6->Y
> X+Y/2->Z
> X+Y+Z
> X*Y*Z
> 2X+2Y+2Z

Et que vous voulez regarder les trois derniers résultats en fonction des valeurs déclarées plus hautes ? Vous devez retaper (ou alller chercher dans l'historique) les 5 formules les unes à la suites des autres pour chaque changement de variables ? C'est hyper long et pas pratique du tout !Il n'y a même pas une solution de contournement, un plugin à installer, un patch ou je ne sais quoi ?


Levak wrote:De ce fait, la TI-Nspire n'est pas une calculatrice-jouet ou une calculatrice-dev mais une calculatrice-support-de-cours.

Quelles sont les calculatrices que l'on pourrait considérer comme calculatrice-dev ?

Quel dommage que le nspire basic ne soit pas plus puissant...

C'est là qu'est né, dans ces moments de tourmente et d'effroi, Ndless, un jailbreak pour TI-Nspire, [...]

Ndless existe en plusieurs versions, correspondant aux versions d'OS des Nspire. Ndless 1.7 s'installe sur l'OS 1.7, Ndless 2.0 s'installe sur l'OS 2.0 etc.
La dernière version de Ndless est 3.1. Le dernier OS de TI est 3.2. Si tu ne vois pas le problème, dit le =)

Et ils prévoient une version pour la 3.2 ou cette version semble-t'elle avoir comblé toutes les failles ? Est-ce que les fonctionnalités de la 3.2 changent de la 3.1 ?
la programmation via le Lua possible.

Ce que ça change ?
On passe d'une programmation séquentielle avec un manque sérieux, j'insiste, un manque sérieux, d'instructions, à un langage évènementiel (mieux pour gérer le clavier/environnement), script (on garde la simplicité du typage fable) et absolument puissant graphiquement (je compare essentiellement au Nspire-Basic. Inutile de préciser que l'assembleur/C tourne 1000x plus rapidement que le Lua). L'OS 3.2 apporte au logiciel PC/Mac un SDK Lua avec la doc officielle -- nous avions, en 1 an fait le boulot de TI plus vite qu'eux avec notamment la publication d'outils pour réaliser les scripts Lua, des colorations syntaxiques, etc .)

Et est-ce que l'on peut programmer et envoyer nos programmes sur TI via linux ? Et programmer en lua oncalc n'est pas possible (je veux dire par la que certaines fonctions sont buggés, que l'éditeur ferme toutes les 5 secondes...) ou est-ce juste pas très agréable (pas de coloration syntaxique etc...) ? Car programmer en Basic sur casio n'est pas forcément très agréable visuellement (grosses lettres etc...), mais largement possible (ce n'est pas pour rien que j'ai passé des heures à programmer sous ma couette !). Et la programmation sur PC, si elle est parfois sympa, n'est parfois pas suffisante. Qu'est-ce que c'est pratique ces calculatrices qui tiennent dans une poche !

Et quand tu dis que le TI basic et le lua sont très lents, c'est sur quel ordre de grandeur ? Car quand on a touché au basic casio, lent change de définition !!! (c'est d'ailleurs très sympa de coder sur un langage très lent, ça oblige à tout optimiser, et j'ai ainsi beaucoup progressé en optimisation du code)

La Nspire a (en tout cas la CX) .... 100Mo de mémoire. Pour un classeur contenant un programme Nspire-Basic, __vraiment__ complexe (Make3D que j'avais fait il y a 4 ans) tu en as pour 30Ko à tout péter. En Lua, sans images, un programme complexe doit aller aussi autour de 20Ko. En C, la grosse blague, 10Ko c'est que tu as inclus en static toute la libc ou la SDL :D

Tu n'as, vraiment, pas besoin de mémoire externe. Ensuite, comme TI s'est dit "moarf ça sert à rien" et bien ils ne l'ont pas fait, même si ça figure dans le diags qu'il y a un supposé port pour carte SD.

Parfait ! Mais par contre, pour classer les fichiers dans la mémoire, on peut utiliser des dossiers sans problème ?

C'est pour cela, que beaucoup ont continué sur Nspire, non pas par amour, mais par espoir de voir la plateforme s'ouvrir.
TI n'a toujours pas ouvert sa plateforme, alors la communauté la fait, et là, c'est une véritable libération. C'est comme passer du moment où on te dit "tu dois utiliser cet ordinateur SANS RIEN CHANGER" au moment où on te dis "l'ordinateur est complètement à toi, fais en ce que tu veux, met linux si tu veux, je m'en fous". Ce même sentiment s'est produit lors de l'arrivée de Ndless. A chaque mise à jour de l'OS Nspire, c'est le sentiment inverse qui se produit, on passe de la liberté à "je reprends le contrôle de l'ordinateur, j'efface tout ce que tu as changé, tu n'as plus le droit de rien modifier".

Mais Ndless n'est pas open source si ? C'est juste un "patch" qui vire certaines sécurités, ou c'est une réécriture complète de l'OS ? Si c'est juste un patch, est-ce qu'il existe des projets d'OS entiers embarqués pour ces bestioles ?
C'est pourquoi, certains admin, dont moi, nous sommes rapproché de TI pour servir de porte-parole de la communauté d'utilisateurs (car nous sommes également des consommateurs et programmeurs !) afin de rendre le Lua des versions d'OS Nspire plus évolué, répondant aux questions et besoins, remarques et soucis que les programmeurs de la communauté disent et veulent voir apparaître dans un futur proche etc ..

Merci pour votre acharnement !
TL;DR : achètes la TI-Nspire CX CAS et downgrade en 3.1, et réfléchis pas.

TL;DR ? Ben je vais peut-être réfléchir un peu car c'est quand même 120-160€ ^^ Et si le simple faire de modifier une ligne de calcul est impossible, ma graph 85 le fait très bien >:]

Lionel Debroux wrote:En 2012, il y a beaucoup mieux que les calculatrices, [...]. Il y a de puissantes plate-formes d'expérimentation et de développement tournant des Linux bien élevés:
* des plate-formes comme le Raspberry Pi sont ouvertes, et nettement plus puissantes, pour quatre à six fois moins cher (suivant le modèle);
* des plate-formes comme l'Ordroid X sont encore bien plus puissantes que les Raspberry Pi (processeur ARM de dernière génération, quad core de surcroît, avec fréquence d'horloge brute presque un ordre de grandeur plus élevée que l'unique coeur des Nspire) pour pas forcément plus cher qu'une Nspire neuve (même en y ajoutant des GB de stockage) !

Le problème de Raspberry Pi, c'est... qu'il ne semble avoir ni coque ni écran, ni clavier ! Je me trompe ? C'est peut-être pratique pour avoir pour avoir un serveur/ordinateur de bureau portable, mais le problème c'est que je ne me balade pas avec un écran et un clavier en cours... et que je doute que ce soit accepté aux concours...

Et pour l'Ordroit X, c'est en gros un téléphone portable non ? Il a les mêmes fonctions que la calculatrice ? (calculc formel poussé, onglets de calculs, programmation...) Et est-ce autorisé aux concours ? Car je ne crois pas que les téléphones portables soient autorisés...

Re: Les possibilités de programmation TI vs Casio

Unread postPosted: 19 Sep 2012, 20:55
by Lionel Debroux
Il n'y a même pas une solution de contournement, un plugin à installer, un patch ou je ne sais quoi ? [pour changer le comportement de l'historique]

Non. Tu sur-estimes ce que la communauté a fait sur Nspire.

Et ils prévoient une version pour la 3.2 ou cette version semble-t'elle avoir comblé toutes les failles ?

La faille exploitée par Ndless 3.1 est rendue inopérante dans les OS 3.2. Et non, pas de Ndless prévu pour l'OS 3.2, avec la sortie a priori rapide de la prochaine version de l'OS.

Est-ce que les fonctionnalités de la 3.2 changent de la 3.1 ?

Un peu.
Un nouveau format de documents incompatible avec toutes les versions précédentes, et encore plus lourd et mal foutu que ce qui était utilisé auparavant (qui était déjà crétin sur ce genre de plate-formes).
Un moteur physique pour le Lua.

Et est-ce que l'on peut programmer et envoyer nos programmes sur TI via linux ?

Oui.

Et programmer en lua oncalc n'est pas possible (je veux dire par la que certaines fonctions sont buggés, que l'éditeur ferme toutes les 5 secondes...) ou est-ce juste pas très agréable (pas de coloration syntaxique etc...) ?

C'est très stable, mais pas agréable :)

Et quand tu dis que le TI basic et le lua sont très lents, c'est sur quel ordre de grandeur ?

Moins que sur les Casio :D
Mais un à trois ordres de grandeur plus lent que le code natif (et bien sûr, moins expressif), oui. Le BASIC des Nspire ne permet pas de dessiner des pixels arbitraires ou de lire les touches du clavier (même la TI-81 d'il y a plus de 20 ans sait faire !), et le Lua propriétaire de TI ne permet pas de lire ou d'écrire des fichiers (parmi les incompatibilités dans les deux sens avec le Lua standard).


Mais Ndless n'est pas open source si ?

Si ;)
C'est juste un "patch" qui vire certaines sécurités,

Il ne vire pas de sécurités par lui-même, mais il change un peu l'OS en RAM pour pouvoir, par exemple, lancer des programmes en code natif.

ou c'est une réécriture complète de l'OS ?

Oh que non :D
Vraiment trop compliqué.

est-ce qu'il existe des projets d'OS entiers embarqués pour ces bestioles ?

Non. Presque tout le monde s'en fout, de la Nspire.


Si je mentionnais le Raspberry Pi et l'Ordroid X, qui sont toutes les deux des dev boards sans écran ni clavier intégrés de base (mais on peut y connecter des périphériques standard d'ordinateur), c'était pour les capacités bien supérieures à un coût pour le consommateur moindre que les Nspire; mais en effet, moins portables et beaucoup moins autorisés aux examens :D

Re: Les possibilités de programmation TI vs Casio

Unread postPosted: 19 Sep 2012, 22:21
by Bisam
Je reprends une question qui est restée sans réponse (du moins, en lisant en diagonale, je ne l'ai pas vu passer).
Il est possible de remonter dans l'historique, puis d'appuyer sur [Enter] pour copier la ligne dans la ligne de saisie et ensuite de modifier cette ligne. En revanche, on ne peut pas modifier en lieu et place.

Re: Les possibilités de programmation TI vs Casio

Unread postPosted: 19 Sep 2012, 22:25
by Excale
tobiasBora wrote:
tobiasBora wrote:- Premièrement, une question relative aux calculs, question basique... mais qui semble insoluble : comment modifier une ligne de calcul plus haut dans l'historique ? J'ai essayé de remonter avec les flèches, de me déplacer dans la formule avec le curseur, mais dés que j'appuie sur un chiffre, rien ne se passe.

Ce n'est pas possible ??? Mais ça doit être affreux ! C'est la fonction que j'utilise le plus sur ma bonne vielle casio ! Alors comment faites vous lorsque vous avez un calcul du type :
Code: Select all
> 1/3->X
> X+9/6->Y
> X+Y/2->Z
> X+Y+Z
> X*Y*Z
> 2X+2Y+2Z

Et que vous voulez regarder les trois derniers résultats en fonction des valeurs déclarées plus hautes ? Vous devez retaper (ou alller chercher dans l'historique) les 5 formules les unes à la suites des autres pour chaque changement de variables ? C'est hyper long et pas pratique du tout !Il n'y a même pas une solution de contournement, un plugin à installer, un patch ou je ne sais quoi ?


Tu peux utiliser le tableur, ou bien utiliser le | (== tel que)
X+Y+Z|x=5 and y=6 and z=8 (si c'est ça que tu veux).
Il faut penser Nspire :).

Re: Les possibilités de programmation TI vs Casio

Unread postPosted: 19 Sep 2012, 22:49
by Bisam
Tu peux aussi créer une fonction.
Ici cela donnerait :
Code: Select all
{x+y+z,x*y*z,2x+2y+2z}->f(x,y,z)

et cela s'utiliserait en tapant
Code: Select all
f(3,5,8)
f(2,4,-6)
f(a,3b,-2a+b)
pour donner 3 exemples.

Re: Les possibilités de programmation TI vs Casio

Unread postPosted: 20 Sep 2012, 13:30
by tobiasBora
Merci pour vos réponses !

Lionel Debroux wrote:
Il n'y a même pas une solution de contournement, un plugin à installer, un patch ou je ne sais quoi ? [pour changer le comportement de l'historique]

Non. Tu sur-estimes ce que la communauté a fait sur Nspire.

Quand je vois certains programmes ultra puissants, je me dis que peut être quelqu'un s'est amusé à faire une petite variante de l'interface de calcul ^^

Pas de Ndless prévu pour l'OS 3.2, avec la sortie a priori rapide de la prochaine version de l'OS.

Une prochaine version de l'OS officielle est donc prévu ? Et on peut sans problème activer/désactiver ndless, changer d'OS (en up ou downgrader) ?

le Lua propriétaire de TI ne permet pas de lire ou d'écrire des fichiers (parmi les incompatibilités dans les deux sens avec le Lua standard).

On leur offre un langage libre, et il s'amusent à le rendre proprio ??? Des fois on se demande comment/si ils réfléchissent...
ou c'est une réécriture complète de l'OS ?

Oh que non :D
Vraiment trop compliqué.

J'avais vu que sur tiemu il y avait une ROM libre nommée pedrom, c'est pour ça que je me demandais si il n'en existait pas à installer sur TI.
est-ce qu'il existe des projets d'OS entiers embarqués pour ces bestioles ?

Non. Presque tout le monde s'en fout, de la Nspire.

Et dev qui s'en foutent de la Nspire s’intéresse à quelles machines ?

Excale wrote:Tu peux utiliser le tableur, ou bien utiliser le | (== tel que)
X+Y+Z|x=5 and y=6 and z=8 (si c'est ça que tu veux).
Il faut penser Nspire :).

Mouis... mais le problème semble identique lorsque le résultat de plusieurs lignes nous intéresse. A moins peut être de coder une SUPERMEGALIGNEDECODE du style :
Code: Select all
(X+Y+Z; 2X+2Y+2Z; X^2-Z^2)|(x=5 and y=6 and z=8).

C'est possible ? Quelle est la syntaxe ? Le résultat de chaque expression serra affiché ?

Bisam wrote:Tu peux aussi créer une fonction.
Ici cela donnerait :
Code: Select all
{x+y+z,x*y*z,2x+2y+2z}->f(x,y,z)

et cela s'utiliserait en tapant
Code: Select all
f(3,5,8)
f(2,4,-6)
f(a,3b,-2a+b)
pour donner 3 exemples.

A ça c'est sympa aussi (qui est en gros une version orientée fonction des lignes plus haut). Et le résultat de chaque fonction est affiché ? Y a-t'il un code pour dire "affiche ce résultat", ou "n'affiche pas celui là" (un peu comme le ; et les : de maple) ?

Merci !