OCaml로 프로그래밍 배우기

8 hours ago 4

Hacker News 의견들 컴퓨터 과학자의 첫 언어로는 ML 계열을 가르쳐야 한다고 봄. 반면 평생 사용할 유일한 언어를 가르치는 경우라면 선택이 훨씬 불분명함. 요즘은 Python이 흔하고, 통계가 중요한 분야에서는 R을, 때로는 Java를 쓰기도 함. 내가 일하는 대학은 수십 년간 Java를, 최근에는 Python을 첫 언어로 가르쳤지만 내 생각은 확고함. 오래전 학부에서 Standard ML of New Jersey를 배웠으나, 그 경험이 인류에게 무엇을 가르쳐야 하는지에 대한 판단을 지나치게 좌우하지는 않았다고 생각함. ML 계열은 프로그래밍의 이론과 추상화를 배우기 좋지만, 컴퓨터가 프로그램을 실행하는 방식을 이해하기에는 C가 단연 최고임. C도 추상화이기는 하지만, ML 계열이 감출 수 있는 메모리 관리와 복사·참조의 차이를 인식하는 것은 매우 중요함. 첫 언어의 영향력이 얼마나 큰지는 모르겠음. 가장 큰 영향은 프로그래밍을 계속 배울지 결정하게 만드는 것일 수도 있음. 컴퓨터 과학자들이 지나치게 비슷해지면 잃는 것도 있을 것 같음. Lisp 신봉자와 C를 절대적으로 지지하는 쪽 중 어느 한쪽이라도 빠지면 이 분야의 풍부함이 줄어들 것임. 첫 언어로 다양한 언어를 가르치는 것은 좋은 일이며, 그 다양성이 더 커지길 바람. Forth부터 가르치는 컴퓨터 과학 학위 과정은 아직 보지 못함. 내가 아는 OCaml 학습 자료 중 최고는 CS3110: OCaml Programming: Correct + Efficient + Beautiful임. 전체를 끝까지 공부했고, OCaml뿐 아니라 프로그래밍 학습 자료 전체를 통틀어서도 손꼽을 만해 적극 추천함. https://cs3110.github.io/textbook/cover.html 조금 곁가지지만, OCaml 창시자 Xavier Leroy의 훌륭한 인터뷰를 추천함. https://www.youtube.com/watch?v=9Cswiqrq6So Ryan Peterman의 언어 설계자 인터뷰 시리즈 전체를 추천함. 설계자들이 어떻게 사고하는지, 무엇을 배울 수 있는지 엿볼 수 있음. 특히 기본 개념을 반복해서 짚고 그 위에 차근차근 쌓아가는 모습이 인상적임. 유명 프로그래머의 인터뷰에서도 복잡한 언어 기능을 화려하게 논하는 모습을 자주 보는 것과 대조됨. 전문가는 머릿속에 지식을 구조화해 무엇이 핵심이고 무엇이 군더더기인지 직관적으로 구별하는 듯하며, 우리가 ...

Read Entire Article