'hello, mathematics'라는 글자를 출력하도록 서로 다른 두 가지 언어로 코딩한 모습이다. - (주)동아사이언스/ ⓒ일러스트 허경미 제공
위 화면은 'hello, mathematics'라는 글자를 출력하도록 서로 다른 두 가지 언어로 코딩한 모습이다. 하나는 잘 알려진 C언어 코딩이고, 하나는 세계 최초 프로그래머인 에이다 러브레이스의 이름을 본 딴 '에이다 언어' 코딩이다.
이처럼 컴퓨터 소프트웨어를 작동시키는 데 꼭 필요한 코드는 누가 맨 처음 생각했을까? 코드는 1930년대 수학자들의 명제를 증명하기 위해 사용했던 논증 방법에서 출발했다. 당시 명제를 증명하기 위해 사용하던 알고리즘이 변화를 거듭하면서 지금의 모습에까지 이르게 된 것이다. 그런데 놀라운 사실은 세계 최초 프로그래머가 '백작부인' 신분의 여성이라는 점이다.
세계 최초의 프로그래머인 영국의 에이다 러브레이스 백작부인. - (주)동아사이언스 / ⓒ일러스트 강지연 제공
에이다는 1833년에 '해석기관'이라고 부르는 자동 계산기를 고안한 찰스 배비지의 제자다. 에이다는 당시 배비지의 연구를 프랑스어로 정리한 이탈리아의 수학자 루이지 메나브레의 논문을 영어로 번역하는 일을 맡았다.
그녀는 이 작업을 9개월에 걸쳐 진행할 정도로 열정을 보였다. 단순히 번역만 한 것이 아니라, 작업을 하면서 설명이 부족한 부분마다 주석을 달았다. 그 결과 에이다는 본문 내용에 두 배에 달하는 주석이 붙은 또 다른 한 권의 책을 완성했다.
특히 에이다는 이 책에서 프로그래밍 언어에 대한 개념 몇 가지를 정의했다. 그중 가장 주목받는 부분은 지금도 프로그래밍에서 사용하고 있는 '제어문' 개념이다. 제어문이란 반복문(loop), 점프문(jump), 조건문(if)과 같이 코드가 개발자가 입력한 코드가 실행되는 순서를 정해주는 명령어를 말한다.
에이다가 정리한 이 개념은 1970년대에 후대의 컴퓨터 과학자들이 '에이다'라는 이름의 정식 프로그래밍 언어가 됐다.
오늘날 우리는 코드에 둘러싸여 있다고 해도 지나치지 않다. 컴퓨터와 스마트폰이 필수품이 된 환경 속에서 정해진 알고리즘에 따라 움직이는 소프트웨어가 쓰이지 않는 곳이 없기 때문이다. 하루 65억 건씩 전송되는 카톡도 코드를 공유하는 오픈소스 환경 속에서 탄생했다. 구글 부사장인 수잔 보이치키는 "만약 당신이 코딩으로 새로운 기술을 창조할 수 있다면 당신은 세상을 바꿀 수 있다"고 코드의 중요성을 강조하기도 했다.
이밖에도 <수학동아> 9월호 특집기사에서는 미래의 공통어라고 불리는 코드에 대한 다양한 이야기를 만날 수 있다.
*수학동아-삼성전자 코딩 카페에 초대합니다!
<수학동아>에서는 9월 26일, '수학동아-삼성전자 코딩 카페'를 무료로 진행합니다. 소프트웨어 교육을 미리 체험하는 자리를 마련한 것으로, 삼성전자 주니어 소프트웨어 아카데미를 체험하게 됩니다. 이 프로그램의 핵심은 논리 알고리즘을 애니메이션과 스토리텔링 기법으로 코딩을 쉽게 경험하고, 체험해 보는 데 있습니다. 자세한 내용은 수학동아 9월호와 수학동아 홈페이지(math.dongascience.com) 공지사항에서 확인하세요!
수학동아 염지현 ginny@donga.com