소련의 프로그래밍 언어들

in #kr7 years ago (edited)

pn-pravez-class-5.jpg

문득 냉전 시대에 소련에서는 무슨 프로그래밍 언어를 사용했을까 궁금해져서 찾아보다가, 소련 우주탐사 프로젝트들에서 사용된 언어들에 대해 알아봤습니다.

50년대까지는 스푸트니크처럼 목적이 단순하고 제한된 하드웨어에서 돌아가는 프로그램들이라 전부 어셈블리로 구현됐고, 60년대부터 본격적으로 소련만의 프로그래밍언어들이 개발되는데, 대부분 로켓개발 때마다 각 부서에서 각자의 용도에 따라서 프로그래밍언어가 새로 개발되는 형식이었던 것 같습니다.

나사의 경우는 아폴로 달착륙 때도 어셈블리로 코딩했지만, 어셈블리보다 좀 더 복잡한 프로그래밍의 필요가 생겨서 인터프리터가 버추얼머신을 구현하는 등 뭔가 눈부신 발전을 이뤘다고 합니다. 달착륙 당시 실제로 사용됐던 어셈블리 코드의 일부가 여기...

그러다 70년대에 들어서면서부터는 소련에서도 PL-1포트란도 중심적으로 사용하기 시작하고, Prolog를 비롯한 서방세계의 언어들을 모방한 언어들이 주류가 됐습니다. Kobra, YaVOD, PRIZ, YaOK, YaP 등의 이름을 가진 언어들이 개발됩니다.

80년대에 들어서면서 소련이 나사의 스페이스셔틀에 대응하는 부란 우주왕복선을 개발하는데, 어셈블리로는 프로그램 개발이 너무 힘들어질 정도로 시스템이 복잡해지면서 새로운 언어들을 개발했는데, 왕복선 자체 시스템 조종에는 Prol-2, 지상관제시스템을 위해 Dipol이라는 언어를 만들고, 두 언어 간의 호환을 가능케 해주는 Floks라는 object description 언어도 만듭니다. 또 모델링(시뮬레이션?)을 위한 언어 Laks도 만들었다고 하니, 뭔가 한 프로젝트를 위해 개발된 프로그래밍 언어만 네 가지나 되니 복잡한 것 같지만, 덕분에 부란 왕복선은 완전 무인 조종에다 당시 나사의 스페이스셔틀도 못하던 무인착륙까지 성공시켰다고 합니다.

그러나 역시 너무 많은 프로그램 언어의 사용으로 개발환경이 좋지 않다고 판단한 소련은 86년부터 이 언어들을 대체하기 위한 하나의 통일된 언어를 개발하기 시작했고 그게 Drakon(드래곤)입니다. 이건 순서도(flowchart)로 프로그램을 짜는 언어인데, 복잡한 개념들을 단순화시키고, 개발자들의 생각패턴을 더 논리적으로 바꿔주고, 우주탐사계획에 관여된 수십 개의 정부부서 간의 개념이해를 도와서 소통문제를 해결하고, 물리학자 공학자 수학자 의사 등등 서로 다른 분야의 전문가들이 함께 개발 가능한, 우주개발뿐 아니라 모든 컴퓨터 분야에서 활용될 수 있는 언어를 만들겠다는 원대한 목표를 가지고 개발됐습니다.

목표가 너무 원대했던 건지, 1996년에 Drakon이 완성됐을 때는 이미 부란 왕복선 프로그램이 취소된 지 3년 후였습니다. 그래도 그 후 Proton-M을 비롯한 러시아의 다양한 우주계획 프로그램들에 잘 활용되고 있다고 합니다.

Drakon을 개발환경으로 활용하는 프로젝트들도 눈에 띄는데, 예를 들어 Drakon으로 Python 프로그램 짜기... 어찌보면 Visual Studio랑도 비슷한 개념 같습니다.

Sort:  

잘 읽고 갑니다. 팔로우합니다.

Coin Marketplace

STEEM 0.12
TRX 0.24
JST 0.032
BTC 82554.35
ETH 1759.41
USDT 1.00
SBD 0.90