
처음 얼랭 코드를 봤을 때가 생각나네요. B사의 인하우스 빌드 시스템은 얼랭으로 개발되어 있었는데요. 정말 알 수 없는 수식처럼 느껴지는 코드였죠.
조 암스트롱 박사는 '시스템은 언제든 고장날 수 있다'는 것을 인정하고, 고장난 부분을 격리하여 재시작함으로써 시스템 전체가 멈추는 것을 방지하자는 철학으로 얼랭 언어를 설계합니다. 이 철학은 액터 모델(Actor Model)과 프로세스 격리 구조에 녹아있습니다.
얼랭은 스웨덴의 통신회사 에릭슨에서 탄생했습니다. 에릭슨은 소프트웨어 고장없이 24시간 365일 동작하는 통신 교환기 소프트웨어를 개발하고 있었습니다. 이를 효과적으로 구현하기 위한 언어를 만드는데, 그것이 바로 얼랭, 즉 에릭슨 언어(Erricsoon Language)가 됩니다. 물론 전화통신 트래픽 이론의 선구자였던 아그너 크룹 얼랭(A.K. Erlang)의 이름에서 따왔다고도 합니다.
얼랭은 경량 프로세스를 수백만개까지 동시에 생성하여 격리된 상태로 실행할 수 있었습니다. 그래서 대규모 시스템이나 수많은 사용자 요청을 처리하는 분산 애플리케이션을 개발하는 언어로 주목받고 있습니다.
조암스트롱은 원래 물리학을 전공했는데, 박사과정 중 자금이 바닥나면서 컴퓨터 과학으로 전향하여 AI분야를 연구합니다. 이후 라이트힐 보고서때문에 AI 자금이 고갈되자 다시 물리학 관련 프로그래밍으로 돌아가 연구를 이어갑니다.
이번 글을 정리하면서 찾아보니 조 암스트롱 박사님의 유튜브 동영상이 많네요. 구글에서 'Youtube Joe Armstrong Erlang'으로 검색해 보세요.
같은 문제를 풀고 있는 동료와의 대화는 아주 소중하죠
세월이 흐르면서 깨달은 것은 제가 온전히 몰입했을 때 정말 좋은 코드가 나온다는 점입니다.
직관이 아주 중요합니다. 무엇이 옳은지 바로 알 수 있는 능력이요
코드를 짜지 않고도 깨달음을 얻을 수 있으면 좋을텐데, 제 생각에는 이제는 할 수 있는 것 같아요. 그래서 이 기간, 20년쯤 걸린 이 기간을 프로그래밍 방법을 배운 기간이라고 생각합니다.
코드가 참조 투명성을 가졌다면, 다시 말해 모든 데이터가 입력 인자로 들어오고 모든 결과를 내보내며 아무런 상태도 남기지 않는 순수함수라면 재 사용성이 매우 높습니다.
신뢰성을 획득하는 유일한 방법은 무언가가 오류가 날 것이라고 가정하는 것입니다.
잘 작동하지 않는다면, 멈추고 다시 시작하십시오.
병렬성이 미래입니다. 직렬성이 아닙니다.
저는 프로그래밍 언어를 설계할 때 '단순함(Simplicity)'을 가장 중요하게 생각했습니다. 복잡성은 오류의 근원입니다.
Joe Armstrong's Erlang talks
www.youtube.com
국내 유일의 Erlang 책: 프로그래밍 얼랭
프로그래밍 얼랭 | 조 암스트롱 - 교보문고
프로그래밍 얼랭 |
product.kyobobook.co.kr
조 암스트롱의 인터뷰는 <<오래된 인터뷰 ,개발자의 미래를 긷다 2(Coders At Work)>> 책의 6번째 인터뷰에 실려있습니다.
오래된 인터뷰, 개발자의 미래를 긷다 2 | 피터 사이블 - 교보문고
오래된 인터뷰, 개발자의 미래를 긷다 2 | 급변하는 컴퓨팅 기술에 답하는 우리 시대 대가들의 사유컴퓨팅 기술의 역사를 살펴보면 대체로 기술의 복잡도는 높아지고 수명은 짧아지는 양상을 발
product.kyobobook.co.kr
'인물' 카테고리의 다른 글
| C언어 벽돌책을 집필한 기계공학도 터보28 임인건 님 (0) | 2025.11.28 |
|---|---|
| 앤디 루빈 (Andy Rubin): '안드로이드'를 만든 모바일 OS 혁명의 설계자 (0) | 2025.11.27 |
| 로드러너(Lode Runner)를 만든 더글러스 E. 스미스 (Douglas E. Smith) (0) | 2025.11.25 |
| 루씬과 하둡을 만든 '빅 데이터' 혁명의 아버지,더그 커팅 (Doug Cutting) (0) | 2025.11.24 |
| 한국 컴퓨터 공학의 기틀을 세운 선구적 교육자, 황희융 교수 (0) | 2025.11.21 |