Skip to main content

πŸ“– μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ λ°°μš°λŠ” SICP

Chanho Lee
λ‹€μ–‘ν•œ λΆ„μ•Όλ₯Ό κ³΅λΆ€ν•˜κ³  μžˆλŠ” 학생
info

ν•œλΉ›λ―Έλ””μ–΄ <λ‚˜λŠ” 리뷰어닀> ν™œλ™μ„ μœ„ν•΄μ„œ 책을 μ œκ³΅λ°›μ•„ μž‘μ„±λœ μ„œν‰μž…λ‹ˆλ‹€.

λ‚˜λŠ” 리뷰어닀 2023

Book Info​

tip

μ±… 이미지λ₯Ό ν΄λ¦­ν•˜λ©΄ ꡐ보문고 μ‚¬μ΄νŠΈλ‘œ μ΄λ™ν•©λ‹ˆλ‹€!

μ±…

  • 제λͺ©: μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ λ°°μš°λŠ” SICP
  • μ €μž: ν•΄λŸ΄λ“œ μ—μ΄λΈ”μŠ¨, μ œλŸ΄λ“œ 제이 μ„œμŠ€λ¨Ό, λ§ˆν‹΄ ν—¨μ¦ˆ, ν† λΉ„μ•„μŠ€ λΈŒλ¦­μŠ€νƒ€λ“œ, 쀄리 μ„œμŠ€λ¨Ό
  • μ—­μž: λ₯˜κ΄‘
  • μΆœνŒμ‚¬: ν•œλΉ›λ―Έλ””μ–΄
  • μΆœκ°„: 2022-12-30

Intro​

SICP(Structure & Interpretation of Computer Programs)λŠ” 컴퓨터 κ³Όν•™ λΆ„μ•Όμ—μ„œλŠ” 빠질 수 μ—†λŠ” 유λͺ…ν•œ λͺ…μ„œμ΄λ‹€. κ·ΈλŸ¬λ‚˜ μ΅œκ·Όμ—λŠ” λͺ¨λ₯΄λŠ” μ‚¬λžŒμ΄ 더 λ§Žμ„ 것이닀. λ‚˜ λ˜ν•œ 이 책을 처음 μ•Œκ²Œ 됐을 λ•Œκ°€ 2020λ…„λ„μ˜€λ‹€. μ•Œλ”λΌλ„ 이 책에 λ„μ „ν•˜λŠ” μ‚¬λžŒμ€ λͺ‡ μ—†μ—ˆλ‹€. κ·Έ μ΄μœ λŠ” Schemeμ΄λΌλŠ” μƒμ†Œν•œ μ–Έμ–΄λ₯Ό μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. MITμ—μ„œλ„ μˆ˜μ—… ꡐ재둜 μ“°μ˜€λ˜ μ±…μ΄μ—ˆκ³ , 이 λΆ„μ•Όμ—μ„œλŠ” κ½€ 유λͺ…ν•œ 책이라 읽어보고 μ‹Άμ—ˆμ§€λ§Œ 인곡지λŠ₯에 λΉ μ Έ μ„ ν˜•λŒ€μˆ˜ν•™μ„ κ³΅λΆ€ν•˜κ³  μžˆμ„ λ•ŒλΌ μ•„μ‰½κ²Œλ„ 읽을 μ‹œκ°„μ΄ μ—†μ—ˆλ‹€.

이번 λ‚˜λŠ” 리뷰어닀 2023에 μ°Έμ—¬ν•˜κ²Œ λ˜μ–΄ JavaScript둜 κ°μƒ‰λœ 이 책을 읽을 수 있게 됐닀. μ—„μ²­λ‚œ ν–‰μš΄μ΄λΌ μ—¬κΈ΄λ‹€. 이 책이 λ‘κΊΌμ›Œ μ™„λ…κΉŒμ§€ μ–Όλ§ˆλ‚˜ κ±Έλ¦΄μ§€λŠ” λͺ¨λ₯΄κ² μ§€λ§Œ, 계속 κΎΈμ€€νžˆ 읽어볼 μ˜ˆμ •μ΄λ‹€.

Book Review​

JavaScript​

이 책은 μ›λž˜ Schemeμ΄λΌλŠ” μ–Έμ–΄λ‘œ μ“°μ˜€λ˜ 책이닀. Scheme은 LISPλΌλŠ” μ–Έμ–΄μ˜ ν•œ 방언이닀. λ‘˜ λ‹€ ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ— 관심이 μžˆλ‹€λ©΄ λ“€μ–΄λ³Ό λ§Œν•œ μ–Έμ–΄μ΄μ§€λ§Œ κ½€ μƒμ†Œν•œ 언어이닀.

이 책을 리뷰할 λ•Œ λ‹Ήμ—°νžˆ μ²˜μŒλΆ€ν„° ν•˜κ³  싢은 말은 이 책이 JavaScript둜 μ“°μ˜€λ‹€λŠ” 점이닀. 접근성을 맀우 λ†’μ˜€λ‹€κ³  말할 수 μžˆλ‹€. 이제 λ‚˜λ₯Ό ν¬ν•¨ν•˜μ—¬ 이 책에 관심 있던 μ‚¬λžŒλ“€μ΄ 읽을 수 있게 됐닀. 이게 λ‹€ μžλ°”μŠ€ν¬λ¦½νŠΈ, 파이썬 λ“± 자주 μ“°μ΄λŠ” 언어에도 ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ΄ μΆ”κ°€λ˜μ–΄ 이 책을 읽을 수 있게 됐닀. ꡳ이 LISPκ³Ό Scheme을 λͺ°λΌλ„ ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ„ λ°°μ›Œλ³Ό 수 μžˆλŠ” κΈ°νšŒκ°€ 생긴 것이닀.

μ—„μ²­λ‚œ λ‘κ»˜β€‹

λ‘κ»˜μ— μ••λ„λ‹Ήν•˜λŠ” 책이닀. 전곡책이 μƒκ°λ‚˜λ©° 이 책을 λ°›μ•˜μ„ λ•Œ 'μ–Έμ œ λ‹€ 읽지?'λΌλŠ” 생각이 λ“€μ—ˆμ„ 정도이닀. μ°Έκ³ λ¬Έν—Œ(Bibliography), 찾아보기(Index)λ₯Ό μ œμ™Έν•΄λ„ 824μͺ½μ΄λ‚˜ λœλ‹€. κ·ΈλŸ¬λ‚˜ μ΄λ ‡κ²Œ λ‘κΊΌμš΄ λ°λŠ” λ‹€ μ΄μœ κ°€ μžˆλ‹€.

첫 번째 이유둜 μ—°μŠ΅λ¬Έμ œκ°€ κ½€ λ§Žλ‹€. μ–΄λŠ 정도 μ•žλΆ€λΆ„μ„ μ½μ—ˆμ„ λ•ŒλŠ” 'μž¬λ°ŒλŠ” λ¬Έμ œκ°€ λ§Žλ„€.' μ •λ„μ˜€λŠ”λ° λ’€λ‘œ 갈수둝 점점 더 μ–΄λ €μš΄ λ¬Έμ œλ“€μ΄ 많이 λ‚˜μ˜¨λ‹€. 특히 sin ν•¨μˆ˜λ₯Ό 계산해보기도 ν•˜κ³ , 적뢄을 ν•˜λŠ” λ“±μ˜ μˆ˜ν•™κ³Ό κ΄€λ ¨λœ λ‚΄μš©μ΄ λ§Žλ‹€. λ˜ν•œ, μ•Œκ³ λ¦¬μ¦˜ λ¬Έμ œμ— 자주 μ‚¬μš©λ˜λŠ” κ°œλ…λ“€λ„ λ§ŽκΈ°μ— 사전에 μ•Œκ³ λ¦¬μ¦˜ μˆ˜μ—…μ„ λ“€μ–΄λ΄€κ±°λ‚˜ 곡뢀해 λ³Έ μ‚¬λžŒμ΄λΌλ©΄ μ½λŠ” 데 μœ λ¦¬ν•  것이닀.

두 번째 이유둜 컴퓨터 κ³Όν•™κ³Ό κ΄€λ ¨λœ λ‹€μ–‘ν•œ 주제λ₯Ό λ‹€λ£¨λ©΄μ„œ μ„€λͺ…도 κ½€ μžμ„Έν•˜λ‹€. ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λΏλ§Œμ΄ μ•„λ‹ˆλΌ 자료ꡬ쑰, 컴파일러, λ™μ‹œμ„±, 논리 회둜 등이 μ±…μ—μ„œ λ‚˜μ˜¨λ‹€. 그렇기에 μ „λ°˜μ μΈ CS 지식이 μžˆλ‹€λ©΄ 읽기 λ”μš± μ‰¬μšΈ 것이라 μƒκ°ν•œλ‹€.

λŒ€μƒ λ…μžβ€‹

ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°κ³Ό μ „λ°˜μ μΈ CS 지식을 κ³΅λΆ€ν•˜κ³  싢은 μ‚¬λžŒμ—κ²Œ 이 책을 μΆ”μ²œν•˜κ³  μ‹Άλ‹€. λ˜ν•œ, κΎΈμ€€νžˆ 곡뢀 μŠ΅κ΄€μ„ 길러보고 싢은 λΆ„λ“€κ»˜λ„ μΆ”μ²œν•œλ‹€. 이 책은 무렀 μ•½ 800μͺ½μ˜ λ‘κΊΌμš΄ 책이닀. 그렇기에 μ‹€μ œλ‘œ 이 책을 읽닀가 ν¬κΈ°ν•˜μ‹  뢄듀도 λ§Žλ‹€κ³  μ•Œκ³  μžˆλ‹€. 완독을 λͺ©ν‘œλ‘œ ν•œλ‹€λ©΄ λ‹€λ₯Έ μ„ μˆ˜ 지식은 λ‹€ ν•„μš” μ—†κ³  인내심을 κ°–κ³  천천히 μ½λŠ” 것을 μΆ”μ²œν•œλ‹€.