Ansichten eines Informatikers

UPN-Nostalgie

Hadmut
9.12.2021 15:28

Wusst’ ich’s doch gleich: UPN muss man nur erwähnen, das findet sein Fans. 🙂

Eigentlich denkt man ja, die Umgekehrte Polnische Notation sei mausetot und Relikt der 70er und 80er Jahre. Aber nein, es gibt jede Menge Fans.

Ich hatte ja erwähnt, dass der Mathelehrer einen UPN-Rechner hatte, aber keinen HP, Fabrikat weiß ich nicht mehr. Ein Leser erinnert aber daran, dass es ja noch was anderes als HP gab:

Hallo,
es gab einen programmierbaren Taschenrechner unter dem Label Quelle Privileg, war eleganter als der von HP.
Habe ihn mitte der 70er Jahre für etwa 150 DM gekauft. War sehr brauchbar für Massenberechnungen in Serie in chemischen Praktika.
Die Programmierung war basicähnlich, aber eben unter Berücksichtigung der UPN.

Ja, ich kann mich so dumpf entsinnen, weiß aber nicht mehr, ob der Rechner des Mathelehrers der von Quelle war.

Verschiedene Leser meinen, dass die HP-Rechner zwar heute noch neu angeboten werden, das aber nicht mehr die Qualität von damals hat, nur noch so aussieht.

Interessant deshalb diese Zuschrift:

Hallo, Hadmut!

Von wegen UPN-Taschenrechner, die du hier angesprochen hattest:

https://www.danisch.de/blog/2021/12/08/erlebnisse-eines-mathelehrers/

Die modernen von HP sind grenzwertig (meiner Meinung nach Schrott), aber es gibt sie noch bzw. wieder, die guten alten HPs, und zwar als Clones aus der Schweiz:

https://www.swissmicros.com/products

Ich kann den DM-15L (HP-15C-Clone) und den DM-42 (HP-42-Clone) empfehlen, wobei der DM-15L das volle Retro-Feeling bietet und auch wirklich gut bedienbar ist; der DM-42 kann sehr viel mehr, und man sieht auch den ganzen Stack (alle 4 Register) auf einmal, aber das echte HP-Feeling will da nicht aufkommen.

In beiden steckt ein ARM, der den HP sehr originalgetreu emuliert. Beide haben USB, so daß man ihn an den PC anstecken kann und dort Firmware updaten oder HP-UPN-Programme laden und speichern kann. Der DM-42 verwendet eine Open Source -Firmware Free42, die auch auf dem Linux-PC läuft.

Den HP-15C gibt es auch als sehr gute Software-Emulation für Linux, Windows und MacOS X in Open Source:

https://hp-15c.homepage.t-online.de/content_web.htm

Das kann auch mit dem DM-15L über USB kommunizieren und damit UPN-Programme
austauschen.

Braucht man all das? Als echter Nerd absolut!

Ach, ich seh gerade, Free42 ist ab Ubuntu 21.10 mit dabei, muss ich mal ausprobieren.

Und die Dinger aus der Schweiz sehen auch gut aus. ARM-Prozesser, der die alten HP-Prozessoren emuliert. Nett.

Allerdings muss ich sagen, dass ich seit ewigen Zeiten eigentlich keinen Taschenrechner mehr brauche und – ich habe noch einige – sie so gut wie nicht mehr benutze. Weil ich halt immer einen Linux-Rechner zur Hand habe, und das dann eher in einer Skriptsprache oder calc rechne. Und wenn ich es wirklich im Taschenformat brauche, dann halt längst als App auf dem Handy.

Auch die umgekehrte polnische Notation ist zwar lustig und Hirngymnastik, und Forth hat einen Riesen-Spaß gemacht, aber seien wir ehrlich, man braucht es nicht nur nicht mehr, es ist wirklich anachronistisch.

Es waren natürlich die typischen Programmierübungen im Informatik-Vordiplom zu Rekursionen, Datenstrukturen, Sprachen, Automaten und Compilern, Formelausdrücke in verschiedenen Notationen zu parsen und zu konvertieren, Präfix-, Infix- und Postfix-Notationen, (also + 3 4 , 3 + 4 und 3 4 +), auszugeben und für Stack- und für Registermaschinen aufzubereiten, also im Prinzip Compiler zu bauen. Aber damit hat es sich dann eigentlich auch erledigt. Wenn man das mal hin- und herkonvertiert und die Mächtigkeiten der Sprachen betrachtet hat, beeindruckt einen das dann alles nicht mehr so sehr.

Und Forth hatte ich mal durchverstanden, weil ich mir das Forth, das es für den C64 gab, als Schüler mal disassembliert hatte und beeindruckt war, mit wie wenig echten Maschinencode das auskam, und wieviele seiner eigenen Funktionen in Forth geschrieben waren. Das ist aber auch schon 40 Jahre her. Und seien wir ehrlich: Programmieren will und kann man damit heute nicht mehr ernstlich. Wurde das nicht mal erfunden, um mit kleinsten Microcontrollern irgendwelche Teleskope ausrichten zu können? Und das Speichermodell war gruselig, weil für kleinste Speicher ausgelegt. Heute hat man für jeden neueren Microcontroller ein Micropython, LUA, C-Compiler.

gibt noch einen härteren Mindfuck: dein eigenes Forth schreiben.

“schreiben” ist z.B. jonesforth zerlegen und stück für stück neu aufbauen. wenn man zum ersten mal : double 2 * ; eingibt und nach dem ok ist es benutzbar, das ist schon echt fein.

https://github.com/nornagon/jonesforth/blob/master/jonesforth.S

man kann auch eForth oder camelforth für einen 8bitter der Wahl nehmen und damit herumhacken.

Oder besser mecrisp Forth auf einem 2€ blue pill ARM board laufen lassen.

Wenn du mal einen guten freien IPv6 Stack in Forth vorbeifliegen siehst, sag Bescheid

Man kann.

Aber man muss nicht.

Zumal ein Forth zu schreiben eben kein Mindfuck, sondern eine vergleichsweise sehr simple Übung war. Viel mehr als einen ganz simplen Parser, eine einfache Symbolverwaltung und ein paar Grundfunktionen muss man da nämlich nicht implementieren.

Und warum ich noch einen 8-Bitter einsetzen sollte, erschließt sich mir nur noch für die Randfälle, in denen Forth dann auch nur noch wenig Sinn ergibt.

Aber Forth für den ESP32 wurde ja schon entwickelt.