Le RPN : Pourquoi faire si compliqué ?

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Répondre
Tipoucet
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3554
Inscription : 10 janv. 2009 14:47

Le RPN : Pourquoi faire si compliqué ?

Message par Tipoucet » 04 juin 2009 01:13

RPN = reverse polish notation, système de calcul beaucoup utilisé sur les machines Hewlett Packard (dont il est question ici)

Voilà près de 30 ans que j'entends parler de ce système. Et dès le début, j'ai été effrayé par les commentaires issus de la sphère RPN, du genre «bien que moins naturel, le RPN permet à l'utilisateur avancé de frapper moins de touches pour un résultat identique en se passant des parenthèses» ou bien encore : « une fois qu'il est maîtrisé le RPN permet au programmeur chevronné de mieux optimiser ses programmes »... Pas beaucoup mieux, les expressions satellites "notation polonaise inverse", "notation postfixe", pile opérationnelle ... je passe les versions anglaises. Avec, à chaque fois qu'on entrouvre le sujet, des références à un obsur mathématicien polonais au nom imprononçable, dont on nous dit qu'il a découvert un système performant, bien qu'utilisé à l'envers ... ouf j'arrête là. J'ajoute pour finir une énorme et énigmatique touche ENTER placée en plein milieu de la machine ... comme pour éloigner les derniers curieux ...

Franchement comment peut-on communiquer d'une façon aussi déplorable envers l'utilisateur (sauf à le faire exprès ?). Pendant des années je me suis senti délibérément écarté de ce monde "élitiste". Je ne me sentais pas à la hauteur, moi, si rassuré par la touche = de ma TI-58.

Et puis un jour, pour certaines raisons, j'ai acquis une HP 42S (compatible HP-41 !). Cette machine me fascinait. Mais elle était RPN, il allait falloir m'y mettre. Le soir de l'achat, résolu à basculer du côté obscur, j'ai compulsé nerveusement le manuel pour me familiariser avec la "pile". J'ai fait des essais. ça marchait pas mal, mais je me souviens avoir décidé ce soir là que jamais pour autant je n'utiliserais cette machine pour ajuster mon compte bancaire ... trop dangereux.

Finalement j'ai très vite utilisé quotidiennement cette machine et ce même au travail. Je l'avais toujours à portée de main. J'avais réalisé des petits programmes (et même des ... moyens), appelés avec les touches de menus et la HP 42S me sortait toujours de situations délicates, notamment en présence de sourcilleux clients (je n'ai jamais réussi à calculer de tête ni avec un crayon) ...

Au fil du temps, je suis arrivé à ce constat tout personnel : dans cette histoire de RPN, il semble qu'il y ait 2 concepts, malheureusement toujours confondus lors de l'évocation du RPN : (1) l'action des touches arithmétiques (2) les lois internes de la pile.

(1) dans une calculette "toute bête" classique, on a affaire à une syntaxe "algébrique" : on tape 5 puis + puis 3 puis = et on lit le résultat. Cela paraît naturel. Lorsque qu'avec cette même calculette on souhaite connaître la racine carrée de 5, on trouve également naturel de taper 5 puis la touche Racine. Pourtant dans ce 2d cas, ce qu'on fait ressemble bien au RPN : on entre la valeur, puis on tape la touche de fonction. Pourquoi ne pas admettre qu'une machine RPN fonctionne sur le même principe, la différence étant que les touches de fonctions sont là étendues aux touches arithmétiques (à ceci près qu'on n'entre pas une valeur, mais un couple de valeur, qu'on sépare avec la touche ENTER). Il me semble que l'usage d'une RPN devient plus naturel et sûr dès lors qu'on admet qu'il s'agit d'une machine SANS syntaxe, avec uniquement des touches de fonctions. Car il s'agit bien de cela : le + même s'il semble suggérer une syntaxe, est une touche qui renvoie une SOMME. Le - renvoie une DIFFERENCE, le x un PRODUIT, le / un RAPPORT. La notion de syntaxe ne sert qu'à compliquer le discours car elle est aussi superflue que dans le cas de la racine carrée de la calculette ci-dessus. D'ailleurs qui éprouve le moindre problème, avec sa TI-57, pour utiliser les fonctions SUM, PRD, INV PRD ? C'est à mon sens pourtant très voisin des touches arithmétiques des HP. Sauf qu'avec les HP on s'ingénie à se formuler tout cela en termes confus de syntaxe ...

(2) la pile possède des lois, d'ailleurs différentes selon les familles de machines, (HP41, HP48). Quand on les connaît bien, on est effectivement un utilisateur ou un programmeur efficace. Mais leur maîtrise est à mon sens grandement faculative et un utilisateur non exigeant peut utiliser son HP avec satisfaction et sûreté sans jamais "avoir mis les mains dans le cambouis". Une paranthèse à ce propos : quand on lit un commentaire sur le RPN, il est toujours question de l'économie des paranthèses ... Je voudrais bien savoir qui utilise réellement les paranthèses de sa calculatrice scientifique algébrique, surtout avec plus de deux niveaux, cet exercice étant il me semble hautement périlleux.

En conclusion : je ne remets pas en cause la sophistication ou l'élégance des procédés que permet le RPN quand il est bien maîtrisé. Je regrette seulement que celui-ci soit systématiquement présenté de façon compliquée, maladroite et distante. Je pense que c'est dommage, car à l'usage, le RPN est le système le plus agréable, le plus naturel et le plus sûr qui soit à mon avis, à condition qu'on n'en ait pas peur et qu'on ne sente pas écarté de l'aventure (sans parler du prix mais c'est une autre histoire) ...
Dominique

Avatar de l’utilisateur
badaze
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7590
Inscription : 12 févr. 2007 19:36
Localisation : Pas très loin de Lyon
Contact :

Message par badaze » 04 juin 2009 01:41

Très belle analyse.

Brova.
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer :(
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.

Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6978
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Message par gege » 04 juin 2009 02:50

Bien vu,

Le côté élitiste était effectivement bien réel.
Ce qui est vrai IMHO sur HP, c'est que c'était (dans le temps) une boîte d'ingénieurs qui ont sorti du matériel au top presque sans se soucier de son coût. Evidemment ils n'ont pas eu toutes les bonnes idées, et se sont fait rétamer dans certain domaines (oscilloscopes...).
Après, la qualité du plastique on s'en fout relativement, alors que la tenue du clavier est cruciale. Donc parfois nos gentils amis nous ont un peu balladés avec leur "qualité" (réelle, mais quelle importance le plastique de la trappe à piles ??).
J'étais un pauvre, utilisateur de TI et c'était un peu l'inverse : le Hard Discount de la caltos ! Avec aussi leurs bonnes idées.

Honnêtement le RPN vient du passé brumeux où tout bit de mémoire avait un coût exorbitant. Non Monsieur il était hors de question de garder des termes ou des opérations en attente !!!! Alors hop un ch'tite pile et c'est à l'utilisateur (que ça valorise :)) de faire une partie du boulot.
On se souvient de l'anecdote ou Steve Woszniak (un gars qui bossait chez HP - il a vendu sa 35 pour fonder une petite boîte...) a sorti une TI et a calculé la formule de Mach plus vite (et juste) que ses collègues avec leurs HP. Il n'était pas sectaire.

Donc RPN, qui a démarré sur les Friden je crois (et je crois que HP a dû payer des royalties sur ce procédé à Friden !!!), était un artifice d'ingénieur pour faire tenir le tout dans des machines telles que possibles à l'époque.

Oui c'était bien et on gagnait entre 2 et 10% des pas de programmes.
Egalement on pouvait grâce à la pile programmer de vraies 'fonctions' avec plusieurs paramètres en entrée ET en sortie !! Super.

La grande touche Enter me semble toujours une excellente chose, c'est confortable, même au milieu du clavier. Il suffit qu'elle soit facile à trouver avec le regard fixé sur l'écran !

Tes débuts au contact du RPN se sont faits dans des draps de soie : la 42S est fantastique, pas la machine à laisser au travail.


Alors maintenant, doit / peut-on encore utiliser le RPN ?

Les concepts ont changé : l'environnement est beaucoup plus mathématisé, on utilise l'écriture algébrique partout. Les objets manipulés par les machines sont plus complexes, on a de vraies syntaxes de langages évolués (fonctions, variables locales). La mémoire n'est plus limitée.
Il faut aussi relire et modifier les programmes. A ce titre la lisibilité du RPN est inférieure à celle d'un Basic ou langage assimilé.

Alors je dirais que RPN est un fabuleux souvenir mais n'est plus l'outil à utiliser de nos jours.
Et si on voulait s'entêter, ou trouver une bécane qui propose sous RPN le niveau de performances d'une nSpire, ou d'une Casio 85 ?

Sur l'utilisation des parenthèses, 100% d'accord. A part en programmation, je les utilise peu. Mais RPN ne me donne pas vraiment une impression de sécurité... je suis sûr que tu utilises une machine affichant plusieurs niveaux de pile. Essaye de n'en regarder qu'un pendant tes calculs... tu verras !!! :)

G.E.

Avatar de l’utilisateur
Paul Tergeist
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2417
Inscription : 15 oct. 2007 15:50
Localisation : 3ème planète après le soleil

Message par Paul Tergeist » 04 juin 2009 09:04

Le RPN nous sert de garde-fou.

Si on le garde on peut dire que l'AOS est plus simple.

Si on ne le garde pas, un autre langage apparaitra (style point&click)
et on dira : "Le point&click est plus simple, pourquoi garder l'AOS?"

Et puis, le RPN ça fait un langage différent, une logique différente.

Moi je le garde. Et je garde aussi tous les autres.

Concernant le vert du fond du FX-702P j'ai lu qu'en fait c'est un vert
qu'on appelle le "vert-Badaze". Est-ce que tu étais au courant Badaze ?

Paul
Il y a 10 catégories de personnes dans le monde. Celle qui connait le binaire et l'autre.

Avatar de l’utilisateur
brutal
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 543
Inscription : 16 mai 2008 16:00
Localisation : Toulouse
Contact :

Message par brutal » 04 juin 2009 09:11

Si on regarde les première calculatrices, elles n'ont pas de touche "=" qui est associée à += ou -=. La logique RPN est assez présente dans les premiers modèles et reste associée aux fonctions (racine carrée, exposant, mémoire, etc.).
Je pense que HP s'est servi du RPN comme argumentaire commercial. D'abord parce que comme le fait remarquer Gege, c'est un brevet Rathbun de Friden qui le premier pose cette logique, qui fut reprise dans le brevet de la HP 35, où Cochran site Rathbun et repend le schéma texto. Ça ne s'appelle pas encore RPN. Ensuite, le nom du polonais n'arrive que plus tard dans la com. mais pas dans les manuels. Le RPN est né. Et que ensuite, le nom du même polonais sera associé au RPN. Voir dans le manuel de la HP 17Bii lorsque HP réintroduit le RPN par exemple. Et puis il y a aussi des combats violent entre TI et HP sous forme de "c'est ma logique la mieux".
Pendant ce temps les japonais réfléchissent autrement :lol:
Collectionneur de calculatrices de poche, de règles à calcul et d'autres machins mécaniques qui tournent

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Message par charognard » 04 juin 2009 09:24

Marrant et tellement vrai tes observations :lol:
tel M. jourdain on fait du RPN sans le savoir


Le RPN existe simplement car c'était plus facile de mettre en place ce systeme.
Le systeme algébrique partiel masque pour l'utilisateur le concept de pile, quoique la fonction est sur le registre x.
Qu'en t'à l'interpretation algébrique complete évalue la ligne après saisie avec toute possibilité de modification à posperiori.
Ensuiite évalution des expressions de manière formelle est arrivé.e

donc effectivement le RPN est rapide mais demande une transposition des expression par l'utilisateur donc celui ci fait une partie du boulot lui même.
pour info ma calculatrice preferée lorsque je recherche des equations : Excel

Avatar de l’utilisateur
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4506
Inscription : 31 oct. 2006 16:08
Localisation : 67310 Westhoffen
Contact :

Message par pir2 » 04 juin 2009 09:36

charognard a écrit :ma calculatrice preferée lorsque je recherche des equations : Excel
Idem.

Le RPN est une espèce d'assembleur pour moi (très proche dans le concept, avec la pile), et le langage algébrique, une première couche de langage évolué.

Le reste, c'est de la com élitiste.

Ceci dit, quand on y a gouté, c'est difficile de se remettre à l'algébrique. J'ai essayé avec un Sharp PC-1450 lors d'un formation de compta pour une assoc il y a deux ans, j'étais perdu :lol: et je n'ai été sauvé que par le mode RUN du Basic :x
Image
Image

Avatar de l’utilisateur
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2637
Inscription : 03 mai 2008 15:33
Localisation : Grenoble

Message par zpalm » 04 juin 2009 09:43

Ahhh… tel le monstre du Loch Ness la discussion RPN vs. AOS ressurgit !

Pour moi le RPN ne m’a jamais semblé élitiste ou ésotérique . Sans doute parce que j’y suis tombé dedans quand j’étais petit. En 1ère notre prof de math avait une douzaine de HP-25 et il organisait dans le cadre des 10% pédagogiques des séances d’initiation au calcul numérique et à la programmation. Comme c’était au moment de la transition au lycée de la règle à calcul vers les calculettes j’ai appris en même temps les deux systèmes : AOS sur ma TI-57 et RPN sur HP-25. Evidemment les HP étaient chères ce qui a contribué à l’aspect élitiste de la marque mais le RPN en lui-même m’a toujours semblé simple et logique. Par la suite j’ai eu une HP-34C puis une HP-41C et je me souviens que lors des TP j’étais chargé des calculs car je trouvais les résultats plus vite et avec moins d’erreur (si-si, c’est vrai, même avec un seul niveau de pile affiché :wink: ).

Un bon résumé des avantages du RPN se trouve sur une pub de la HP-45:

Image

HP avait aussi publié une brochure dédiée à ce sujet: Enter vs Equals

Sinon, aujourd’hui il est vrai que le RPN ressemble à une relique du passé et je doute qu’il suscite le moindre intérêt chez les collégiens ou les lycéens . Il ne se trouve plus que sur trois calculatrices HP : une scientifique la HP-35s, et deux financières les HP-12C et HP-17bII+, la 12C étant d’ailleurs la seule à ne pas offrir de mode algébrique .

Avatar de l’utilisateur
brutal
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 543
Inscription : 16 mai 2008 16:00
Localisation : Toulouse
Contact :

Message par brutal » 04 juin 2009 09:51

Le RPN existe simplement car c'était plus facile de mettre en place ce systeme.
C'est vrai Charognard pour les adeptes TI l'équivalent interne a été trouvé avec la fonction HIR, manipulation des registres internes.

J'ajoute que les joutes ont toujours eu lieu, j'avais lu une anecdote sur les joutes entre bouliers japonais et calculatrices électromécaniques au Japon vers les années 1950, et c'était souvent les bouliers qui gagnaient :lol:
Collectionneur de calculatrices de poche, de règles à calcul et d'autres machins mécaniques qui tournent

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Message par charognard » 04 juin 2009 10:20

Les parentheses existent en RPN c'est l'utilisateur qui les gèrent. De plus lorsque que on lit la doc sur le HP11C par exemple, sur l'utilisation du RPN (conseil d'utilisation) ils préconisent donc de ne pas rentrer l'équation de gauche à droite mais de gérer les priorités pour palier la pile à seulement 4 niveaux, alors là je dis que l'on se fout un peu du monde de le présenter comme cela c'est un coup à ce planter sur les grosse équations.
une algébrique classique était à 6 ou 7 niveau de parenthèse déjà
donc outre la délégation des parenthèses à l'utilisateur c'est aussi la gestion des priorité opératoires qui lui sont atribuée.
J'aime bien le RPN mais honnetement c'est imbranlable leur truc pour la nouvelle génération.

Avatar de l’utilisateur
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4506
Inscription : 31 oct. 2006 16:08
Localisation : 67310 Westhoffen
Contact :

Message par pir2 » 04 juin 2009 10:33

charognard a écrit :J'aime bien le RPN mais honnetement c'est imbranlable leur truc pour la nouvelle génération.
Faudrait qu'elle se branle un peu le cerveau, la nouvelle génération, pour comprendre comment marche le monde ... euh, les calculatrices, pardon :D
Image
Image

Avatar de l’utilisateur
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2637
Inscription : 03 mai 2008 15:33
Localisation : Grenoble

Message par zpalm » 04 juin 2009 10:43

charognard a écrit : une algébrique classique était à 6 ou 7 niveau de parenthèse déjà
donc outre la délégation des parenthèses à l'utilisateur c'est aussi la gestion des priorité opératoires qui lui sont atribuée.
J'aime bien le RPN mais honnetement c'est imbranlable leur truc pour la nouvelle génération.
Ben non, pas de priorité à gérer pour les opérations, la meilleure façon de faire c’est de partir de l’intérieur de l’expression et d’aller vers l’extérieur mais ce n’est pas obligatoire. Evidemment celà nécessite de comprendre ce que représente l’expression que l’on veut calculer et le RPN permet de voir tous les résultats intermédiaires ce qui permet de vérifier que ce que l’on calcule n’est pas à côté de la plaque et qu’au bout du calcul le résultat aura un sens . Maintenant c’est peut-être trop demander aux nouvelles générations :lol:

Ceci dit les calculatrices algébriques aujourd’hui ont un écran de plusieurs lignes permettant de rentrer une expression sous forme littérale et de l’évaluer , on n’est plus avec un AOS type TI-57/TI-58. Côté HP il faudrait comparer avec les calculatrices graphiques type 40gs ou 50g.

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Message par charognard » 04 juin 2009 10:45

zpalm a écrit :
charognard a écrit : une algébrique classique était à 6 ou 7 niveau de parenthèse déjà
donc outre la délégation des parenthèses à l'utilisateur c'est aussi la gestion des priorité opératoires qui lui sont atribuée.
J'aime bien le RPN mais honnetement c'est imbranlable leur truc pour la nouvelle génération.
Ben non, pas de priorité à gérer pour les opérations, la meilleure façon de faire c’est de partir de l’intérieur de l’expression et d’aller vers l’extérieur mais ce n’est pas obligatoire. Evidemment celà nécessite de comprendre ce que représente l’expression que l’on veut calculer et le RPN permet de voir tous les résultats intermédiaires ce qui permet de vérifier que ce que l’on calcule n’est pas à côté de la plaque et qu’au bout du calcul le résultat aura un sens . Maintenant c’est peut-être trop demander aux nouvelles générations :lol:

Ceci dit les calculatrices algébriques aujourd’hui ont un écran de plusieurs lignes permettant de rentrer une expression sous forme littérale et de l’évaluer , on n’est plus avec un AOS type TI-57/TI-58. Côté HP il faudrait comparer avec les calculatrices graphiques type 40gs ou 50g.
c'est AES par défaut avec une touche [ENTER] toute petite le choix est fait RIP RPN

Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6978
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Message par gege » 04 juin 2009 10:52

zpalm a écrit :la meilleure façon de faire c’est de partir de l’intérieur de l’expression et d’aller vers l’extérieur mais ce n’est pas obligatoire.
Bien sûr, mais ça ne t'es jamais arrivé de compter les niveaux en écrivant un programme ou en calculant, en essayant (un peu angoissé) de ne pas perdre les valeurs intermédiaires par le "haut" ?? Mmmmm ?? ;-)
zpalm a écrit :Côté HP il faudrait comparer avec les calculatrices graphiques type 40gs ou 50g.
J'utilise ma HP49G+ en mode algébrique parce que je trouve qu'en RPL la 48 n'a pas été dépassée (surtout l'ergonomie 'mécanique'), donc si je veux du RPL je préfère la 48.
Eh bien même en mode algébrique, on se heurte en permanence à des objets RPL. En programmation, on est contraint d'utiliser très souvent le préfixe RPL>.
Alors je dis : bazardons ce truc, que HP nous ponde une machine haut de gamme résolument algébrique et homogène !
Le prix à payer sera très élevé : pas de rétro-compatibilité. Cette compatibilité, on a vu ce que ça donne...
G.E.

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Message par charognard » 04 juin 2009 10:57

Comme GEGE
au buchet !!!

Répondre

Revenir vers « Tous les Pockets »