π
<-
Chat plein-écran
[^]

Programmation native Casio Graph 90+E vs TI 83 PCE Ed Python

Discussions diverses, débats, sondages, parler de tout et de rien... mais en restant plutôt sérieux.

Programmation native Casio Graph 90+E vs TI 83 PCE Ed Python

Unread postby SlyVTT » 24 Sep 2021, 08:49

Hello,

tout d'abord, j'espère que le post est mis dans la bonne zone, car comme ça couvre deux modèles, je savais pas où le mettre exactement.

Je m'interroge sur la meilleure calculatrice à conseiller pour de la programmation native (C/C++ et/ou ASM) entre :
- la Casio Graph 90+E qui semble posséder un SDK pour le C intéressant et une bonne prise en charge du natif, mais quid du C++/ASM et des limites de mémoire.
- la TI 83 Premium CE Edition Python qui dispose de ArTIfICE et AsmHook avec code possible en C et ASM (quid de la prise en charge du C++ par la toolchain).

La Casio a semble t il un proc qui est cadencé nettement plus rapidement en comparaison de la TI, mais cela est loin de faire tout.

Pourrait-on essayer de dresser un bilan factuel (sans parti pris) de ce qui est faisable ou pas sur chacune des machines afin d'avoir une comparaison éclairée ?

Les points qui me semblent importants dans la comparaison :
- scope du toolchain et des librairies disponibles (ASM, C / C++, implémentation de la libc / stl complète ou non)
- taille mémoire et "bizarreries associées" par exemple j'ai cru comprendre que la gestion du heap/stack sur la Graph 90+E étant un peu différente
- taille des programmes réalisables au max (monobloc et ou en "découpant" si besoin)
- gestion des flux (console, fichiers externes)
- possibilité de faire des librairies externes avec linkage dans un programme principal ...
...

Je précise que je vois des programmes très impressionnants sur les deux machines, d'où l'interrogation de ce que l'on peut faire exactement et objectivement avec tel ou tel modèle.

Merci pour vos commentaires

Cia

Sly


PS pour les modos : si je suis pas au bon endroit, pouvez vous déplacer SVP ? merci
Developing the GUI Toolkit for nSpire
see current revision here : https://github.com/SlyVTT/Widget-for-TI-NSpire

And for the GUI Toolkit NF (New Foundation), this is here https://github.com/SlyVTT/Widgets-Spire-NF

Image Image Image Image
User avatar
SlyVTTPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 85.7%
 
Posts: 194
Images: 0
Joined: 19 Jan 2021, 09:41
Gender: Male
Calculator(s):

Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py

Unread postby SlyVTT » 25 Sep 2021, 19:52

personne pour me donner son avis ...
Pas de codeur dans le coin ?
Sly
Developing the GUI Toolkit for nSpire
see current revision here : https://github.com/SlyVTT/Widget-for-TI-NSpire

And for the GUI Toolkit NF (New Foundation), this is here https://github.com/SlyVTT/Widgets-Spire-NF

Image Image Image Image
User avatar
SlyVTTPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 85.7%
 
Posts: 194
Images: 0
Joined: 19 Jan 2021, 09:41
Gender: Male
Calculator(s):

Online

Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py

Unread postby critor » 25 Sep 2021, 19:54

Les deux sont d'excellentes machines de codage, avec chacune ses gros avantages et quelques inconvénients.

Pour ma part il est bien difficile de trancher, désolé.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 20.1%
 
Posts: 38516
Images: 11181
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti
GitHub: critor

Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py

Unread postby Adriweb » 25 Sep 2021, 20:02

Je peux apporter des reponses/details coté CE, mais je n'y connais rien coté Casio, hmmm :P

Du coup :

- scope du toolchain et des librairies disponibles (ASM, C / C++, implémentation de la libc / stl complète ou non)

La toolchain communautaire te permet de coder en ASM, C, et C++ (c'est basé sur un fork de clang/LLVM 14 - rebasé depuis upstream régulièrement).
Points d'attention: pas de STL pour le C++, donc tu as juste le langage en lui meme. Mais tu peux embarquer ta propre STL genre uSTL (j'ai testé, ca marche, mais attention a la taille du binaire ^^). Coté C, c'est quasi complet, par contre la gestion des double n'est pas encore achevée, pour l'instant c'est des float sur 32bit.
Aussi, il faut faire gaffe, les entiers sont sur 24bit vu que la plateforme/architecture est comme ca. uint8_t, uint16_t etc existent quand meme bien sur.

- taille mémoire et "bizarreries associées" par exemple j'ai cru comprendre que la gestion du heap/stack sur la Graph 90+E étant un peu différente

c'est petit. 4 ko de stack et 61k de heap (partagé avec la BSS). le code/data/rodata c'est la taille max de la variable donc environ 64k. Mais bon tu peux stocker tes données dans des appvars externes (chacune de 64k max aussi) et les charger dynamiquement
Cf. le schéma : https://ce-programming.github.io/toolch ... c/faq.html

- taille des programmes réalisables au max (monobloc et ou en "découpant" si besoin)

Du coup j'y ai deja repondu dans la question ci-dessus.
Il me semble cela dit que convbin (l'outil de la toolchain qui fabrique le binaire final) s'occupe de decouper le binaire tout seul en loader+appvars quand il depasse les 64k.
Par ailleurs, il compresse aussi automatiquement les binaires pour gagner de la place en flash.

- gestion des flux (console, fichiers externes)

- il y a au moins une lib pour avoir une console en repl, cf. mon fork nio_ce
- des fonctions utilitaires de debug marchent main-dans-la-main avec CEmu, l'émulateur communautaire. Pratique pour des printf de debug etc.
- il y a une lib en cours de developpement qui permet de faire des choses en USB, et des demo (et d'autres libs en découlant) ont été faites (serveurs web, client IRC, driver de communication serie...)
- fichiers/data externes: oui via appvars. la lib fileioc de la toolchain en facilite les manipulations.

- possibilité de faire des librairies externes avec linkage dans un programme principal ...

oui. libs dynamiques via libload, c'est sur ce principe que reposent les libs traditionnelles utilisés par la majorités des programmes utilisant la toolchain : graphx, fileioc, keypadc, fontlibc. usbdrvce...
Image
MyCalcs
: Help the community's calculator documentations by filling out your calculator info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur votre calculatrice ![/url]
Inspired-Lua.org
: All about TI-Nspire Lua programming
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 58.7%
 
Posts: 13611
Images: 1101
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Twitter: adriweb
GitHub: adriweb

Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py

Unread postby SlyVTT » 25 Sep 2021, 20:10

Super merci Adriweb, c'est clair.
Critor, ta réponse ne me surprend pas, car j'en suis au même point que toi, d'où ma question.
Je pourrais peut être poser la question sur planete casio pour avoir leur avis sur la graph 90+E.

Merci à tous les deux

Sly
Developing the GUI Toolkit for nSpire
see current revision here : https://github.com/SlyVTT/Widget-for-TI-NSpire

And for the GUI Toolkit NF (New Foundation), this is here https://github.com/SlyVTT/Widgets-Spire-NF

Image Image Image Image
User avatar
SlyVTTPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 85.7%
 
Posts: 194
Images: 0
Joined: 19 Jan 2021, 09:41
Gender: Male
Calculator(s):

Online

Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py

Unread postby critor » 25 Sep 2021, 20:14

SlyVTT wrote:Critor, ta réponse ne me surprend pas, car j'en suis au même point que toi, d'où ma question.
Je pourrais peut être poser la question sur planete casio pour avoir leur avis sur la graph 90+E.

Pas sûr que tu y trouves grand monde s'y connaissant en CE, donc la comparaison risque je crains d'être assez biaisée.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 20.1%
 
Posts: 38516
Images: 11181
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti
GitHub: critor

Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py

Unread postby Adriweb » 25 Sep 2021, 20:15

Suffit qu'ils répondent de maniere independante pour les casio comme je viens de le faire pour la CE :P
Image
MyCalcs
: Help the community's calculator documentations by filling out your calculator info!
MyCalcs
: Aidez la communauté à documenter les calculatrices en donnant des infos sur votre calculatrice ![/url]
Inspired-Lua.org
: All about TI-Nspire Lua programming
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 58.7%
 
Posts: 13611
Images: 1101
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
Twitter: adriweb
GitHub: adriweb

Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py

Unread postby parisse » 25 Sep 2021, 21:03

Ben en fait la reponse pour moi c'est clairement la Casio : on peut y porter KhiCAS, alors que sur ti83 ca parait juste impossible actuellement.

Taille maximale d'un addin sur Casio: 2Mo.
Pour la RAM c'est un peu bizarre: presque 128K de heap et beaucoup plus de stack !
Support C/C++: ma toolchain est gcc/g++ sous linux pour sh3eb dont j'ai ici une archive compilee pour debian 9 https://www-fourier.univ-grenoble-alpes.fr/~parisse/casio/sh3eb-elf.tar.gz. Le support de la libc/libm est essentiellement complet (mais j'ai du corriger quelques bugs de mon cote et il y a des parties pas optimales). J'utilise une version modifiee de ustl pour remplacer le support de la libstdc++. Il y a de la doc sur l'OS ici: https://prizm.cemetech.net/index.php/Prizm_Programming_Portal#Native_OS_reference
Il faut faire attention a l'endianness si on optimise les structures de donnees comme je le fais dans KhiCAS.
On peut utiliser l'emulateur Casio pour tester, et il semble meme possible de faire du cross-debug avec gdb mais je n'ai pas teste (a l'epoque ou je developpais KhiCAS pour Casio ca n'existait pas encore).

Lephe pourrait sans doute apporter des infos plus a jour sur les toolchain.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 33%
 
Posts: 2648
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py

Unread postby SlyVTT » 26 Sep 2021, 09:20

Merci Bernard, j'avais lu le fil des posts sur le développement de KhiCAS sur la Graph 90+E et j'y avais en effet trouvé pas mal d'infos.
Donc on a deux approches très différentes. Si je comprends bien pour un gros programme sans ressources externes (type KhiCAS), la Casio serait mieux, mais pour un programme "Core" plus léger avec ressources externes (type jeu par exemple), la TI offre des aspects intéressants.

Je note aussi des similitudes pour le support du C (globalement complet) tandis que la STL C++ est globalement absente et il faut passer par la uSTL (avec inflation de la taille de l'executable sur Ti).

Le support graphique (j'avais oublié dans ma question initiale) est OK avec TI (graphx) et je pense que le fxSDK chez Casio doit offrir des fonctions à peu près similaires.

Donc en résumé il est dur de choisir :bang: (sachant que je me suis peut être habitué au luxe avec la nSpire/Ndless qui est vraiment géniale).

Merci à tous en tout cas.

Sly
Developing the GUI Toolkit for nSpire
see current revision here : https://github.com/SlyVTT/Widget-for-TI-NSpire

And for the GUI Toolkit NF (New Foundation), this is here https://github.com/SlyVTT/Widgets-Spire-NF

Image Image Image Image
User avatar
SlyVTTPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 85.7%
 
Posts: 194
Images: 0
Joined: 19 Jan 2021, 09:41
Gender: Male
Calculator(s):

Re: Programmation native Casio Graph 90+E vs TI 83 PCE Ed Py

Unread postby parisse » 26 Sep 2021, 10:00

La TI me semble vraiment tres limitee au niveau memoire. 64K de limite pour le code, c'est vraiment tres peu meme si on peut un peu augmenter avec des ressources externes. 2Mo c'est quand meme plus raisonnable, surtout pour un prix d'achat identique.
A mon avis, le seul point en faveur de TI c'est le nombre potentiel d'utilisateurs, mais techniquement la Casio a un hardware nettement superieur. D'ailleurs Casio n'a pas eu besoin de changer son hardware pour faire tourner Python. Je ne serai d'ailleurs pas etonne que TI nous sorte un nouvel hardware maintenant que Numworks se lance a l'assaut des USA.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 33%
 
Posts: 2648
Joined: 13 Dec 2013, 16:35
Gender: Not specified

Next

Return to Autres discussions

Who is online

Users browsing this forum: No registered users and 5 guests

-
Search
-
Social
-
Featured topics
Concours de rentrée 2021 - La Geste d'Alrys
Concours de rentrée 2021 - Synchro-donjon !
Comparaisons des meilleurs prix pour acheter sa calculatrice !
25€ remboursés par Casio sur l'achat de ta calculatrice fx-CP400 d'ici le 31 Octobre 2021
Journées APMEP 2021 à l'IUT de Bourges les 24-25 Octobre. Viens rencontrer Casio, NumWorks, TI et Vittascience.
Coque NumWorks édition limitée Octobre 2021 à gagner.
123456
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
564 utilisateurs:
>557 invités
>3 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)

-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)