Page 1 of 1

Beta HP Prime 13217: débogueur programmes CAS+Python

Unread postPosted: 14 Dec 2017, 22:49
by critor
Hewlett Packard diffuse cette semaine de nouvelles versions beta de sa suite logicielle HP Prime, les versions 13217 datées du 11 décembre 2017 :
  • logiciel de communication HP Connectivity Kit
  • logiciel d'émulation HP Prime Virtual Calculator
  • firmware HP Prime

Rappellons que cette série de versions beta rajoute d'importantes fonctionnalités, comme la possibilité de programmer ses fonctions avec une écriture ressemblant au Python losque l'on est dans le contexte CAS, nouveauté très pertinente dans le cadre des nouveaux programmes du lycée dont l'application a commencé cette rentrée 2017 en Seconde. :bj:

Ce n'est pas la première fois que Hewlett Packard met quelque chose de remarquable niveau programmation sur sa HP Prime, puisque c'est à ce jour le seul modèle disposant d'un débogueur intégré. Accessible avec le bouton tactile Debog sous la liste des programmes ou via la commande DEBUG(), il permet d'accéder à une interface exécutant le programme pas à pas tout en suivant l'évolution des variables que l'on souhaite. De quoi obtenir la réponse avec justification directement recopiable d'un bon 90% des questions d'algorithmique au BAC ! :bj:


Toutefois, cela ne fonctionnait que dans le contexte numérique. Non disponible donc avec les programmes CAS, et même pire la saisie manuelle de l'instruction DEBUG() dans un contexte CAS déclenchait un redémarrage de la calculatrice. :'(


La version 13217 fait enfin fonctionner correctement la commande DEBUG() dans le contexte CAS. Il devient donc enfin possible d'y dérouler pas à pas l'exécution de fonctions de programmes nécessitant ce contexte. :)

Mais cela implique aussi autre chose d'extraordinaire, c'est que les programmes Python, langage ne fonctionnant que dans le contexte CAS, pourront eux aussi être déroulés pas à pas ! :bj:


On regrettera toutefois plusieurs choses pour le débogueur CAS, cette beta ayant été annoncée comme finale :
  • uniquement en anglais
  • remplacement de l'interface du débogueur numérique par une interface texte
  • impossibilité de choisir les variables à surveiller, ce qui pourra être embêtant quand il y en aura beaucoup
  • le détail des lignes en cours d'exécution est affiché non pas comme saisies dans l'éditeur (c'est-à-dire en HPPPL ou Python) mais avec une notation fonctionnelle qui ne correspond à aucun de ces deux langages
Dommage particulièrement avec ce dernier point qui pourra dérouter les utilisateurs les moins experts, ceux-ci ayant besoin de connaître 3 langages différents pour pouvoir dérouler pas à pas un programme Python sur leur HP Prime :
  • le langage Python bien évidemment
  • le langage HPPPL propre à la HP Prime pour pouvoir adapter le code Python lorsque faisant appel à des commandes ou fonctions absentes ou nommées autrement sur cette calculatrice
  • le langage fonctionnel propre au débogueur CAS HP Prime



Nous ne pouvons qu'être ravis des très grandes avancées en terme de programmation et donc de conformité aux actuels et futurs programmes du lycée français sur HP Prime avec cette série de versions beta. :bj: Surtout quand c'est innovant/exclusif, d'autres constructeurs pourtant bien plus populaires n'ayant toujours rien sorti dans ce contexte à ce jour alors que les nouveaux programmes sont en application depuis déjà 3 mois et demi.

Nous doutons toutefois que le fonctionnement assez complexe choisi sur HP Prime, à savoir l'obligation du contexte CAS pour le Python qui n'a pourtant rien d'une fonctionnalité liée au calcul formel ou même littéral, avec en prime un débogueur distinct qui n'a pas du tout le même degré de finition que le débogueur de l'environnement numérique, puisse véritablement faciliter la vie du lycéen moyen qui, rappelons-le, est censé débuter avec son premier langage de programmation textuel en Seconde. Si les habitués/experts l'enjamberont sans problème, la marche nous semble bien haute pour les débutants de Seconde voir même au-delà, vu qu'ils ne feront certainement pas tous le choix de se perfectionner avec les option ICN et/ou spécialité ISN.

Mais si Hewlett Packard continue sur sa soudaine lancée, nul doute que cela pourra être amélioré dans de futures mises à jour. ;)




Changelog officiel complet (anglais) :
Show/Hide spoilerAfficher/Masquer le spoiler
Some changes since the first two sets of beta files:

1. Added feature:
a. [a b/c] key works with the [angle] key to toggle complexes also.

FIXED ISSUES:
1. REPLACE function with strings could misbehave sometimes.
2. FREEZE not working anymore
3. Issue with BLIT using data from outside of graphic.
4. Tucked away drawing benchmark tool in 3d grapher.
5. Modified CellHasData and ClearCell to work on range instead of list.
6. Some speed improvements to catalogs with some types of geometry apps.
7. Fixed ARC drawing and enhanced sample programs.
8. High system resource use when hovering or pressing a button in emulator.
9. IFERR RETURN 10 … would not return 10 but a function of “RETURN 10”
10. Issues with user defined functions not loading properly on system boot.
11. Improvements to QPI output. Renamed back to QPI since no other ideas are really a significant improvement in a universal way.
12. Catalog sometimes was including geometry variables erroneously.
13. Reduced screen flicker in several places through the system (symb screen, choosers).
14. Various reported CAS issues.
15. Tweaked CAS debugging so it looks more like the HPPPL debugger screen.
16. Color changing during “transform” of a function causes screen to go solid color.
17. Matrix growing not checking against proper size limits (20K items).
18. ALPHA sorting in program list causing problems.




Téléchargements :
Source : http://www.hpmuseum.org/forum/thread-9678.html

Re: Beta HP Prime 13217: débogueur programmes CAS+Python

Unread postPosted: 15 Dec 2017, 08:17
by parisse
De toutes facons, je ne pense pas que beaucoup d'eleves utiliseront un debogueur (il me semble que la plupart des gens qui debuggent du Python le font en ajoutant des print a droite et a gauche, en tout cas le debugger Python n'est pour le moins pas mis en avant dans les documents que j'ai pu consulter)...
Ceux qui le feront decrouvriront qu'il n'y a pas qu'une seule syntaxe possible, ce qui est certainement positif. Ceux que ca deroute trop peuvent toujours ajouter des print. Mais je ne pense pas que ca deroute tant que ca, puisqu'il ne s'agit pas de concevoir un programme avec un autre langage, mais juste de voir son programme se derouler en pas a pas. Pareil pour l'interface en francais, ca n'a guere d'importance dans ce contexte. Sinon, les gens se seraient precipites sur le langage de Xcas avec les mots clefs en francais!

Re: Beta HP Prime 13217: débogueur programmes CAS+Python

Unread postPosted: 16 Dec 2017, 15:51
by critor
parisse wrote:De toutes facons, je ne pense pas que beaucoup d'eleves utiliseront un debogueur (il me semble que la plupart des gens qui debuggent du Python le font en ajoutant des print a droite et a gauche, en tout cas le debugger Python n'est pour le moins pas mis en avant dans les documents que j'ai pu consulter)...

On pourrait l'utiliser.

Pour les corrections d'algorithmes de BAC que je publie, c'est essentiellement pour gagner du temps que je ne le fais pas, réutilisant donc ce qui a été fait pour les autres modèles avec ajout d'une instruction de sortie en fin de boucle. Donc 2 captures d'écran et c'est plié.

Mais en phase d'apprentissage en classe, je trouverais son utilisation géniale. Scratch par exemple devrait rajouter un bouton pas à pas selon moi, plutôt que de laisser les élèves deviner ce qui a mal été codé à partir de la seule (mauvaise) figure finale obtenue quasi instantanément.

Re: Beta HP Prime 13217: débogueur programmes CAS+Python

Unread postPosted: 16 Dec 2017, 18:42
by parisse
Je suis completement d'accord, utiliser le debugger apporte certainement un gros plus aussi bien pour montrer le deroulement d'un programme qui marche aux eleves que pour mettre au point un programme qui ne marche pas. Mais je pense que tres peu d'enseignants sont sensibilisees, parce que la plupart des formateurs programment occasionnellement et n'utilisent pas eux-memes un debugger, qui de plus n'est pas souvent mis en avant par l'interface meme quand il existe (je ne le vois pas dans pyzo par exemple). C'est d'ailleurs vrai aussi dans les enseignements a la fac, certains etudiants en parcours info debuggent avec des print... Il y a un gros travail de pedagogie a faire pour democratiser l'usage du debugger, probablement aussi gros que pour faire comprendre que Python n'est pas le seul et unique langage utilisable au lycee (c'est juste celui qui a les faveurs de l'inspection generale, ou les lobbies pro-Python sont visiblement bien representes).
Concernant l'interface, je ne pense pas qu'afficher exactement la meme syntaxe que pour ecrire le programme soit vraiment un obstacle, en fait le debugger montre la forme interne de l'instruction interpretee un peu comme quand on definit une fonction f(x):=x^2+1 et qu'elle est affichee x->x^2+1. Il faut tester avec des eleves pour le savoir.
L'aspect affichage dans le terminal est un peu artisanal, mais c'est fonctionnel et je ne vais pas me lancer dans l'interface utilisateur HP (ca me demanderait trop de travail par rapport au benefice escompte), et HP met logiquement la priorite sur le langage non CAS.

Re: Beta HP Prime 13217: débogueur programmes CAS+Python

Unread postPosted: 08 Jan 2018, 22:15
by critor
parisse wrote:Ceux qui le feront decrouvriront qu'il n'y a pas qu'une seule syntaxe possible, ce qui est certainement positif.

Je suis parfaitement d'accord sur l'effet positif de jongler entre plusieurs langages.
C'est une bonne habitude qui prépare à une éventuelle ouverture à d'autres langages plus tard, et corriger à la fois pour TI-8x et pour Casio Graph multiplie à mon sens les chances de comprendre le même fond.
Mais ça, c'est lors du travail en classe.

Concernant la HP Prime et le Python, les seuls élèves de Seconde étant concernés à ce jour, l'élève a je pense un bon 90% de chances de se retrouver seul avec sa machine, l'enseignant ne connaissant pas la HP Prime et ne voulant pas apprendre à la connaître (et il a tort, il est censé connaître tous les modèles - même moi si quelqu'un me ramène une Lexibook et que je l'expédie, ma bienveillance n'étant pas infinie, j'aurai tort).
C'est dans ce contexte que je trouve la marche bien haute pour un débutant abandonné à lui-même.

Re: Beta HP Prime 13217: débogueur programmes CAS+Python

Unread postPosted: 09 Jan 2018, 15:43
by parisse
Je ne crois pas que la marche sera si haute pour un eleve qui a achete une hp prime en France, car il a fait preuve de capacite a chercher et trouver l'information par lui-meme, vu qu'il n'a pas suivi le conseil de son prof ou etablissement.
C'est plutot pour les utilisateurs de Xcas que ca pourrait valoir le coup de retravailler la sortie texte des structures (pour if et while ca devrait etre facile, pour for c'est moins evident).