RPN의 추억 - 위 계산기 그림을 보고 "아-"하고 감탄사가 나온다면, 당신은 RPN 의 추억을 가진 사람이다.

HP (Hewlet-Packard) 의 계산기 제품이 채택했던 연산 입력 방식 Reverse Polish Notation. 이 방식은 Jan Lucasiewicz 와 Charles Hamblin 가 제안하였는데 연산자를 연산 대상의 다음에 쓰는 방식으로, 우리는 1 과 2 를 더할때 1 + 2 = 라고 쓰지만, RPN 방식으로 하면 1 2 + 혹은 1 (enter) 2 + 로 쓴다.

RPN 계산기에서 이 방식을 구현하면, 1과 2를 차례대로 메모리(스택, stack)에 넣고, 그 다음에 연산을 실행하고 사용했던 스택의 숫자들을 지워버리고 결과만을 마지막 스택에 남긴다. 계산기로 보면 키패드에 “=” 가 있는지 “enter” 키가 있는지에 따라 입력 방식이 다른 것이다. RPN 방식에 익숙해 지는데 시간이 걸리지만, 스택의 변화와 마지막 스택(Last X stack)까지 활용하게 될 정도로 익숙해지면 뜻밖에 계산기 입력이 빠르고 편리해진다.

프로그래밍이 가능한 공학용 계산기(Programmable Scientific Calculator)의 개발자인 HP 는 계산기의 제한된 메모리를 효과적으로 사용하기 위해서 이 방법을 채택하였다. 또, 계산기 프로그램 코딩도 RPN으로 좀 쉽게 구현되는 것도 장점이었다.

https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBE77P%2FbtqPKt7Jp4p%2FsWfEsJKQoO2T88S1IiO0r1%2Fimg.jpg

사진출처. https://en.wikipedia.org/wiki/HP-35#/media/File:HP-35_Red_Dot.jpg 저자 Mister rf - Own work CC BY-SA 4.0 File:HP-35 Red Dot.jpg Created: 1 November 2019

그러나 메모리와 가격이 싸지고 CPU가 빨라지니 굳이 RPN 방식을 안 써도 계산식의 많은 괄호나 중간 과정들을 임시 메모리에 저장했다가 불러오면서 계산이 가능해졌고, 유일하게 RPN 을 고수하던 HP 도 결국 일반 계산 모드로 쓸 수 있는 설정을 넣은 제품을 내 놓으면서 RPN 은 역사의 뒤안길로 사라졌고 HP의 공학용 계산기도 마찬가지 운명을 겪게 되었다. 그에 비해서 일반 계산 모드를 쓰는 Casio 와 Texas Instruments 의 계산기는 교육 시장에서도 널리 사용되고, 2021년 하반기 출시된 TI-84 Plus CE Python 모델은 칼라 화면에 파이썬 기능까지 포함되었다.

그래도 RPN 계산기를 쓰겠다구요? 구하기 쉽지 않습니다

HP 는 이제 $59.99짜리 HP-35S 만 RPN 공학용 계산기 제품으로 남겨 놓았고, 그나마 홈페이지에서는 "재고 없음"으로 표시하고 있다. (아직 아마존이나 쿠팡, 알리바바 에서는 새 제품을 구할 수 있다.) RPN 계산기 매니아들은 매년 컨퍼런스 를 열어 하드웨어, 소프트웨어에 대해서 정보를 교환하고 있고, 단종된 HP 계산기를 에뮬레이터로 복제한 클론 제품(예를 들어, SwissMicros 의 DM 시리즈)을 15~30 만원에 사서 쓰고 있다. 게다가 대부분의 OS 에는 HP 계산기 에뮬레이터가 있고, 공개된 라이브러리도 있는 만큼 손에 익은 RPN 계산기를 평생 사용하는 것은 충분히 가능하게 되었다. RPN Forever!

출처: https://wizysl.tistory.com/6592 [y s l * ! d e a :: wizysl의 * 아이디어]

My HP's

참고 자료

위키피디아 영문판 HP Calculators https://en.wikipedia.org/wiki/HP_calculators

David G. Hicks 의 The Museum of HP Calculators https://www.hpmuseum.org/

hpmuseum_20230421.png

Jon Johnston 의 HP Computer Museum http://www.hpmuseum.net/index.php

Handheld and Portable Computer Club http://www.hpcc.org/

SwissMicros https://www.swissmicros.com/company#company-history

Wolfram Alpha, RPN, https://www.wolframalpha.com/input/?i=rpn+