TECH 으로 돌아가기
TECH HACKER NEWS 오늘 5분 읽기 32 READS

마법사 책이라 불리는 전설의 강의, SICP 원본 영상 이야기

마법사 책이라 불리는 전설의 강의, SICP 원본 영상 이야기

프로그래밍 좀 하다 보면 반드시 만나는 그 책

개발을 어느 정도 하다 보면 한 번쯤은 이름을 듣게 되는 책이 있어요. 바로 SICP인데요, 우리말로는 "컴퓨터 프로그램의 구조와 해석"이라고 옮겨요. 표지에 마법사가 지팡이를 든 그림이 있어서 개발자들 사이에선 그냥 "마법사 책(Wizard Book)"이라고 부르기도 하거든요. MIT에서 1980년대에 컴퓨터공학 입문 수업(과목 번호 6.001)으로 쓰던 교재인데, 이 수업을 1986년에 영상으로 찍어둔 게 지금도 무료로 공개돼 있어요. 40년 가까이 된 강의지만, 여기서 다루는 이야기가 요즘 개발에도 그대로 통해서 여전히 꾸준히 추천되는 자료예요.

문법이 아니라 '생각하는 법'을 가르쳐요

요즘 프로그래밍 강의는 보통 "이 언어는 이렇게 쓰고, 이 함수는 이런 거예요" 하고 문법 위주로 알려주잖아요. 그런데 SICP는 좀 달라요. 강사인 해럴드 에이블슨 교수가 첫 시간에 던지는 유명한 문장이 있는데요. "컴퓨터 과학은 컴퓨터에 관한 것도 아니고, 과학도 아니다"라는 말이에요. 무슨 뜬구름 잡는 소리인가 싶지만, 뜻은 이래요. 이 수업은 특정 언어나 기계 자체를 배우는 게 아니라, 복잡한 문제를 어떻게 잘게 쪼개고 다시 조립할지 그 생각의 방법을 배우는 거라는 거죠.

이 강의는 Scheme이라는 언어를 써요. Scheme이 뭐냐면, Lisp이라는 아주 오래된 언어 계열의 한 갈래인데요. 괄호가 엄청 많아서 처음 보면 좀 당황스러워요. 예를 들어 1 + 2(+ 1 2)처럼 쓰거든요. 그런데 이렇게 문법이 단순하다 보니, 오히려 문법에 신경 뺏기지 않고 개념 자체에 집중할 수 있다는 게 장점이에요.

여기서 배우는 핵심 개념들

강의를 관통하는 주제는 크게 세 가지예요. 첫째는 추상화(abstraction)인데요, 복잡한 걸 상자에 담아서 "안이 어떻게 생겼는지 몰라도 쓸 수 있게" 만드는 기술이에요. 함수를 만들어서 이름만 알면 쓰게 하는 것도 추상화죠. 둘째는 고차 함수예요. 함수를 값처럼 다른 함수에 넘기고 돌려받는 건데, 요즘 자바스크립트나 파이썬에서 콜백이나 map, filter 쓰는 게 바로 여기서 나온 개념이에요. 셋째는 압권인데, 강의 후반부에 가면 직접 인터프리터를 만들어요. 언어를 실행하는 프로그램을 그 언어로 만드는 건데, 이걸 해보고 나면 "프로그램이 실행된다"는 게 마법이 아니라는 걸 몸으로 알게 돼요.

요즘 시대에도 볼 가치가 있을까

솔직히 말하면 이 강의는 편하게 보는 자료는 아니에요. 영상 화질도 옛날 느낌이고, Scheme은 실무에서 거의 안 쓰죠. 그래서 "실용성 없다"고 넘기는 사람도 있어요. 하지만 반대로, 특정 프레임워크는 몇 년이면 사라지지만 여기서 배우는 개념은 안 늙어요. 재귀, 상태와 변경, 평가 순서 같은 주제는 지금 리액트 상태 관리나 함수형 프로그래밍 유행 속에서 오히려 더 와닿거든요.

한국 개발자 입장에서 보면, 부트캠프나 실무로 빠르게 코딩을 익힌 분들이 한 번쯤 짚고 넘어가면 좋은 자료예요. "돌아가게는 만드는데 왜 이렇게 짜야 하는지는 모르겠다" 싶을 때, 이 강의가 그 밑바닥 감각을 채워줘요. 처음 몇 강만 봐도 프로그램을 바라보는 눈이 달라지는 걸 느낄 거예요.

혹시 여러분은 문법보다 개념을 먼저 배우는 게 맞다고 생각하세요, 아니면 일단 돌아가는 걸 만들면서 익히는 게 낫다고 보세요? 각자 배운 방식에 따라 의견이 갈릴 것 같은데 한번 이야기 나눠봐요.


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://ocw.mit.edu/courses/6-001-structure-and-interpretati...
SHARE
처리 중...