- Bij de omgekeerde Poolse notatie, ofwel postfixnotatie, worden de operatoren na de operanden geplaatst, waardoor het gebruik van haakjes overbodig is.
- Het is afgeleid van de Poolse prefixnotatie die door Jan Łukasiewicz is ontwikkeld om de propositionele logica te vereenvoudigen.
- Het werd enorm populair gemaakt door Hewlett-Packard in iconische rekenmachines zoals de HP-9100A en de HP-35.
- In de informatica wordt dit geïmplementeerd door middel van stacks, en is het fundamenteel in systemen zoals Unix en stackgeoriënteerde programmeertalen.
Je hebt je vast wel eens afgevraagd hoe die oude wetenschappelijke rekenmachines vanbinnen werkten, of waarom sommige programmeertalen wiskunde achterstevoren lijken te schrijven. Hoewel ons van jongs af aan is geleerd dat optel- en aftreksymbolen altijd in het midden van getallen staan, bestaat er een fascinerende wereld genaamd omgekeerde Poolse notatie die breekt met alles wat we weten.
Dit systeem is geen moderne uitvinding; het vindt zijn oorsprong in pure logica en de wens om algebraïsche uitdrukkingen efficiënter te maken. In tegenstelling tot wat we gewoonlijk doen, verandert de volgorde van de factoren hier wel degelijk de manier waarop ze worden geschreven, waardoor we haakjes volledig kunnen negeren en de gegevensinvoer in computersystemen kunnen vereenvoudigen.
De oorsprong: van Jan Łukasiewicz tot computergebruik

Het begon allemaal in 1924 dankzij een briljante Poolse wiskundige, logicus en filosoof genaamd Jan Łukasiewicz . Hij wilde de propositionele logica vereenvoudigen en creëerde wat bekend staat als prefixnotatie (of Poolse notatie), waarbij de operator vóór de operanden wordt geplaatst. Als we bijvoorbeeld 3 en 4 willen optellen, schrijven we in plaats van 3 + 4, + 3 4.
Hoewel het aanvankelijk een curiositeit leek voor logici en filosofen, en zelfs door Alonzo Church werd genoemd in zijn teksten over wiskundige logica, vond het idee uiteindelijk zijn weg naar de wereld van de computerwetenschappen. Sterker nog, de programmeertaal LISP baseert zijn syntaxis precies op dit prefixmodel, wat aantoont dat wat in de logica is ontstaan, uiteindelijk een krachtig hulpmiddel voor programmeren is geworden.
Wat is omgekeerde Poolse notatie precies?

Terwijl bij prefixnotatie de operator vóór de operand wordt geplaatst, doet omgekeerde Poolse notatie (ook bekend als RPN of postfixnotatie) het tegenovergestelde: de operatoren worden ná de operanden geplaatst. Zo wordt onze gebruikelijke som van 2 en 5 2 5 +.
Het krachtigste aspect van dit systeem is dat, zolang de operatoren een vast aantal operanden hebben, de haakjes kunnen worden weggelaten . Neem bijvoorbeeld de bewerking 5 * (12 + 4). In het traditionele systeem hebben we de haakjes nodig om eerst de optelling af te dwingen; in RPN wordt dit echter eenvoudigweg geschreven als 5 12 4 + * . Dit is veel overzichtelijker en eenvoudiger voor een machine.
De gouden eeuw van Hewlett-Packard en rekenmachines

Halverwege de jaren zestig perfectioneerde de Australische wetenschapper Charles Leonard Hamblin de algoritmes voor de implementatie van dit systeem in elektronische apparaten. Hewlett-Packard besloot er vervolgens in te investeren en lanceerde in 1968 de HP-9100A, een desktoprekenmachine die de markt veranderde. Kort daarna verscheen de legendarische HP-35 , de eerste wetenschappelijke rekenmachine op zakformaat, waarmee RPN tussen 1972 en 1975 in handen kwam van duizenden ingenieurs en studenten.
Het gebruik van deze machines vergde weliswaar iets meer denkwerk om het resultaat te interpreteren, maar het was veel efficiënter qua toetsaanslagen . In plaats van een lange formule in te typen en op 'gelijk aan' te drukken, voerde je getallen en operatoren in die direct werden verwerkt, waardoor de workflow veel efficiënter werd.
Technische implementatie: Schoorstenen en leidingen

Vanuit programmeerperspectief is RPN fantastisch omdat het extreem eenvoudig te implementeren is met behulp van een datastructuur genaamd een stack . Het systeem slaat getallen op de stack op en zodra een operator verschijnt, haalt het de laatst ingevoerde waarden eruit, voert de berekening uit en plaatst het resultaat terug op de stack.
Deze efficiëntie is de reden waarom, hoewel we niet langer zoveel fysieke rekenmachines met dit systeem zien, RPN nog steeds een belangrijke rol speelt in de moderne technologie. Het wordt veelvuldig gebruikt in stack-georiënteerde programmeertalen en in besturingssystemen gebaseerd op pipelines of dataflow, met Unix als klassiek voorbeeld.
Bijzonderheden over Łukasiewicz en logica
Jan Łukasiewicz heeft ons niet alleen deze manier van wiskunde schrijven nagelaten. Hij was een pionier op het gebied van meerwaardige logica en modale logica. Hij pakte zelfs intellectuele uitdagingen aan zoals de leugenparadox (de zin "dit is onwaar"). Zijn oplossing was briljant: hij betoogde dat logische principes alleen van toepassing zijn op objecten die waarden van variabelen kunnen zijn, en aangezien die tegenstrijdige zin geen waarde van een variabele kan zijn, valt hij simpelweg buiten de logica en kan hij niet worden geanalyseerd met traditionele logische methoden.
Deze fascinerende reis van het brein van een Poolse logicus naar de circuits van HP-rekenmachines en de Unix-kernel laat ons zien hoe een alternatieve manier om informatie te ordenen de gegevensverwerking kan optimaliseren. Door het gebruik van haakjes overbodig te maken en te vertrouwen op het gebruik van stacks, blijft de omgekeerde Poolse notatie een onzichtbare maar fundamentele pijler in de architectuur van veel moderne computersystemen.