
NumWorks
offre à ce jour l'implémentation Python
la plus riche sur calculatrice, avec 188
éléments builtins
et pas moins de 6 modules complémentaires dont le module graphique kandinsky
et le module de tracé turtle
. 
C'est a priori une aubaine pour le nouvel enseignement numérique
NSI
de Première au lycée à compter de cette rentrée 2019. 

NumWorks
se traîne également un véritable boulet niveau mémoire. Elle dispose de :- 16 Kiode mémoire de stockage pour les scriptsPython
- 16 Kiode mémoire de travail pour l'exécution des scriptsPython, comme le report notre script de test
Or les
16 Kio
de mémoire de travail constituent la plus faible valeur toute concurrence confondue ! 
Etant ainsi très à l'étroit, faire fonctionner des scripts
Python
un minimum conséquents, comme par exemple avec une interface texte ou graphique, relève d'un véritable défi d'optimisation à l'aveugle comme nous avions déjà pu nous en rendre compte avec les scripts de notre concours de rentrée 2018. 
A noter que ces
16 Kio
sont une limite logicielle. Matériellement la NumWorks
offre bien davantage avec 256 Kio
de mémoire SRAM
.La limite dépendra bien évidemment du contenu de chaque script et des habitudes de codage de chacun, mais le plus gros script que nous avons pu exécuter jusqu'à présent et fort péniblement sur
En effet, lorsque l'interpréteur
Or, nous ne sommes pas en
NumWorks
faisait près de 3,75 Ko soit, 23,5% de la capacité de travail totale.En effet, lorsque l'interpréteur
Python
importe un script pour exécution :- tout le texte du script est chargé dans la mémoire de travail
- tous les objets y étant définis (fonctions, variables, ...)sont alors créés en mémoire de travail en tant qu'objetsPythonutilisables, si bien qu'ils y seront alors présents en double exemplaire(une version texte, et une version Python)
Or, nous ne sommes pas en
C
mais en Python
. Les objets Python
ça prend beaucoup de place, beaucoup plus que ce que tu as saisi dans le script :- 24 octets juste pour un entier court
- 49 octets rien que pour une chaîne de caractères vide
- 64 octets pour une simple liste vide
- 136 octets pour une fonction vide sans paramètres
- ...
NumWorks
.Suite à cela, a décidé de s'attaquer au problème.
Il vient donc tout juste de compiler un
firmware
NumWorks 11.1.0
amélioré, avec une application Python
qui s'alloue 32 Kio
de mémoire de travail, de quoi enfin pouvoir un peu respirer ! 
Et en prime, c'est mieux que les 
20 Kio
des TI-83 Premium CE
! 
De quoi désormais pouvoir espérer exécuter des scripts
Python
faisant jusqu'à 7 Ko. 
Une autre version, plus expérimentale toutefois car s'arrangeant avec d'autres choses, t'offrira même
40 Kio
de mémoire de travail pour l'exécution de tes scripts Python
! 
En suivant les liens ci-après, tu peux dès maintenant installer facilement ce
Toutefois, l'amélioration a été soumise à l'équipe
firmware
si tu disposes de l'ancien modèle NumWorks N0100
.Pour la nouvelle
NumWorks N0110
, nous ne disposons pas encore d'outil grand public permettant d'installer un firmware
non officiel.Toutefois, l'amélioration a été soumise à l'équipe
NumWorks
. Espérons qu'elle sera acceptée et donc disponible dès la prochaine mise à jour pour NumWorks N0110
également. 
Téléchargements
:- firmware tiers NumWorks N0100 11.1.0(Python 32 Kio)
- firmware tiers NumWorks N0100 11.1.0(Python 40 Kio)
Lien
:NumWorks N0100
(nécessite le navigateur
Google Chrome
)