π μ λμ€μ νμ
βΉοΈ Book Infoβ
μ± μ΄λ―Έμ§λ₯Ό ν΄λ¦νλ©΄ κ΅λ³΄λ¬Έκ³ μ¬μ΄νΈλ‘ μ΄λν©λλ€!
- μ λͺ©: μ λμ€μ νμ
- μ μ: Brian W. Kernighan
- μμ: νμ±μ°½
- μΆνμ¬: νλΉλ―Έλμ΄
- μΆκ°: 2020-08-03
π¬ Introβ
μ΄ μ± λ μ§ κ·Όμ² λμκ΄μμ λΉλ € μ½μ μ± μ΄λ€. μ΄ μ± μ μ²μ μ ν κ³³μ νλΉλ―Έλμ΄ νμ΄μ€λΆ νμ΄μ§μλ€. κ·Έλ λ§μΉ¨ λνμμ μ΄μ체μ κ°μλ₯Ό λ£κ³ μμκΈ° λλ¬Έμ μ½μ΄λ³΄κ³ μΆλ€λ μκ°μ νμΌλ, νκΈ° μ€μλ λ무 λ°λΉ μ½μ μκ° μμλ€. μ΄ μ± μ λν΄ μ무 μκ° μμ΄ μ§λ΄λ€κ° λμκ΄μμ λ°κ²¬νκ² λκ³ , "곡곡 λμκ΄μ μ μμ§?"λΌλ μλ¬Έμ΄ μμμΌλ μ΄μ¨λ λΉλ € μ½κ² λλ€.
π Book Reviewβ
μ΄λ€ μ± μΈκ°?β
μ μμΈ λΈλΌμ΄μΈ 컀λνΈμ νκ³ λ‘ κ°μ μ± μ΄λ€. λΈλΌμ΄μΈ 컀λνΈμ CμΈμ΄λ₯Ό μμλ‘ κ³΅λΆν΄λ³Έ μ¬λμ΄λ©΄ μλ The C Programming Languageμ μ μ μ€ ν λͺ μ΄λ€. μ΄ μ± μ CμΈμ΄ μ°½μμμΈ λ°λμ€ λ¦¬μΉμ ν¨κ» μΌλ€.
μ μκ° λ²¨ μ°κ΅¬μμμ κ²½ννλ μΌλ€, λλ£ κ°λ°μλ€κ³Ό κ΄λ ¨λ μ¬λ΄ λ± μ¬λ°λ μΌνλ€μ μλ €μ€λ€. CμΈμ΄λ₯Ό λ§λ λ°λμ€ λ¦¬μΉ, λ°λμ€ λ¦¬μΉμ ν¨κ» μ λμ€λ₯Ό λ§λ€κ³ νμ¬λ ꡬκΈμμ GoμΈμ΄λ₯Ό 곡λ κ°λ°ν μΌ ν°νμ¨ λ± μμ²λ κ°λ°μλ€μ μ΄λ¦μ΄ μΈκΈλλ©°, κ·Έ λΉμ 벨 μ°κ΅¬μκ° μΌλ§λ μ리ν μ¬λλ€μ΄ λ§μμΌλ©° μλνλμ§ μλ €μ€λ€. λν, μ λμ€κ° μ΄λ»κ² λ§λ€μ΄μ‘κ³ μ΄λ»κ² λ°μ νλμ§ λ± μ λμ€μ μμ¬λ₯Ό 보μ¬μ€λ€.
μ λ§ 'κ²½μ΄λ‘λ€'λΌλ λ§μ΄ μ΄μΈλ¦¬λ μ± μ΄λ€. μ€κ°μ€κ° μ λμ€ κ°λ° κ³Όμ μ μ€λͺ ν λ μμ€ κ°μ λλλ μ€λ€. λν, ν¨κ» μλ λλ£λ€μ λ©μΌμ΄λΌλκ° κ·Έλ€μ΄ μ§μ ν μΈν°λ·°κ° λμ€λλ° κ·Έλ° λΆλΆμ μ½λ κ²λ μ¬λ°λ ꡬμ±μ΄λΌκ³ μκ°νλ€. μ΄λ¬ν μμ¬λ₯Ό μ΄λ»κ² λ€ κΈ°μ΅νλμ§ λλμλ€. κΈ°λ‘μ νμλ€κ³ ν΄λ 'μ΄ λ§μ λ΄μ©λ€μ μ΄λ»κ² λ€ κΈ°λ‘μ νμμ§?'λΌκ³ μκ°μ΄ λ€ μ λμλ€.
κΈμ°κΈ°μ μ§μ¬β
벨 μ°κ΅¬μμ κ³μ ¨λ κ°λ°μλ€μ κΈμ°κΈ°μ λν μ§μ§ν νλλ₯Ό κ°μ‘μΌλ©°, μλ‘ λΉνν΄μ£Όκ³ , κ²½μμ§μ μ§μ§κΉμ§ λ°μμλ€κ³ νλ€. κ·Έλ κΈ°μ μΈμμ λͺ¨λ κ°λ°μμκ² μν₯μ λΌμΉλ μ± λ€λ μΆκ°ν μ μμμ§ μμμκΉ. λλ μ΄λ° λλ¨ν κ°λ°μλ€μ΄ κ°λ°ν μΈμ΄λ₯Ό 곡λΆνκ³ , μΆκ°ν μ± λ€μ μ½μΌλ©° 곡λΆν νμμ΄κΈ°μ μ΄λ° λΆλΆμμ λ§€μ° κ°λͺ κΉμλ€.
λ κ°λ°μλ₯Ό λͺ©νλ‘ κ³΅λΆνλ λνμμ΄μ§λ§ κΈμ°κΈ°λ₯Ό μ’μνλ μ΄λ κ² μ± μ 리뷰νκ±°λ 곡λΆν λ΄μ©λ€μ μ 리νλ λΈλ‘κ·Έλ₯Ό μ΄μνκ³ μλ€. λκ΅°κ°μκ² λμμ΄ λμΌλ©΄ νλ λ§μμΌλ‘ μ κ³ μλ€. μμΌλ‘λ λλ κΈμ°κΈ°λ₯Ό κ³μ μ°μ΅νκ³ , λΈλ‘κ·Έλ₯Ό ν΅νμ¬ μΈμμ μ§μμ λ¨κΈ°λ κ°λ°μκ° λκ³ μΆλ€.
μ¬λ°λ μΌνβ
μ΄ μ± μλ μ¬λ°λ μΌνλ€μ΄ λ§μ΄ λμ¨λ€. μ λμ€λΌλ μ΄λ¦λ μ¬μ€ λ©ν±μ€(Multics, Multiplexed Information and Computing Service)μμ λ°μ¨ λ§μ₯λμ΄μμΌλ©°, μλ μ΄λ¦μ UNICSμλλ° AT&T λ³νΈμ¬λ€μ΄ eunuchs(λ΄μ)μ λ°μμ΄ μ μ¬νλ€κ³ νμ¬ UNICSλ₯Ό μ’μνμ§ μμλ€κ³ νλ€.
CμΈμ΄λ₯Ό 곡 λΆν λ μμ£Ό μ°λ malloc λΌμ΄λΈλ¬λ¦¬λ₯Ό λ§λ λκΈλ¬μ€ 맀ν΄λ‘μ΄μ λν μΌνμ κ΄ν μ΄μΌκΈ°λ λμ¨λ€. CμΈμ΄λ₯Ό 곡λΆν΄λ³Έ μ¬λμ΄λΌλ©΄ λμ± μ¬λ°κ² μ½μ μ μλ ν¬μΈνΈλ€. μ΄λ°μλ UNIXμμ νμΌμ λ§λλ system call μ΄λ¦μ΄ creatμΈ μ΄μ λ μ¬μ€ μΌ ν°νμ¨μ μ€νμλ€λ μ¬λ°λ μΌνλ μ μ μλ€.
μ΄λ°μλ GitHubμμ MIT λΌμ΄μ μ€μ κ°μ΄ μμ£Ό μ°μ΄λ BSD λΌμ΄μ μ€λ μ¬μ€ μ λμ€ λλ¬Έμ λμ€κ² λ λΌμ΄μ μ€λΌλ κ²λ μκ² λμΌλ©° κ½€ μ μ©ν μ 보λ€μ΄ λ§μλ€. μ§κΈ μκ°λλ κ²λ€μ μ΄κ² μ λΆμ΄λ€. μ΄ λ°μλ μ μ©νκΈ°λ νκ³ , μ¬λ°λ μΌνλ€μ΄ λ§μ΄ λμ¨λ€. κ°λ°μλ₯Ό λͺ©νλ‘ νλ€λ©΄ μ¬μ¬ν λ ν λ² μ½μ΄λ΄λ μ¬λ°μ μ± μ΄λ€.
π λμ λ μβ
κ°λ°μ μ΄μ λ§ κ³΅λΆνλ μ¬λλ€μκ²λ λ³λ‘ μΆμ²νμ§ μλλ€. μ μ΄λ μ΄μ체μ , μμ€ν νλ‘κ·Έλλ°μ 곡λΆνλ κ²½νμ΄ μμΌμ μ¬λμκ² μΆμ²νκ³ μΆλ€. λ μ΄μ체μ κ³Όλͺ©μ λ무 λμΆ© λ€μλμ§ μ΄ μ± μ΄ μ΄ μ± μ κ½€ μ΄λ €μ λ€. μ΄μ체μ λ₯Ό 곡λΆν΄λ³΄μ§ μμ λΆλ€μ΄ 보기μλ λ μ΄λ €μΈ μλ μλ€.
μ°λ¦¬ νκ΅λ μμ€ν νλ‘κ·Έλλ°μ΄λΌλ κ³Όλͺ©μ λ°°μμ μ± μ μ½μ λ μ€κ°μ€κ°μ λμ€λ μ½λλ€μ΄λΌλκ° μ©μ΄λ€μ μ΄λ μ λλ μ½κ² μ΄ν΄νλλ° λ€λ₯Έ λ μλ€μ μ΄λ€μ§ μ λͺ¨λ₯΄κ² λ€. λͺ¨λ₯΄λ μ½λλ ꡬκΈλ§μ μ΄μ¬ν ν΄λ³΄μ. μ΄μ μ²μ²ν μ¦κΈ°λ©΄μ μ± μ μ½μ΄λ³΄μ!