Yorick Phoenix가 처음 배운 프로그래밍 언어 CESIL과 초기 배치 처리 환경에서 코드를 작성하던 경험을 돌아본다.
January 29, 2026
나는 언어에 약하다. 학교에서 프랑스어를 배웠다. 싫어했다. 한동안 독일에 살았을 때는 돌아다니는 데 충분할 만큼은 배웠다. 독일어는 즐거웠다. 에스페란토는 늘 멋진 아이디어라고 생각했지만 시도해 본 적은 없다. 내 아내는 Wales 출신이고 Welsh는 특히 배우기 어렵고, 내 경우에는 발음하기조차 어려운 언어로 알려져 있다. 나는 여러 다른 언어를 배우는 데 꽤 소질이 없고, 게다가 그럴 큰 필요도 없다는 결론에 이르렀다. 물론 내가 세계 어디를 가든 모두가 영어를 하리라고 기대하는 것은 아니다. 비록 많은 경우 실제로 그렇고, 여러 면에서 나보다 더 잘하긴 하지만 말이다. 그래서 한동안 전 아예 시도조차 하지 않기로 했다. 그래도 Welsh를 조금 배워 보려고 하긴 했지만, 처참하게 실패했다.
반면 컴퓨터 언어는 내게 한 번도 문제를 일으킨 적이 없다.
새로운 언어를 하나 주면 나는 금방 익히고, 빠르게 능숙해지며, 계속 붙들고 있으면 숙련 수준에 이르고, 1-2년이 지나면 그 언어에 대해 알 수 있는 거의 모든 것을 알게 된다. 어떤 언어는 그 수준까지 가고, 어떤 언어는 무언가를 시험해 보거나 문제를 해결하거나 친구를 돕기 위해 필요한 만큼만 배운다.
나는 일을 하며 수년 동안 많은 언어를 배웠고, 가끔씩 그것들을 어떤 순서로든 모두 적어 보려고 한다. 그러고는 그 목록을 잃어버린다.
이것은 새로운 목록의 시작이다. 내가 기억할 수 있는 한 최대한 연대순으로, 내가 접했거나 코드를 작성했던 모든 언어를 훑어볼 것이다.
Computer Education in Schools Instruction Language.
이것은 내가 13살쯤에 배운 바로 그 첫 번째 언어였다.
이것은 영국 학교들을 위해 설계되었고, 14개의 명령어를 가진 어셈블리 수준의 언어다. 내가 지금까지 처음으로 작성한 첫 프로그램은 숫자 세 개를 정렬하는 것이었다.
돌이켜보면 이것은 프로그래밍을 배우기에 아주 훌륭한 방법이었다고 생각한다.
CPU가 동작하는 방식에 꽤 가까운 수준에서 배우는 것은 컴퓨터가 당신을 위해 정확히 무엇을, 어떻게 하고 있는지 잘 이해하게 해 준다.
Lisp, Python 또는 Javascript 같은 더 고수준 언어로 프로그래밍을 배우는 것은 그렇지 않다. 그것은 시간과
자원 양쪽 모두에서 효율적인 데이터 및 코드 설계를 구축할 수 있는 좋은 기초를 마련해 준다. 비록 오늘날에는 둘 다 꽤 풍부하지만 말이다.
그 당시 CESIL로 작성한다는 것은 코딩 시트에 프로그램을 써내는 것을 의미했다:

그것은 이후 80열 천공 카드 한 뭉치로 옮겨 적히기 위해 보내졌다:

그 카드는 이후 카드 리더기에 넣어져 배치 작업의 일부로 IBM 370 컴퓨터에서 실행되었다:

결과는 인쇄되어 우편으로 다시 보내졌다.
당신이 코드를 제출한 때부터 결과를 돌려받기까지, 그리고 오타를 내지 않았기를 바라는 그 대기 시간은…… 2주였다. 두 주의 생산성을 날리기 전에 제대로 작동할 가능성이 높다는 것을 확인하기 위해 코드를 매우 신중하게 작성하고 ‘드라이 런'하는 법을 아주 빨리 배우게 되었다.
나중에는 그 2주의 처리 시간을 우회해서 이틀로 바꾸는 방법을 찾아냈다.
CESIL은 NET, Java, Javascript 또는 Python으로 작성된 많은 에뮬레이터를 통해 지금도 살아 있다. 더 많은 정보는 cesil.org에서 찾을 수 있고, CESIL을 위한 내 Javascript 인터프리터는 여기에서 찾을 수 있다.
2부는 여기에 있다.
Kudos
Kudos