Post

[C] Prologue

๐Ÿ“Œ ๋“ค์–ด๊ฐ€๋ฉฐ

The computing world has undergone a revolution since the publication of The C Programming Language in 1978.

(1978๋…„ ์ฑ… ใ€ŒThe C Programming Languageใ€ ์ถœํŒ ์ดํ›„ ์ปดํ“จํŒ… ์„ธ๊ณ„๋Š” ํ˜๋ช…์„ ๊ฒช์–ด์™”๋‹ค.)

โ€” The C Programming Language 2nd Edition, Dennis MacAlistair Ritchie

C ์–ธ์–ด ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜๋ฉฐ ์ฒซ ๊ธ€์„ ๋‚จ๊ธด๋‹ค. ์•ž์œผ๋กœ ์ด ์‹œ๋ฆฌ์ฆˆ์—์„œ๋Š” ๋‚จ์˜ ๋ฐฉ์‹์ด ์•„๋‹ˆ๋ผ ๋‚ด๊ฐ€ ๋ฐฐ์šด ๊ฒƒ๊ณผ ๋А๋‚€ ๊ฒƒ์„ ์ค‘์‹ฌ์œผ๋กœ ๊ธฐ๋กํ•ด ๋‚˜๊ฐ€๋ ค ํ•œ๋‹ค.


1. C ์–ธ์–ด๋ž€?

1972๋…„ ๋ฒจ ์—ฐ๊ตฌ์†Œ(Bell Labs)์˜ ๋ฐ๋‹ˆ์Šค ๋ฆฌ์น˜(Dennis Ritchie)๊ฐ€ ๋งŒ๋“  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋‹ค. ์›๋ž˜ ๋ช…์นญ์€ ๊ทธ๋ƒฅ โ€˜Cโ€™์ง€๋งŒ, ํ•œ๊ตญ์—์„œ๋Š” ํ‘œ์ œ์–ด์—์„œ ๋ณด์ด๋“ฏ โ€˜C์–ธ์–ดโ€™๋ผ๊ณ  ์ฃผ๋กœ ๋ถ€๋ฅธ๋‹ค. ์„ธ๊ณ„์ ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ค‘ ํ•˜๋‚˜๋‹ค.

ํ•ญ๋ชฉ๋‚ด์šฉ
๋งŒ๋“  ์‚ฌ๋žŒ๋ฐ๋‹ˆ์Šค ๋ฆฌ์น˜ (Dennis Ritchie)
ํƒ„์ƒ1972๋…„, ๋ฒจ ์—ฐ๊ตฌ์†Œ
์œ„์ƒ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ๋„๋ฆฌ ์“ฐ์ด๋Š” ์–ธ์–ด ์ค‘ ํ•˜๋‚˜
์„ฑ๊ฒฉ์ €์ˆ˜์ค€ ์ œ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ ˆ์ฐจ์  ์–ธ์–ด

2. C์˜ ์ •์‹  โ€” โ€œํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ๋ฏฟ์–ด๋ผโ€

C์˜ ์„ค๊ณ„ ์ฒ ํ•™์€ C99 Rationale์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฌ˜์‚ฌ๋˜์–ด ์žˆ๋‹ค.

์›์น™ (์›๋ฌธ)์˜๋ฏธ
Trust the programmerํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ๋ฏฟ์–ด๋ผ
Donโ€™t prevent the programmer from doing what needs to be doneํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ํ•  ์ผ์„ ๋ฐฉํ•ดํ•˜์ง€ ๋งˆ๋ผ
Keep the language small and simple์–ธ์–ด๋ฅผ ์ž‘๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ผ
Provide only one way to do an operationํ•œ ์ž‘์—…์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํ•˜๋‚˜๋งŒ ์ œ๊ณตํ•˜๋ผ
Make it fast, even if it is not guaranteed to be portable์ด์‹์„ฑ์„ ์žฅ๋‹ด ๋ชป ํ•ด๋„, ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค์–ด๋ผ

C๋ฅผ ๋‹ค๋ฅธ ์–ธ์–ด๋“ค๊ณผ ๊ฐ€์žฅ ํฌ๊ฒŒ ๊ตฌ๋ถ„ ์ง“๋Š” ๊ฒƒ์€ ์ฒซ ์ค„, โ€œํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ๋ฏฟ์–ด๋ผโ€๋‹ค.

1
2
3
4
5
6
[ํ˜„๋Œ€ ์–ธ์–ด๋“ค]                        [C ์–ธ์–ด]
ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ 100% ๋ฏฟ์ง€ ์•Š๋Š”๋‹ค          ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ๋ฏฟ๋Š”๋‹ค
      โ”‚                                   โ”‚
๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ๊ฒƒ ๊ฐ™์œผ๋ฉด                   "ํ•˜๋ผ๋Š” ๋Œ€๋กœ ํ•œ๋‹ค"
์ปดํŒŒ์ผ๋Ÿฌยท๊ฐ€์ƒ๋จธ์‹ ์ด ์ž๋™์œผ๋กœ            โ†’ ์ž๋™ ์ฒจ์‚ญ ์—†์ด
ํ”ฝ์‹ฑํ•˜๊ฑฐ๋‚˜ ๋น„์ •์ƒ ์ฝ”๋“œ๋ฅผ ๋ฐฉ์ง€           ๋ณธ์—ฐ ๊ทธ๋Œ€๋กœ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๐Ÿ’ก ๋น„๊ต์  ํ˜„๋Œ€์˜ ์–ธ์–ด๋“ค์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ์™„์ „ํžˆ ๋ฏฟ์ง€ ์•Š์•„์„œ, ๋ฌธ์ œ๊ฐ€ ๋  ๊ฒƒ ๊ฐ™์œผ๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ๋‚˜ ๊ฐ€์ƒ๋จธ์‹ ์ด ์ž๋™์œผ๋กœ ๊ณ ์ณ์ฃผ๊ฑฐ๋‚˜ ๋ง‰์•„์ค€๋‹ค. ๋ฐ˜๋ฉด C๋Š” โ€œํ•˜๋ผ๋Š” ๋Œ€๋กœ ํ•œ๋‹คโ€๋Š” ํŠน์ง•์ด ๋งค๋ ฅ์ ์ด๋‹ค. ์–ธ์–ด์˜ ์ž๋™์ ์ธ ์ฒจ์‚ญ์ด ์•„๋‹Œ ๋ณธ์—ฐ ๊ทธ๋Œ€๋กœ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋ฐฐ์šฐ๋Š” ๊ฒฝํ—˜์€ ์•ž์œผ๋กœ์˜ ํ•™์Šต์—๋„ ์ข‹์€ ์˜ํ–ฅ์„ ์ค„ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€๋œ๋‹ค.


๐Ÿ“ ์ •๋ฆฌ

  • C๋Š” 1972๋…„ ๋ฐ๋‹ˆ์Šค ๋ฆฌ์น˜๊ฐ€ ๋งŒ๋“ , ๊ฐ€์žฅ ๋„๋ฆฌ ์“ฐ์ด๋Š” ์–ธ์–ด ์ค‘ ํ•˜๋‚˜๋‹ค.
  • ํ•ต์‹ฌ ์ฒ ํ•™์€ โ€œํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ๋ฏฟ์–ด๋ผ(Trust the programmer)โ€ โ€” ์ž๋™ ๋ณด์ • ์—†์ด ์ง€์‹œํ•œ ๊ทธ๋Œ€๋กœ ๋™์ž‘ํ•œ๋‹ค.
  • ์ด ์‹œ๋ฆฌ์ฆˆ๋Š” ์ •๋‹ต์„ ์˜ฎ๊ฒจ ์ ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ฐฐ์šฐ๊ณ  ๋А๋‚€ ๊ฒƒ์„ ๋‚ด ๋ฐฉ์‹๋Œ€๋กœ ๊ธฐ๋กํ•˜๋Š” ๋ฐ ๋ชฉ์ ์ด ์žˆ๋‹ค.
This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.