· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Being Popular

¹ø¿ª ÀÏÁö
  • 04-01-26 ¹ø¿ª ¿Ï·á
  • 04-01-08 ¹ø¿ª ½ÃÀÛ



Being Popular

Àαâ ÀÖ´Ù´Â °Í


Copyright © 2001 Paul Graham

(ÀÌ ³í¼³Àº »õ·Î¿î ¾ð¾î¸¦ À§ÇÑ ÀÏÁ¾ÀÇ »ç¾÷ °èȹÀ¸·Î ÀÛ¼ºµÇ¾ú´Ù. ±×·¡¼­ ÁÁÀº ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ °®Ãç¾ß ÇÒ °¡Àå Áß¿äÇÑ Æ¯Â¡ÀÎ '¸Å¿ì °­·ÂÇÑ Ãß»óÈ­'¿¡ ´ëÇÑ ¾ð±ÞÀÌ (´ç¿¬ÇÑ °ÍÀ̶ó°í »ý°¢Ç߱⠶§¹®¿¡) ºüÁ® ÀÖ´Ù.)

Ä£±¸ Çϳª°¡ ¾ðÁ¨°¡ ¾î¶² Àú¸íÇÑ ¿î¿µ üÁ¦ Àü¹®°¡¿¡°Ô Á¤¸»·Î ÁÁÀº ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ °í¾ÈÇÏ°í ½Í´Ù°í ¸»Çß´Ù. ±× Àü¹®°¡´Â ±× Ä£±¸¿¡°Ô ±×°ÍÀº ½Ã°£ ³¶ºñÀÏ °ÍÀ̶ó°í Çß´Ù. ¶Ç ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ÀαⰡ Àְųª ¾ø°Ô µÇ´Â °ÍÀÌ ±× ¾ð¾îÀÇ ÀåÁ¡¿¡ ±Ù°ÅÇÑ °ÍÀÌ ¾Æ´Ï¹Ç·Î, ±× ¾ð¾î°¡ ¾Æ¹«¸® ÁÁ¾Æµµ ¾Æ¹«µµ ±×°ÍÀ» »ç¿ëÇÏÁö ¾ÊÀ» °ÍÀ̶ó°í Çß´Ù. ÃÖ¼ÒÇÑ ÀÌ ¸»Àº ±× Ä£±¸°¡ °í¾ÈÇÑ ±× ¾ð¾î¿¡ ±×´ë·Î µé¾î¸Â¾Ò´Ù.

¹«¾ùÀÌ ¾î¶² ¾ð¾î¸¦ Àαâ ÀÖ°Ô Çϴ°¡? Àαâ ÀÖ´Â ¾ð¾îµéÀº ±× Àα⸦ ´©¸± ¸¸ÇÑ°¡? ÁÁÀº ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ Á¤ÀÇÇØ º¸´Â °ÍÀÌ °¡Ä¡°¡ Àִ°¡? ±×·¸´Ù¸é ¾î¶»°Ô ÇÒ °ÍÀΰ¡?

³ª´Â ÀÌ Àǹ®µé¿¡ ´ëÇÑ ÇØ´äÀ» ÇØÄ¿µéÀ» °üÂûÇÏ°í ±×µéÀÌ ¿øÇÏ´Â °ÍÀÌ ¹«¾ùÀÎÁö ¾ÍÀ¸·Î½á ãÀ» ¼ö ÀÖÀ» °ÍÀ̶ó°í »ý°¢ÇÑ´Ù. ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â ÇØÄ¿¸¦ À§ÇØ Á¸ÀçÇÏ´Â °ÍÀ̸ç, ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â ÇØÄ¿µéÀÌ ±×°ÍÀ» ÁÁ¾ÆÇÒ ¶§¿¡¸¸ (À̸¦Å׸é, Ç¥½ÃÀû Àǹ̷Ð(denotational semantics)À̳ª ÄÄÆÄÀÏ·¯ ¼³°èÀÇ ¿¬½ÀÀ¸·Î¼­°¡ ¾Æ´Ï¶ó) ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î¼­ ÁÁÀº °ÍÀÌ´Ù.


1. ÀαâÀÇ ¿ªÇÐ

´ëºÎºÐÀÇ »ç¶÷µéÀÌ ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ ´Ü¼øÈ÷ ±× ÀåÁ¡ ¶§¹®¿¡ ¼±ÅÃÇÏÁö ¾Ê´Â´Ù´Â °ÍÀº ºÐ¸íÇÑ »ç½ÇÀÌ´Ù. ´ëºÎºÐÀÇ ÇÁ·Î±×·¡¸ÓµéÀº ´Ù¸¥ »ç¶÷¿¡°Ô¼­ ¾î¶² ¾ð¾î¸¦ »ç¿ëÇ϶ó´Â Áö½Ã¸¦ ¹Þ´Â´Ù. ÇÏÁö¸¸ ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ Àα⿡ ±×·± ¿ÜºÎ ¿äÀεéÀÌ ¹ÌÄ¡´Â ¿µÇâÀº, Ŭ °Í °°Àº »ý°¢ÀÌ µé ¶§µµ ÀÖÁö¸¸, ½ÇÁ¦·Î´Â ±×·¸°Ô Å©Áö ¾ÊÀº °Í °°´Ù. ´õ Å« ¹®Á¦´Â ÁÁÀº ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ ´ëÇÑ ÇØÄ¿µéÀÇ »ý°¢ÀÌ ¸¹Àº ¾ð¾î ¼³°èÀÚµéÀÇ »ý°¢°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â °ÍÀ̶ó°í »ý°¢ÇÑ´Ù.

±× µÑ Áß¿¡¼­ ÇØÄ¿µéÀÇ ÀÇ°ßÀÌ ´õ Áß¿äÇÏ´Ù. ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â ¼öÇÐÀÇ Á¤¸®(theorem)°¡ ¾Æ´Ï´Ù. ±×°ÍÀº µµ±¸À̸ç, »ç¶÷µéÀ» À§ÇØ °í¾ÈµÇ¾úÀ¸¸ç, µû¶ó¼­ ½Å¹ßÀÌ Àΰ£ÀÇ ¹ß¿¡ ¸Â°Ô °í¾ÈµÇ¾î¾ß ÇϵíÀÌ, ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â Àΰ£ÀÇ °­Á¡°ú ¾àÁ¡¿¡ ¸Â°Ô °í¾ÈµÇ¾î¾ß ÇÑ´Ù. ½Å¹ßÀ» ½Å¾úÀ» ¶§ ²Ë ³¤´Ù¸é, Á¶°¢ ÀÛÇ°À¸·Î¼­ ¾Æ¹«¸® ¿ì¾ÆÇÏ´Ù Çصµ, ±×°ÍÀº ³ª»Û ½Å¹ßÀÌ´Ù.

´ë´Ù¼öÀÇ ÇÁ·Î±×·¡¸ÓµéÀÌ ÁÁÀº ¾ð¾î¿Í ³ª»Û ¾ð¾î¸¦ ±¸ºÐÇÏÁö ¸øÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ÀÌ°ÍÀº ´Ù¸¥ ¾î¶² µµ±¸µé¿¡ ´ëÇؼ­µµ ´Ù¸¦ ¹Ù ¾ø´Ù. ÀÌ ¸»Àº ÁÁÀº ¾ð¾î¸¦ °í¾ÈÇØ º¸·Á´Â °ÍÀÌ ½Ã°£ ³¶ºñ¶ó´Â ¶æÀÌ ¾Æ´Ï´Ù. Ư±Þ ÇØÄ¿(expert hacker)µéÀº ô º¸±â¸¸ Çصµ ÁÁÀº ¾ð¾î¸¦ °¡·Á³¾ ¼ö ÀÖÀ¸¸ç, ¶Ç ±×°ÍÀ» »ç¿ëÇÒ °ÍÀÌ´Ù. Ư±Þ ÇØÄ¿µéÀº ºÐ¸íÈ÷ ±Ø¼Ò¼öÀÌÁö¸¸, ±× ±Ø¼Ò¼ö°¡ ¸ðµç ÁÁÀº ¼ÒÇÁÆ®¿þ¾îµéÀ» ÀÛ¼ºÇÏ°í ÀÖÀ¸¸ç, ±×µéÀÇ ¿µÇâ·ÂÀº ´Ù¸¥ ¸ðµç ÇÁ·Î±×·¡¸ÓµéÀÌ ±×µéÀÌ ¾²´Â ¾ð¾î¸¦ ±×´ë·Î µû¶ó ¾²°Ô µÉ Á¤µµÀÌ´Ù. ½ÇÁ¦·Î ±×°ÍÀº ´Ü¼øÇÑ ¿µÇâ·ÂÀÌ ¾Æ´Ï¶ó Áö¹è·ÂÀ̶ó°í ÇÒ ¸¸ÇÏ´Ù. Àü¹® ÇØÄ¿µéÀÌ ¹Ù·Î, »ó»ç³ª Áöµµ±³¼öó·³, ´Ù¸¥ ÇÁ·Î±×·¡¸Óµé¿¡°Ô ¾î¶² ¾ð¾î¸¦ »ç¿ëÇ϶ó°í Áö½ÃÇÏ´Â ±× »ç¶÷ÀÌ´Ù.

Àü¹® ÇØÄ¿µéÀÇ ÀÇ°ßÀÌ ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ »ó´ëÀû Àα⸦ °áÁ¤ÇÏ´Â À¯ÀÏÇÑ ÈûÀº ¾Æ´Ï´Ù. -- ÄÚº¼(Cobol) °°Àº ±¸´Ú´Ù¸®(legacy) ¼ÒÇÁÆ®¿þ¾î¿Í ¿¡ÀÌ´Ù(Ada)³ª ÀÚ¹Ù(Java) °°Àº ¶°¹ö¸®(hype)µµ ÀÏÀÍÀ» ´ã´çÇÏ°í ÀÖÀ¸´Ï ¸»ÀÌ´Ù. -- ÇÏÁö¸¸ ±ä ±â°£ÀÌ Áö³ª¸é ±×µéÀÇ ÀÇ°ßÀÌ °¡Àå °­·ÂÇÑ ÈûÀÌ µÉ °ÍÀÌ´Ù. ÃʱâÀÇ ºñÆÇÀû Áý´Ü(critical mass)°ú ÃæºÐÇÑ ½Ã°£ÀÌ ÁÖ¾îÁö¸é, ¾î¶² ÇÁ·Î±×·¡¹Ö ¾ð¾îµç ´ë·« ±× °¡Ä¡¿¡ ¸Â´Â Àα⸦ ¾ò°Ô µÉ °ÍÀÌ´Ù. ±×¸®°í Àαâ´Â ÁÁÀº ¾ð¾î¿Í ³ª»Û ¾ð¾î¸¦ ´õ¿í °¥¶ó³õ´Â´Ù. ½ÇÁ¦ »ç¿ëÀÚµéÀÇ ÀÇ°ßÀº Ç×»ó ±â´É °³¼±À¸·Î À̾îÁö±â ¶§¹®ÀÌ´Ù. Àαâ ÀÖ´Â ¾ð¾îµéÀÌ ±× µ¿¾È ¾ó¸¶³ª º¯È­ÇØ ¿Ô´ÂÁö »ìÆ캸¶ó. ÆÞ(Perl)°ú Æ÷Æ®¶õ(Fortran)Àº ±Ø´ÜÀûÀÎ »ç·ÊµéÀÌ°ÚÁö¸¸, ¸®½ºÇÁ(Lisp)Á¶Â÷µµ ¸¹ÀÌ º¯È­ÇØ ¿Ô´Ù. ¸®½ºÇÁ 1.5´Â, ¿¹¸¦ µé¾î, ¸ÅÅ©·Î ±â´ÉÀÌ ¾ø¾ú´Âµ¥, MITÀÇ ÇØÄ¿µéÀÌ ½ÇÁ¦ ÇÁ·Î±×·¥À» ÀÛ¼ºÇϱâ À§ÇØ µÎ ÇØ µ¿¾È ¸®½ºÇÁ¸¦ ÀÌ¿ëÇϸ鼭 ³ªÁß¿¡ ±× ±â´ÉÀÌ °í¾ÈµÇ¾ú´Ù. ÁÖ: ÃÖ½ÅÀÇ ¾ÆÀ̵ð¾î¿¡ ¸Å¿ì ±ÙÁ¢ÇÑ ÀÌ ¸ÅÅ©·Î ±â´ÉÀº, ¸®½ºÇÁ 1.5°¡ ¹èÆ÷µÇ°í 2³âÀÌ Áö³­ 1964³â¿¡ Ƽ¸Ó½Ã ÇÏÆ®(Timothy Hart)°¡ Á¦¾ÈÇß´Ù. º¯¼ö Æ÷ȹ(variable capture)°ú Áߺ¹ °è»ê(multiple evaluation)À» ÇÇÇÒ ¹æ¹ýÀÌ Ã³À½¿¡´Â ºüÁ® À־, ÇÏÆ®ÀÇ ¿¹Á¦µéÀº ¾çÂÊ ¸ðµÎ¿¡ ¸»·Áµé±â ½±´Ù.

±×·¡¼­ Àαâ ÀÖ´Â ¾ð¾î°¡ µÇ±â À§ÇØ ÁÁÀº ¾ð¾î°¡ µÇ¾î¾ß ÇÏµç ¸»µç »ó°ü¾øÀÌ, ³ª´Â ÁÁÀº ¾ð¾î°¡ µÇ±â À§Çؼ­´Â ÀαⰡ ÀÖ¾î¾ß ÇÑ´Ù°í »ý°¢ÇÑ´Ù. ±×¸®°í Àα⸦ À¯ÁöÇϱâ À§Çؼ­´Â ²ÙÁØÈ÷ ÁÁ¾Æ¾ß ÇÑ´Ù. ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ ±â¼ú ¼öÁØÀº °¡¸¸È÷ ¸Ó¹°·¯ ÀÖÁö ¾Ê´Â´Ù. ±×·±µ¥ ¿ì¸®°¡ Áö±Ý »ç¿ëÇÏ´Â ¸®½ºÇÁ´Â MIT¿¡¼­ 1980³â´ë Áß¹Ý »ç¿ëÇÏ´ø °Í°ú °ÅÀÇ ¶È°°´Ù. ±× ¶§°¡ ¸®½ºÇÁÀÇ »ç¿ëÀÚ ÃþÀÌ ÃæºÐÈ÷ ³Ð°í ¿ä±¸µµ ¸¹¾Ò´ø ¸¶Áö¸· ½Ã±â¿´±â ¶§¹®ÀÌ´Ù.

¹°·Ð, ÇØÄ¿µéÀº ¾ð¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ±â Àü¿¡ ±×°Í¿¡ ´ëÇØ ¾Ë¾Æ¾ß ÇÑ´Ù. ±×µéÀº ¾î¶»°Ô ¼Ò½ÄÀ» Á¢ÇÒ±î? ´Ù¸¥ ÇØÄ¿µéÀ» ÅëÇؼ­ÀÌ´Ù. ±×·±µ¥ ´Ù¸¥ ÇØÄ¿µéÀÌ ±× ¾ð¾î¿¡ ´ëÇØ µé¾îº¸±â¶óµµ Çϱâ À§Çؼ­´Â ±×°ÍÀ» óÀ½À¸·Î »ç¿ëÇÏ´Â ÇØÄ¿ ±×·ìÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ³ª´Â ÀÌ ±×·ìÀÌ ¾ó¸¶³ª Å©¸é µÇ´ÂÁö ±Ã±ÝÇÏ´Ù. ¾ó¸¶³ª ¸¹Àº »ç¿ëÀÚ°¡ ¸ðÀÌ¸é ºñÆÇÀû Áý´Ü(critical mass)ÀÌ µÇ´Â°¡? ¾ð¶æ µå´Â »ý°¢À¸·Î´Â, 20¸íÀÌ¸é µÉ °Í °°´Ù. ¾î¶² ¾ð¾îÀÇ µ¶¸³(separate) »ç¿ëÀÚ, ´Ù½Ã ¸»Çؼ­ ½º½º·Î ±× ¾ð¾î¸¦ »ç¿ëÇϱâ·Î °á½ÉÇÑ »ç¿ëÀÚ°¡ 20¸íÀ̶ó¸é, ³ª´Â ±×°ÍÀÌ Çö½Ç ¼¼°è¿¡ µé¾î¿Ô´Ù°í °£ÁÖÇÒ °ÍÀÌ´Ù.

°Å±â±îÁö À̸£´Â °ÍÀº ½±°Ô µÇÁö ¾Ê´Â´Ù. »ç¿ëÀÚ°¡ 0¸í¿¡¼­ 20¸íÀÌ µÇ´Â °ÍÀÌ, 20¸í¿¡¼­ 1,000¸íÀÌ µÇ´Â °Íº¸´Ù ¾î·Æ´Ù°í Çصµ ³ª´Â ³î¶óÁö ¾ÊÀ» °ÍÀÌ´Ù. óÀ½ 20¸íÀÇ »ç¿ëÀÚ¸¦ È®º¸ÇÏ´Â °¡Àå ÁÁÀº ¹æ¹ýÀº Æ®·ÎÀÌ ¸ñ¸¶¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù. Áï, »ç¶÷µéÀÌ ¿øÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥À» Á¦°øÇϸ鼭 ±×°ÍÀ» ±× »õ·Î¿î ¾ð¾î·Î ÀÛ¼ºÇÏ´Â °ÍÀÌ´Ù.

2. ¿ÜºÎ ¿äÀεé

ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ Àα⿡ ¿µÇâÀ» ¹ÌÄ¡´Â ¿ÜºÎ ¿äÀÎ Çϳª¸¦ ÀÎÁ¤Çϸ鼭 ½ÃÀÛÇØ º¸ÀÚ. Àα⸦ ¾ò±â À§ÇØ ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â Àαâ ÀÖ´Â ½Ã½ºÅÛÀÇ ½ºÅ©¸³Æ® ¾ð¾î(scripting language)°¡ µÇ¾î¾ß ÇÑ´Ù. ¿ªÀÚ ÁÖ: ÀÌ ±Û¿¡¼­ ½ºÅ©¸³Æ® ¾ð¾î´Â ³ÐÀº Àǹ̷Π¾²ÀδÙ. (ÀÎÅÍÇÁ¸®ÅÍ ¾ð¾îÀΰ¡ ¾Æ´Ñ°¡¿¡ »ó°ü¾øÀÌ) ½Ã½ºÅÛ ¿î¿µÀ» À§ÇØ ÁÖ·Î ¾²ÀÌ´Â ¾ð¾î¶ó°í º¸¸é µÇ°Ú´Ù. Æ÷Æ®¶õ°ú ÄÚº¼Àº ÃÊâ±â IBM ¸ÞÀÎÇÁ·¹ÀÓÀÇ ½ºÅ©¸³Æ® ¾ð¾î¿´´Ù. C´Â À¯´Ð½ºÀÇ ½ºÅ©¸³Æ® ¾ð¾î¿´°í, ³ªÁß¿¡´Â ÆÞÀÌ ±×·¸°Ô µÇ¾ú´Ù. TclÀº TkÀÇ ½ºÅ©¸³Æ® ¾ð¾îÀÌ´Ù. ÀÚ¹Ù¿Í ÀÚ¹Ù½ºÅ©¸³Æ®´Â À¥ ºê¶ó¿ìÀúÀÇ ½ºÅ©¸³Æ® ¾ð¾î·Î ¸¸µé¾îÁ³´Ù.

¸®½ºÇÁ´Â Å©°Ô Àαâ ÀÖ´Â ¾ð¾î°¡ ¾Æ´Ï´Ù. ±×°ÍÀÌ Å©°Ô Àαâ ÀÖ´Â ½Ã½ºÅÛÀÇ ½ºÅ©¸³Æ® ¾ð¾î°¡ ¾Æ´Ï±â ¶§¹®ÀÌ´Ù. Áö±Ý ÀαⰡ ³²¾Æ ÀÖ´Ù¸é ±× ¿ª»ç´Â ±×°ÍÀÌ MITÀÇ ½ºÅ©¸³Æ® ¾ð¾î¿´´ø 1960³â´ë¿Í 1970³â´ë·Î °Å½½·¯ ¿Ã¶ó°£´Ù. ±× ´ç½Ã ¸¹Àº ÈǸ¢ÇÑ ÇÁ·Î±×·¡¸ÓµéÀº ¾î¶»°Ôµç MIT¿Í ¿¬°üµÇ¾î ÀÖ¾ú´Ù. C°¡ ³ª¿À±â ÀüÀÎ 1970³â´ë ÃÊ¿¡´Â ¸Æ¸®½ºÇÁ(MacLisp)¶ó°í ºÒ¸®´ø ¸®½ºÇÁÀÇ MIT ÆÇ(dialect)ÀÌ ÁøÁöÇÑ ÇØÄ¿µéÀÌ ¾²°í ½Í¾î Çß´ø °ÅÀÇ À¯ÀÏÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿´´Ù.

¿À´Ã³¯ ¸®½ºÇÁ´Â µÎ °¡ÁöÀÇ Àû´çÈ÷ Àαâ ÀÖ´Â ½Ã½ºÅÛ, Áï À̸ƽº(Emacs)¿Í ¿ÀÅäijµå(Autocad)ÀÇ ½ºÅ©¸³Æ® ¾ð¾îÀ̸ç, ±×·¡¼­ ³ª´Â ¿À´Ã³¯ ´ëºÎºÐÀÇ ¸®½ºÇÁ ÇÁ·Î±×·¡¹ÖÀÌ À̸ƽº ¸®½ºÇÁ(Emacs Lisp)³ª ¿ÀÅ丮½ºÇÁ(AutoLisp)·Î ÀÌ·ïÁö´Â °ÍÀÌ ¾Æ´Ñ°¡ ÇÏ°í »ý°¢ÇÑ´Ù.

ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â °í¸³ÇÏ¿© Á¸ÀçÇÏÁö ¾Ê´Â´Ù. 'ÇØÅ·ÇÏ´Ù'´Â Ÿµ¿»çÀÌ´Ù. -- ÇØÄ¿´Â º¸Åë ¹«¾ùÀΰ¡¸¦ ÇØÅ·ÇÑ´Ù. -- ½ÇÁ¦·Î ¾ð¾îµéÀº ¹«¾ùÀ» ÇØÅ·ÇÏ´Â µ¥ ¾²À̴°¡¿¡ µû¶ó ÆÇ°¡¸§ ³­´Ù. ±×·¡¼­ Àαâ ÀÖ´Â ¾ð¾î¸¦ °í¾ÈÇÏ°í ½Í´Ù¸é, ¾ð¾î ¿Ü¿¡ ´Ù¸¥ °Íµéµµ °ø±ÞÇϰųª, ±× ¾ð¾î°¡ ±âÁ¸ ½Ã½ºÅÛÀÇ ½ºÅ©¸³Æ® ¾ð¾î¸¦ ´ëüÇϵµ·Ï °í¾ÈÇØ¾ß ÇÑ´Ù.

Ä¿¸Õ ¸®½ºÇÁ(Common Lisp)°¡ ÀαⰡ ¾ø´Â ÀÌÀ¯ Áß Çϳª´Â ±×°ÍÀÌ ¿ÜÅçÀÌÀ̱⠶§¹®ÀÌ´Ù. ±×°Íµµ óÀ½¿¡´Â ÇØÅ·ÇÒ ½Ã½ºÅÛ°ú ÇÔ²² µîÀåÇß´Ù. ¸®½ºÇÁ ¸Ó½Å(Lisp Machine)ÀÌ ±×°ÍÀÌ´Ù. ±×·±µ¥ 1980³â´ë°¡ µÇ¸é¼­ ¸®½ºÇÁ ¸Ó½ÅµéÀÌ (º´·Ä ÄÄÇ»Å͵鵵 ÇÔ²²) ´Ù¸ñÀû ÇÁ·Î¼¼¼­µéÀÇ °è¼Ó Çâ»óµÇ´Â ¼º´É¿¡ ¾ÐµµµÇ¾ú´Ù. Ä¿¸Õ ¸®½ºÇÁ°¡ À¯´Ð½º¿¡ ¾î¿ï¸®´Â ½ºÅ©¸³Æ® ¾ð¾î¿´´Ù¸é ¿©ÀüÈ÷ ÀαⰡ ÀÖ¾úÀ» °ÍÀÌ´Ù. ½½ÇÁÁö¸¸, ±×°ÍÀº À¯´Ð½º¿Í Áöµ¶ÇÏ°Ôµµ ¾È ¾î¿ï¸°´Ù.

ÀÌ·± »óȲÀ» ¼³¸íÇÏ´Â ÇÑ °¡Áö ¹æ¹ýÀº ¾ð¾î°¡ ±× ÀåÁ¡À¸·Î ÆÇ°¡¸§ ³ªÁö ¾Ê´Â´Ù°í ¸»ÇÏ´Â °ÍÀÌ´Ù. ¶Ç ´Ù¸¥ °üÁ¡Àº, ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ¾î¶² °ÍÀÇ ½ºÅ©¸³Æ® ¾ð¾î°¡ µÇÁö ¾Ê´Â´Ù¸é ±×°ÍÀº ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ¾Æ´Ï¶ó´Â °ÍÀÌ´Ù. ÀÌ ¸»ÀÌ ³î¶ø°Ô µé¸°´Ù¸é ±×°ÍÀÌ ºÒ°øÆòÇÏ°Ô ´À²¸Áö±â¸¸ ÇÒ °ÍÀÌ´Ù. ÀÌ°ÍÀº ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ ´ëÇØ, À̸¦Å×¸é ±×°ÍÀ¸·Î ±¸ÇöµÈ Á¦Ç°(implementation)À» ±â´ëÇÏ´Â °Í¸¸Å­ ÀüÇô ºÒ°øÆòÇÑ ÀÏÀÌ ¾Æ´Ï¶ó°í »ý°¢ÇÑ´Ù. ÀÌ°ÍÀº ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ °®Ãç¾ß ÇÒ ÇÑ ºÎºÐÀÏ »ÓÀÌ´Ù.

ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â ±×°ÍÀ¸·Î Àß ±¸ÇöµÈ Á¦Ç°(implementation)ÀÌ ÀÖ¾î¾ß ÇÏ°í, ¹°·Ð ±×°ÍÀº ¹«·á¿©¾ß ÇÑ´Ù. ȸ»ç´Â ¼ÒÇÁÆ®¿þ¾î¿¡ µ·À» ÁöºÒÇÏ°ÚÁö¸¸, ÇØÄ¿µéÀº ±×·¯Áö ¾ÊÀ» °ÍÀÌ´Ù. ¹Ù·Î ±× ÇØÄ¿µéÀÇ ¸¶À½À» ²ø¾î¾ß ÇÑ´Ù.

¾ð¾î´Â ±×¿¡ ´ëÇÑ Ã¥µµ ÀÖ¾î¾ß ÇÑ´Ù. Ã¥Àº ¾ã°í, ¹®ÀåÀÌ ÁÁ°í, ÁÁÀº ¿¹Á¦°¡ ¸¹¾Æ¾ß ÇÑ´Ù. K&RÀÌ ¿©±â¿¡ µü ¸Â´Â´Ù. ¿ªÀÚ ÁÖ: ºê¶óÀ̾ð Ä¿´Ï°Ç(Brian Kernighan)°ú µ¥´Ï½º ¸®Ä¡(Dennis Ritchie)ÀÇ Ã¥ "The C Programming Language". ƯÈ÷ 1978³â¿¡ ³ª¿Â ÃÊÆÇ. Áö±ÝÀ¸·Î¼­ ³ª´Â ±× ¾ð¾î¿¡ ´ëÇØ ¿À¶óÀϸ®(O'Reilly)¿¡¼­ ÃâÆÇµÈ Ã¥Àº ÀÖ¾î¾ß ÇÑ´Ù°í ¸»ÇÏ°í ½Í´Ù. ÀÌ°ÍÀº ÇØÄ¿µéÀÌ °ü½ÉÀ» °®´ÂÁö ½ÃÇèÇÏ´Â ¹æ¹ýÀÌ µÇ°í ÀÖ´Ù.

¿Â¶óÀÎ ¹®¼­µµ ÀÖ¾î¾ß ÇÒ °ÍÀÌ´Ù. »ç½Ç, Ã¥Àº ¿Â¶óÀÎ ¹®¼­¿¡¼­ ½ÃÀÛµÉ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ¾ÆÁ÷Àº µé°í ´Ù´Ï´Â Ã¥ÀÌ ±¸½ÄÀ̶ó°í »ý°¢µÇÁö ¾Ê´Â´Ù. Ã¥À̶ó´Â Çü½ÄÀº Æí¸®Çϸç, ÃâÆǻ簡 °¡ÇÏ´Â »ç½Ç»óÀÇ °Ë¿­Àº ¿Ïº®ÇÏÁö¸¸ ¾ÊÀ¸¸é À¯¿ëÇÑ ¿©°ú ÀåÄ¡°¡ µÈ´Ù. ¼­Á¡Àº »õ·Î¿î ¾ð¾î¿¡ ´ëÇØ ¹è¿ï ¼ö ÀÖ´Â Áß¿äÇÑ °÷ÀÌ´Ù.

3. °£°áÇÔ

¾î¶² ¾ð¾î¿¡µç ÇÊ¿äÇÑ ¼¼ °¡Áö, Áï ±× ¾ð¾î·Î ±¸ÇöµÈ ¹«·á Á¦Ç°, Ã¥, ÇØÅ·ÇÒ ¾î¶² °ÍÀ» °ø±ÞÇÒ ¼ö ÀÖ´Ù¸é, ÀÌÁ¦ ÇØÄ¿µéÀÌ ÁÁ¾ÆÇÒ ¾ð¾î¸¦ ¾î¶»°Ô ¸¸µé °ÍÀΰ¡?

ÇØÄ¿µéÀÌ ÁÁ¾ÆÇÏ´Â ÇÑ °¡Áö´Â °£°áÇÔÀÌ´Ù. ÇØÄ¿µéÀº °ÔÀ¸¸£´Ù. ¼öÇÐÀÚµéÀ̳ª Çö´ë °ÇÃà°¡µéÀÌ °ÔÀ¸¸¥ °Í°ú ¸¶Âù°¡ÁöÀÌ´Ù. ±×µéÀº ºÒÇÊ¿äÇÑ(extraneous) °ÍµéÀ» ¾ÆÁÖ ½È¾îÇÑ´Ù. ¾î¶² ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ·Á´Â ÇØÄ¿°¡, ÃÖ¼ÒÇÑ ÀáÀçÀǽĿ¡ ÀÇÇؼ­, ŸÀÚÇØ¾ß ÇÏ´Â ¹®ÀÚµéÀÇ ÃÑ °³¼ö¿¡ ±Ù°ÅÇÏ¿© ¾î¶² ¾ð¾î¸¦ ¾µÁö °áÁ¤ÇÑ´Ù°í Çصµ Å©°Ô Ʋ¸° ¸»Àº ¾Æ´Ò °ÍÀÌ´Ù. ÇØÄ¿µéÀÌ Á¤¸»·Î ÀÌ·¸°Ô »ý°¢ÇÏÁö´Â ¾Ê´Â´Ù Çصµ, Á¤¸» ±×·¸´Ù°í °£ÁÖÇÏ°í ¾ð¾î¸¦ °í¾ÈÇÑ´Ù¸é ÁÁÀº °á°ú¸¦ ¾òÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù.

ÀÏ»ó ¾ð¾î¸¦ ´àÀº ÀåȲÇÑ ½Ä(expression)À» ÅëÇØ »ç¿ëÀÚ¸¦ ¾î¸°¾ÆÀÌ Ãë±ÞÇÏ·Á°í ÇÑ´Ù¸é ±×°ÍÀº ½Ç¼öÇÏ´Â °ÍÀÌ´Ù. ÇØÄ¿¿¡°Ô ´ÙÀ½°ú °°ÀÌ ¾²´Â ´ë½Å

z = x+y


´ÙÀ½°ú °°ÀÌ ¾²¶ó°í ÇÑ´Ù¸é

add x to y giving z


±×´Â ÀÌ°ÍÀ» ÀÚ±â Áö´É¿¡ ´ëÇÑ ¸ð¿å°ú ½Å¿¡ ´ëÇÑ ¹üÁËÀÇ Áß°£Âë µÇ´Â °ÍÀ¸·Î ¿©±æ °ÍÀÌ´Ù.

¸®½ºÇÁ´Â ¶§¶§·Î car¿Í cdr ´ë½Å¿¡ first(óÀ½)¿Í rest(³ª¸ÓÁö)¸¦ ½á¾ß ÇÑ´Ù´Â ¸»À» µé¾î ¿Ô´Ù. ±×°ÍÀÌ ÇÁ·Î±×·¥À» Àб⠽±°Ô ÇÒ °Í °°±â ¶§¹®ÀÌ´Ù. ¾Æ¸¶ óÀ½ ¸î ½Ã°£Àº ±×·² °ÍÀÌ´Ù. ÇÏÁö¸¸ ÇØÄ¿¶ó¸é car°¡ ¸®½ºÆ®(list)ÀÇ Ã³À½ ¿ä¼Ò¸¦ ¶æÇÏ°í cdr°¡ ³ª¸ÓÁö¸¦ ¶æÇÑ´Ù´Â °Í Á¤µµ´Â ½Å¼ÓÇÏ°Ô ¹è¿ï ¼ö ÀÖ´Ù. first¿Í rest¸¦ ¾´´Ù´Â °ÍÀº ŸÀÚ¸¦ 50% ´õ ÇØ¾ß µÇ´Â °ÍÀ» ÀǹÌÇÑ´Ù. ±×¸®°í ±×°ÍÀº ±æÀ̵µ ´Þ¶ó¼­, car¿Í cdr°¡ º¸Åë ±×·¸°Ô ¾²À̵íÀÌ ¿©·¯ ÁÙ¿¡ ÀÕ´Þ¾Æ È£ÃâµÉ ¶§ ÀÎÀÚ(argument)µéÀÌ ÇÑ ÁÙ·Î Á¤·ÄµÇÁö ¾ÊÀ» °ÍÀÌ´Ù. ³ª´Â Äڵ尡 Á¾ÀÌ À§¿¡ ¾î¶»°Ô Á¤·ÄµÇ´Â°¡ ÇÏ´Â °Íµµ »ó´çÈ÷ Áß¿äÇÏ´Ù´Â °ÍÀ» ¹ß°ßÇß´Ù. ³ª´Â ¸®½ºÇÁ Äڵ尡 °¡º¯Æø ÆùÆ®·Î ÀÛ¼ºµÇ¸é ±×°ÍÀ» °ÅÀÇ ÀÐÀ» ¼ö ¾ø´Âµ¥, Ä£±¸µéµµ ¸»Çϱ⸦ ÀÌ°ÍÀº ´Ù¸¥ ¾ð¾î¿¡¼­µµ »ç½ÇÀ̶ó°í ÇÑ´Ù.

°£°áÇÔÀº ÀÚ·áÇü °Ë»ç°¡ ¾ö°ÝÇÑ ¾ð¾î(strongly typed language)µéÀÌ ³õÄ¡°í ÀÖ´Â Á¡ÀÌ´Ù. ´Ù¸¥ Á¶°ÇÀÌ ¸ðµÎ °°´Ù¸é, ¾Æ¹«µµ ¼±¾ð¹®(declaration)ÀÌ ¹«´õ±â·Î ³ª¿À´Â ÇÁ·Î±×·¥À» ½ÃÀÛÇÏ°í ½ÍÁö ¾ÊÀ» °ÍÀÌ´Ù. ¹«¾ùÀ» ¾Ï¹¬ÀûÀ¸·Î ÇÒ ¼ö ÀÖ´Ù¸é ±×·¸°Ô ÇØ¾ß ÇÑ´Ù.

°¢ ÅäÅ«(token)µéµµ ¿ª½Ã ª¾Æ¾ß ÇÑ´Ù. ÆÞ°ú Ä¿¸Õ ¸®½ºÇÁ´Â ÀÌ ¹®Á¦¿¡ ´ëÇØ ±Ø°ú ±ØÀ» ´Þ¸°´Ù. ÆÞ ÇÁ·Î±×·¥Àº °ÅÀÇ ¾Ïȣó·³ ¾ÐÃà½Ãų ¼öµµ ÀÖÁö¸¸, Ä¿¸Õ ¸®½ºÇÁÀÇ ³»Àå ¿¬»êÀÚ(built-in operator)µéÀÇ À̸§Àº ¿ì½º²Î½º·´°Ô ±æ´Ù. Ä¿¸Õ ¸®½ºÇÁ¸¦ °í¾ÈÇÑ »ç¶÷µéÀº »ç¿ëÀÚµéÀÌ ÀÌ ±ä À̸§µéÀ» ´ë½Å ŸÀÚÇØ ÁÖ´Â ÅؽºÆ® ÆíÁý±â¸¦ °®°í ÀÖÀ» °ÍÀ̶ó°í ±â´ëÇß´ÂÁöµµ ¸ð¸¥´Ù. ÇÏÁö¸¸ ±ä À̸§¿¡ µå´Â ºñ¿ëÀº ±×°ÍÀ» ŸÀÚÇÏ´Â µ¥ µå´Â ºñ¿ë¸¸ÀÌ ¾Æ´Ï´Ù. ±×°ÍÀ» Àд ºñ¿ëµµ ÀÖ°í, ±×°ÍÀÌ È­¸é¿¡¼­ Â÷ÁöÇÏ´Â °ø°£ÀÇ ºñ¿ëµµ ÀÖ´Ù.

4. ÇØÅ· °¡´É

ÇØÄ¿¿¡°Ô °£°áÇÔº¸´Ù ´õ Áß¿äÇÑ °ÍÀÌ Çϳª ÀÖ´Ù. ¿øÇÏ´Â °ÍÀ» ÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ ¿ª»ç ¼Ó¿¡¼­ ÇÁ·Î±×·¡¸ÓµéÀÌ ºÎÀûÀýÇÏ´Ù°í ¿©°ÜÁö´Â ÀϵéÀ» ¸ø ÇÏ°Ô ¸·À¸·Á´Â ³ë·ÂÀ» ³î¶ó¿ï Á¤µµ·Î ¸¹ÀÌ º¼ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº À§ÇèÇÒ ¸¸Å­ ÁÖÁ¦³ÑÀº »ý°¢ÀÌ´Ù. ¾ð¾î ¼³°èÀÚµéÀÌ ¾î¶»°Ô ÇÁ·Î±×·¡¸Ó°¡ ¹«¾ùÀ» ¿øÇÏ°Ô µÉÁö ¾Ë ¼ö Àִ°¡? ¾ð¾î ¼³°èÀÚµéÀº ´ë»ó »ç¿ëÀÚ°¡, È¥ÀÚ °É·Á ³Ñ¾îÁöÁö ¾Ê°Ô º¸È£ÇØ Áà¾ß ÇÒ ¾ó¶ß±â°¡ ¾Æ´Ï¶ó, ÀüÇô ¿¹ÃøÇÏÁö ¸øÇÑ ¹«¾ùÀΰ¡¸¦ ¿ä±¸ÇÒ ÃµÀç¶ó°í »ý°¢ÇÏ´Â °ÍÀÌ ´õ ³ªÀ» °Í °°´Ù. ¾ó¶ß±â´Â °á±¹¿¡´Â Àڱ⠹ßÀ» Âï°Ô µÉ °ÍÀÌ´Ù. ±×°¡ ´Ù¸¥ ÆÐÅ°ÁöÀÇ º¯¼öµéÀ» ÂüÁ¶ÇÏÁö ¸øÇÏ°Ô µµ¿ÍÁÙ ¼ö´Â ÀÖ°ÚÁö¸¸, ±×°¡ À߸ø ¤Àº ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ÇüÆí¾øÀÌ ¼³°èµÈ ÇÁ·Î±×·¥À» ÀÛ¼ºÇϰųª Æò»ý ±× Àϸ¸ ºÙÀâ°í ÀÖÁö ¾Ê°Ô µµ¿ÍÁÙ ¼ö´Â ¾øÀ» °ÍÀÌ´Ù.

ÁÁÀº ÇÁ·Î±×·¡¸ÓµéÀº Á¾Á¾ À§Ç轺·´°í ³¿»õ³ª´Â ÀϵéÀ» ÇÏ°í ½Í¾î ÇÑ´Ù. ³¿»õ³ª´Â ÀÏÀ̶õ, ±× ¾ð¾î°¡ Á¦°øÇÏ·Á´Â Àṉ̀¸Á¶(semantics)ÀÇ °Ñ¸ð¾ç µÚ¿¡ ¼û¾îÀÖ´Â °ÍÀ» ¸»ÇÑ´Ù. ¿¹¸¦ µé¾î, ¾î¶² »óÀ§ ¼öÁØÀÇ Ãß»óÈ­¿¡ ´ëÇÑ ³»ºÎÀÇ µ¥ÀÌÅÍ Ç¥Çö ¹æ½Ä(representation)À» ÆľÇÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. ÇØÄ¿µéÀ» ÇØÅ·À» ÁÁ¾ÆÇÑ´Ù. ÇØÅ·À̶õ ¼ÓÀ¸·Î ÆÄ°íµå´Â °ÍÀ̸ç óÀ½ °í¾ÈÇÑ »ç¶÷ÀÇ »ý°¢À» ¾Ë¾Æ³»´Â °ÍÀÌ´Ù.

ÀÚ±âÀÇ »ý°¢À» ¾Ë¾Æ³»µµ·Ï Çã¿ëÇ϶ó. ¾î¶² µµ±¸°¡ ¸¸µé¾îÁö¸é, »ç¶÷µéÀº ±×°ÍÀ» ¿ø·¡ ÀǵµÇÏÁö ¾Ê¾Ò´ø ¹æ½ÄÀ¸·Î »ç¿ëÇϴµ¥, ÀÌ°ÍÀº ƯÈ÷ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿Í °°ÀÌ ±â´É ±¸ºÐÀÌ È®½ÇÇÑ µµ±¸¿¡¼­µµ »ç½ÇÀÌ´Ù. ¸¹Àº ÇØÄ¿µéÀÌ ±× Àṉ̀¸Á¶(semantics)ÀÇ ¸ðÇüÀ» »ó»óµµ ¸øÇÑ ¹æ½ÄÀ¸·Î ºñƲ¾î(tweak) º¸°í ½Í¾î ÇÑ´Ù. ´Ù½Ã ¸»Çϴµ¥, ±×·¸°Ô ÇÏ°Ô Ç϶ó. ÇÁ·Î±×·¡¸Ó°¡, °¡ºñÁö ¼öÁý±â(garbage collector) °°Àº ½ÇÇà(runtime) ½Ã½ºÅÛÀ» À§Çè¿¡ ºü¶ß¸®Áö ¾Ê´Â Çѵµ ³»¿¡¼­, ³»ºÎÀÇ °Íµé¿¡ ¼Ó¼ÓµéÀÌ Á¢±ÙÇÒ ¼ö ÀÖ°Ô Ç϶ó.

³ª´Â Ä¿¸Õ ¸®½ºÇÁ¸¦ ¾²¸é¼­ ±¸Á¶Ã¼(struct)ÀÇ ÇʵåµéÀ» Â÷·Ê´ë·Î Àаí(iterate) ½ÍÀ» ¶§°¡ ÀÖ¾ú´Ù. ¿¹¸¦ µé¾î, »èÁ¦µÈ °´Ã¼µé¿¡ ´ëÇÑ ÂüÁ¶(reference)¸¦ °É·¯ ³»±â À§Çؼ­, ¶Ç ÃʱâÈ­µÇÁö ¾ÊÀº ÇʵåµéÀ» ã¾Æ³»±â À§Çؼ­ÀÌ´Ù. ³ª´Â ±¸Á¶Ã¼°¡ ³»ºÎÀûÀ¸·Î º¤ÅÍ(vector)ÀÏ »ÓÀÎ °ÍÀ» ¾È´Ù. ÇÏÁö¸¸ ³ª´Â ¾Æ¹« ±¸Á¶Ã¼³ª È£ÃâÇÒ ¼ö ÀÖ´Â ´Ù¸ñÀû ÇÔ¼ö¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø´Ù. ³ª´Â ±× ÇʵåµéÀ» À̸§À¸·Î¸¸ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. ±×°ÍÀÌ ±¸Á¶Ã¼°¡ ÀǹÌÇÏ´Â ¹ÙÀ̱⠶§¹®ÀÌ´Ù.

ÇØÄ¿´Â ¾î¶² Å« ÇÁ·Î±×·¥¿¡ µé¾îÀÖ´Â °ÍµéÀÇ ÀǵµµÈ ¸ðÇüÀ» ÇѵΠ¹ø µÚ¾þ´Â °ÍÀ» ¿øÇϱ⸸ ÇÒ ¼öµµ ÀÖ´Ù. ÇÏÁö¸¸ ½ÇÁ¦ ±×·¸°Ô ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀº ¾ó¸¶³ª Å« Â÷ÀÌ°¡ Àִ°¡. ÀÌ°ÍÀº ¾î¶² ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö Àִ°¡ÀÇ ¹®Á¦ ÀÌ»óÀÏ ¼ö ÀÖ´Ù. ¿©±â¿¡´Â ÀÏÁ¾ÀÇ Áñ°Å¿òµµ ÀÖ´Ù. ÇØÄ¿µéÀº »ª»ªÇÑ ³»ÀåÀ» ÇìÁý´Â ¿Ü°ú ÀÇ»çÀÇ Àº¹ÐÇÑ Áñ°Å¿ò°ú ¿©µå¸§À» ÅͶ߸®´Â ½Ê´ëÀÇ Àº¹ÐÇÑ Áñ°Å¿òÀ» °øÀ¯ÇÑ´Ù. ÁÖ: '¹Ù¶÷ÀÌ ³ú¸¦ ½ºÄ¥ ¶§ (When the Air Hits Your Brain)'¶ó´Â ±Û¿¡¼­ ½Å°æ¿Ü°ú ÀÇ»çÀÎ ÇÁ·©Å© ¹öÅä½Ä(Frank Vertosick)Àº ¿Ü°ú ÀÇ»ç¿Í ³»°ú ÀÇ»ç("º­·è")ÀÇ Â÷ÀÌ¿¡ ´ëÇØ ÀÚ½ÅÀÇ ¼ö¼® Àü°øÀÇ(chief resident)ÀÎ °Ô¸®(Gary)¿Í ³ª´« ´ëÈ­¿¡ ´ëÇØ ÀÚ¼¼È÷ À̾߱âÇÏ°í ÀÖ´Ù.

°Ô¸®¿Í ³ª´Â Å« ÇÇÀÚ¸¦ ÁÖ¹®ÇÏ°í ºó ÀÚ¸®¸¦ ã¾Ò´Ù. ±×°¡ ´ã¹è¿¡ ºÒÀ» ºÙ¿´´Ù. "Àú ºô¾î¸ÔÀ» º­·èµé Á» º¸¼¼¿ä. Æò»ý ÇÑ ¹øÀ̳ª º¼ °Í °°Àº Áúº´¿¡ ´ëÇØ ÀçÀ߰Ÿ®°í ÀÖÀݾƿä. ±×°Ô º­·èµéÀÇ ¹®Á¦¿¹¿ä. °ÂµéÀº º°³­ °Íµé¸¸ ÁÁ¾ÆÇØ¿ä. °ÂµéÀº ¾ÕÀ¸·Î ±×°É·Î ¸Ô°í »ì¾Æ¾ß ÇÏ´Â »ç·ÊµéÀº ½È¾îÇØ¿ä. ±×°Ô ¿ì¸®¿Í Àú º­·è ÀڽĵéÀÇ Â÷ÀÌÁÒ. º¸¼¼¿ä. ¿ì¸®´Â Å­Á÷ÇÏ°í ±ºÄ§ µµ´Â(juicy) Ç㸮 µð½ºÅ©(lumbar disc herniations)¸¦ ÁÁ¾ÆÇϴµ¥, °ÂµéÀº °íÇ÷¾ÐÀ» ½È¾îÇØ¿ä."


Ç㸮 µð½ºÅ©°¡ ±ºÄ§ µ·´Ù°í »ý°¢Çϱâ´Â ¾î·Æ´Ù. ±×·¡µµ ³ª´Â ±×µéÀÌ ¹«½¼ ¸»À» ÇÏ´ÂÁö ¾Ë °Í °°´Ù. ³ªµµ Á¾Á¾ ÃßÀûÇØ¾ß ÇÏ´Â ±ºÄ§ µµ´Â ¹ö±×¸¦ ¸¸³ª°ï ÇÑ´Ù. ÇÁ·Î±×·¡¸Ó°¡ ¾Æ´Ñ »ç¶÷Àº ¹ö±×¿¡ ¹«½¼ Áñ°Å¿òÀÌ ÀÖ´ÂÁö »ó»óÇϱ⠾î·Á¿ï °ÍÀÌ´Ù. ºÐ¸íÈ÷ ¸ðµç °ÍÀÌ Á¦´ë·Î µ¿ÀÛÇÏ¸é ´õ ÁÁ´Ù. ¾î¶² ¸é¿¡¼­´Â ±×·¸´Ù. ÇÏÁö¸¸ ±×·¡µµ ¾î¶² Á¾·ùÀÇ ¹ö±×µéÀ» »ç³ÉÇÏ´Â °Í¿¡´Â ¾ö¿¬ÇÑ ¸¸Á·ÀÌ ÀÖ´Ù´Â °ÍÀ» ºÎÀÎÇÒ ¼ö ¾ø´Ù. ÃÖ¼ÒÇÑ ¼Ò³âµé¿¡°Ô´Â ¾î¶² Á¾·ùÀÇ °øÆ÷°¡ ¸ÅȤÀûÀ̱⵵ ÇÏ´Ù. ³²¼ºÁöÀÎ ¸Æ½É(Maxim)Àº ¹Ì³à ¸ðµ¨°ú ¼¶¶àÇÑ »ç°í°¡ ¼¯¿© ÀÖ´Â »çÁøÁýÀ» ¸Å³â ÃâÆÇÇÑ´Ù. µ¶ÀÚ°¡ ´©±¸ÀÎÁö Àß ¾Æ´Â °ÍÀÌ´Ù.

¿ª»çÀûÀ¸·Î, ¸®½ºÇÁ´Â ÇØÄ¿µéÀÌ Àڱ⠹æ½Ä´ë·Î ÇØ ³ª°¡±â¿¡ ÁÁ¾Ò´Ù. Ä¿¸Õ ¸®½ºÇÁÀÇ Á¤Ä¡Àû °øÁ¤ÇÔ(political correctness)Àº º»±Ëµµ¸¦ ¹þ¾î³­ °ÍÀÌ´Ù. ÃÊâ±âÀÇ ¸®½ºÇÁ´Â ¸ðµç °Í¿¡ ¼ÕÀ» ´î ¼ö ÀÖ°Ô Çã¿ëÇß´Ù. ±× Á¤½ÅÀÇ ¸¹Àº ºÎºÐÀº, ´ÙÇེ·´°Ôµµ, ¸ÅÅ©·Î ±â´É¿¡ ³²¾Æ ÀÖ´Ù. ¼Ò½º Äڵ带 ÀÓÀÇ·Î º¯Çü½Ãų ¼ö ÀÖ´Ù´Â °ÍÀº ¾ó¸¶³ª ¸ÚÁø ÀÏÀΰ¡.

°íÀüÀû ¸ÅÅ©·Î´Â ÁøÁ¤ÇÑ ÇØÄ¿ÀÇ µµ±¸ÀÌ´Ù. ´Ü¼øÇÏ°í °­·ÂÇÏ°í À§ÇèÇÏ´Ù. ±×°ÍÀÌ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ÀÌÇØÇϱâ´Â ¾ÆÁÖ ½±´Ù. Áï, ¸ÅÅ©·ÎÀÇ ÀÎÀÚ(argument)µéÀ» ¹Þ´Â ¾î¶² ÇÔ¼ö¸¦ È£ÃâÇÏ°í, °Å±â¿¡¼­ ¹ÝȯµÈ °ÍÀÌ ±× ¸ÅÅ©·Î È£Ãâ ´ë½Å »ðÀԵȴÙ. À§»ýÀûÀÎ(hygienic) ¸ÅÅ©·Î´Â ÀÌ°Í°ú ¹Ý´ëÀÇ ¿ø¸®·Î ±¸ÇöµÈ´Ù. ±×°ÍÀÌ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ÀÌÇØÇÒ ÇÊ¿ä ¾øµµ·Ï »ç¿ëÀÚ¸¦ º¸È£ÇÏ·Á°í ÇÑ´Ù. ³ª´Â À§»ýÀûÀÎ ¸ÅÅ©·Î¿¡ ´ëÇÑ ¼³¸íÀÌ ÇÑ ÁÙÀÌ¶óµµ ÀÖ´Ù´Â ¸»À» µé¾î º» ÀûÀÌ ¾ø´Ù. ÀÌ°ÍÀº ÇÁ·Î±×·¡¸Óµé¿¡°Ô ¿øÇÒ °Í°ú ¿øÇÏÁö ¸» °ÍÀ» °áÁ¤ÇØ ÁÖ´Â °ÍÀÇ À§ÇèÀ» º¸¿© ÁÖ´Â °íÀüÀûÀÎ »ç·ÊÀÌ´Ù. À§»ýÀûÀÎ ¸ÅÅ©·Î´Â, ¸¹Àº °Í °¡¿îµ¥, º¯¼ö Æ÷ȹ(variable capture)¿¡¼­ ³ª¸¦ º¸È£ÇÏ·Á°í ÇÏÁö¸¸, ¾î¶² ¸ÅÅ©·Î¿¡¼­´Â º¯¼ö Æ÷ȹÀÌ ¹Ù·Î ³»°¡ ¿øÇÏ´Â °ÍÀÌ´Ù.

ÁøÁ¤À¸·Î ÁÁÀº ¾ð¾î´Â ±ú²ýÇϸ鼭 ÁöÀúºÐÇØ¾ß ÇÑ´Ù. Áï, Àß ÀÌÇØµÉ ¼ö ÀÖ°í ¼­·Î µ¶¸³ÀûÀÎ(orthogonal) ¿¬»êÀÚµé·Î ÀÌ·ïÁø ÀÛÀº ÇÙ½É(core) ±¸Á¶·Î ±ú²ýÇÏ°Ô ¼³°èµÇ¾î¾ß ÇÏÁö¸¸, ÇØÄ¿µéÀÌ Àڱ⠹æ½Ä´ë·Î ¾µ ¼ö ÀÖ°Ô ÇÑ´Ù´Â Àǹ̿¡¼­ ÁöÀúºÐÇØ¾ß ÇÑ´Ù. C°¡ ¿©±â¿¡ °¡±õ´Ù. ÃÊâ±â ¸®½ºÇÁµµ ±×·¨´Ù. ÁøÁ¤ÇÑ ÇØÄ¿ÀÇ ¾ð¾î´Â Ç×»ó ¾à°£ÀÇ °Ç´Þ(raffish) ³¢°¡ ÀÖ´Â °Í °°´Ù.

ÁÁÀº ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â "¼ÒÇÁÆ®¿þ¾î °øÇÐ"À̶ó´Â ¿ë¾î¸¦ ¾²´Â »ç¶÷µéÀÌ ¾È µÈ´Ù¸ç °í°³¸¦ Á£°Ô Çϴ Ư¡µéÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ ¿¬¼Ó¼±ÀÇ ¹Ý´ëÆí¿¡´Â ¿¡ÀÌ´Ù(Ada)³ª ÆĽºÄ®(Pascal) °°Àº ¾ð¾î°¡ ÀÖ´Ù. À̵éÀº ¿¹Àǹٸ§(propriety)ÀÇ ¸ð¹üÀÌ¶ó¼­ Çб³¿¡¼­ °¡¸£Ä¡´Â µ¥´Â ÁÁÁö¸¸ ±× ¿Ü¿¡´Â º°·Î ÁÁÀº °ÍÀ» ¸ð¸£°Ú´Ù.

5. ÀÏȸ¿ë ÇÁ·Î±×·¥

ÇØÄ¿µé¿¡°Ô ¸Å·ÂÀûÀÎ ¾ð¾î´Â ±×µéÀÌ ÀÛ¼ºÇÏ°í ½ÍÀº ´Ù¾çÇÑ ÇÁ·Î±×·¥µéÀ» ÀÛ¼ºÇϱ⿡ ÁÁ¾Æ¾ß ÇÑ´Ù. ÀÌ ¸»Àº, ¾î¼¸é ³î¶ø°Ô µé¸®°ÚÁö¸¸, ÀÏȸ¿ë(throwaway) ÇÁ·Î±×·¥À» ÀÛ¼ºÇϱ⿡ ÁÁ¾Æ¾ß ÇÑ´Ù´Â ¸»ÀÌ´Ù.

ÀÏȸ¿ë ÇÁ·Î±×·¥À̶õ ¾î¶² ÇÑÁ¤µÈ ÀÛ¾÷À» À§ÇØ ½Å¼ÓÇÏ°Ô ÀÛ¼ºÇØ¾ß ÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. Áï, ¾î¶² ½Ã½ºÅÛ °ü¸® ÀÛ¾÷À» ÀÚµ¿È­Çϰųª ¸ðÀǽÇÇè(simulation)À» À§ÇÑ ½ÃÇè µ¥ÀÌÅ͸¦ ¸¸µé¾î ³»°Å³ª µ¥ÀÌÅ͸¦ ÀÌ Çü½Ä¿¡¼­ ´Ù¸¥ Çü½ÄÀ¸·Î º¯È¯ÇÏ´Â ÇÁ·Î±×·¥ÀÌ ±×°ÍÀÌ´Ù. ÀÏȸ¿ë ÇÁ·Î±×·¥ÀÇ ³î¶ó¿î Á¡Àº, Á¦2Â÷ ¼¼°è´ëÀü Áß ¸¹Àº ¹Ì±¹ ´ëÇе鿡 ¼¼¿öÁø "ÀÓ½Ã" °Ç¹°µéÀÌ ¾ÆÁ÷µµ ³²¾Æ ÀÖ´Â °Íó·³, ±×°ÍÀÌ Á¾Á¾ ¹ö·ÁÁöÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù. ¸¹Àº ¼ö°¡ ½ÇÁ¦ ±â´É°ú ½ÇÁ¦ »ç¿ëÀÚ°¡ ÀÖ´Â ½ÇÁ¦ ÇÁ·Î±×·¥À¸·Î ¹ßÀüÇÑ´Ù.

³ª´Â ÃÖ°íÀÇ ´ëÇü ÇÁ·Î±×·¥µéÀÌ, ÈĹö ´ï(Hoover Dam)ó·³ óÀ½ºÎÅÍ Å©°Ô ¼³°èµÈ °ÍÀÌ ¾Æ´Ï¶ó, ÀÌ·± ½ÄÀ¸·Î ź»ýÇÑ °Í °°´Ù´Â ´À³¦ÀÌ µç´Ù. ¹«¾ùÀΰ¡¸¦ ¹«¿¡¼­ºÎÅÍ ¸¸µé¾î °£´Ù´Â °ÍÀº ²ûÂïÇÑ ÀÏÀÌ´Ù. »ç¶÷µéÀº ³Ê¹« Å« ÇÁ·ÎÁ§Æ®¸¦ ¸ÃÀ¸¸é ±â°¡ Áú¸®°í ¸¸´Ù. ±× ÇÁ·ÎÁ§Æ®´Â ¼ö··¿¡ ºüÁ® ¹ö¸®°Å³ª ±× °á°ú°¡ ¸Þ¸¶¸£°í »ý±â ¾ø°Ô µÈ´Ù. ÁøÁ¤ÇÑ µµ½ÉÁö ´ë½Å »óÁ¡°¡, ·Î¸¶ ´ë½Å ºê¶óÁú¸®¾Æ, C ´ë½Å ¿¡ÀÌ´Ù(Ada)°¡ µÇ´Â °ÍÀÌ´Ù.

´ëÇü ÇÁ·Î±×·¥À» ¸¸µå´Â ´Ù¸¥ ¹æ¹ýÀº, ÀÏȸ¿ë ÇÁ·Î±×·¥¿¡¼­ Ãâ¹ßÇÏ¿© ±×°ÍÀ» °³¼±ÇØ °¡´Â °ÍÀÌ´Ù. ÀÌ·± Á¢±Ù ¹æ¹ýÀº ±â°¡ ²ªÀÌ´Â ÀÏÀÌ ´úÇÏ°í, ±× ÇÁ·Î±×·¥ÀÇ ¼³°è´Â ÁøÈ­ÀÇ ÇýÅÃÀ» ÀÔÀ» ¼ö ÀÖ´Ù. Àß »ìÆ캻´Ù¸é ´ëºÎºÐÀÇ ´ëÇü ÇÁ·Î±×·¥ÀÌ ÀÌ·± ¹æ½ÄÀ¸·Î °³¹ßµÆ´Ù´Â °ÍÀÌ ¹àÇôÁú °ÍÀ̶ó°í »ý°¢µÈ´Ù. ±×¸®°í ÀÌ·± ¹æ½ÄÀ¸·Î ¹ßÀüÇÑ ÇÁ·Î±×·¥µéÀº, Á¤Ä¡ÀûÀÎ ÀÌÀ¯°¡ ¾Æ´Ï¶ó¸é ´Ù¸¥ ½Ã½ºÅÛÀ¸·Î À̽ĵǴÂ(ported) ÀÏÀº µå¹°±â ¶§¹®¿¡, ¿©ÀüÈ÷ ±×°ÍµéÀÌ Ã³À½ ÀÛ¼ºµÈ ±× ¾ð¾î·Î ÀÛ¼ºµÇ°í ÀÖÀ» °ÍÀÌ´Ù. ±×·¯¹Ç·Î ¿ª¼³ÀûÀÌ°Ôµµ, ´ëÇü ½Ã½ºÅÛ¿¡¼­ ¾²ÀÏ ¾ð¾î¸¦ ¸¸µé°í ½Í´Ù¸é, ÀÏȸ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇϱâ ÁÁ°Ô ¸¸µé¾î¾ß ÇÏ´Â °ÍÀÌ´Ù. ±×·± ÇÁ·Î±×·¥¿¡¼­ ´ëÇü ½Ã½ºÅÛÀÌ ³ª¿À±â ¶§¹®ÀÌ´Ù.

ÆÞÀº ÀÌ·± »ý°¢ÀÌ ½ÇÇöµÈ µÎµå·¯Áø »ç·ÊÀÌ´Ù. ÆÞÀº ÀÏȸ¿ë ÇÁ·Î±×·¥À» ÀÛ¼ºÇϱâ À§Çؼ­ °í¾ÈµÇ¾úÀ» »Ó¸¸ ¾Æ´Ï¶ó, ±×°Í ÀÚü°¡ ÀÏȸ¿ë ÇÁ·Î±×·¥À̾ú´Ù. ÆÞÀº º¸°í¼­¸¦ »ý¼ºÇϱâ À§ÇØ ÇÊ¿äÇÑ À¯Æ¿¸®Æ¼ ¸ðÀ½À¸·Î ź»ýÇß´Ù°¡, »ç¶÷µéÀÌ ±×°ÍÀ¸·Î ÀÛ¼ºÇÑ ÀÏȸ¿ë ÇÁ·Î±×·¥µéÀÌ Á¡Á¡ ´Ã¾î³ª¸é¼­ ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î ¹ßÀüÇÑ °ÍÀÌ´Ù. Àû¾îµµ ÆÞ 5°¡ µÇ¾î¼­¾ß ÀÌ ¾ð¾î´Â Á¦´ë·Î µÈ ÇÁ·Î±×·¥À» ÀÛ¼ºÇϱ⿡ ÀûÇÕÇßÁö¸¸, ±×·³¿¡µµ ºÒ±¸ÇÏ°í ÀÌ¹Ì ¸·´ëÇÑ Àα⸦ ¾ò°í ÀÖ¾ú´Ù.

ÀÏȸ¿ë ÇÁ·Î±×·¥À» ¸¸µé±â À§ÇØ ÁÁÀº ¾ð¾î´Â ¾î¶§¾ß Çϴ°¡? ¿ì¼±Àº, ±×°ÍÀº ¾ðÁ¦³ª ¾µ ¼ö ÀÖ¾î¾ß(available) ÇÑ´Ù. ÀÏȸ¿ë ÇÁ·Î±×·¥Àº ÇÑ ½Ã°£¿¡ ´Ù ÀÛ¼ºÇÒ ¸¸ÇÑ °ÍÀÌ´Ù. µû¶ó¼­ ±× ¾ð¾î´Â »ç¿ëÇÏ´Â ÄÄÇ»ÅÍ¿¡ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÒ °ÍÀÌ´Ù. »ç¿ë Àü¿¡ ¸ÕÀú ¼³Ä¡¸¦ ÇØ¾ß ÇÑ´Ù¸é Ʋ¸° °ÍÀÌ´Ù. ÀÌ¹Ì °Å±â¿¡ ÀÖ¾î¾ß ÇÑ´Ù. C´Â °Å±â ÀÖ¾ú´Ù. ¿î¿µÃ¼Á¦¿Í ÇÔ²² ¿Ô±â ¶§¹®ÀÌ´Ù. ÆÞµµ °Å±â ÀÖ¾ú´Ù. ¿ø·¡ ½Ã½ºÅÛ °ü¸®¸¦ À§ÇÑ µµ±¸¿´°í ÄÄÇ»ÅÍ¿¡ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ¾ú±â ¶§¹®ÀÌ´Ù.

ÇÏÁö¸¸ ¾µ ¼ö ÀÖ´Ù´Â °ÍÀº ¼³Ä¡µÇ¾î ÀÖ´Ù´Â °Í ÀÌ»óÀÇ ÀǹÌÀÌ´Ù. ¸í·ÉÇà(command-line) ȯ°æÀÇ ´ëÈ­½Ä(interactive) ¾ð¾î´Â ÄÄÆÄÀÏ°ú ½ÇÇàÀ» µû·Î ÇØ¾ß ÇÏ´Â °Íº¸´Ù ´õ Àß ¾µ ¼ö ÀÖ´Â °ÍÀÌ´Ù. Àαâ ÀÖ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â ´ëÈ­½ÄÀ̾î¾ß ÇÏ°í, »¡¸® ½ÃÀÛµÅ¾ß ÇÑ´Ù.

ÀÏȸ¿ë ÇÁ·Î±×·¥¿¡ ¹Ù¶ó´Â ´Ù¸¥ Çϳª´Â °£°áÇÔÀÌ´Ù. °£°áÇÔÀº ÇØÄ¿µé¿¡°Ô´Â ¾ðÁ¦³ª ¸Å·ÂÀûÀÌÁö¸¸, ±×µéÀÌ ÇÑ ½Ã°£¿¡ ¸¸µé¾î³¾ ¸¸ÇÑ ÇÁ·Î±×·¥ ¾È¿¡¼­´Â ´õ´õ¿í ±×·¸´Ù.

6. ¶óÀ̺귯¸®

¹°·Ð ±Ã±ØÀûÀÎ °£°áÇÔ(brevity)Àº ÀÌ¹Ì ±× ¸ñÀûÀ¸·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥ÀÌ À־ ±×°ÍÀ» È£ÃâÇϱ⸸ ÇÏ¸é µÇ´Â °ÍÀ» ¸»ÇÑ´Ù. ÀÌ°ÍÀº ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼­ Á¡Á¡ Áß¿äÇÑ Æ¯¼ºÀÌ µÉ °ÍÀ¸·Î »ý°¢µÇ´Â ¾î¶² °ÍÀ¸·Î À̾îÁø´Ù. ¶óÀ̺귯¸® ÇÔ¼ö°¡ ±×°ÍÀÌ´Ù. ÆÞÀº ¹®ÀÚ¿­ 󸮸¦ À§ÇÑ ¹æ´ëÇÑ ¶óÀ̺귯¸®°¡ Àֱ⠶§¹®¿¡ ¼º°øÇß´Ù. ÀÌ·± Á¾·ùÀÇ ¶óÀ̺귯¸® ÇÔ¼öµéÀº, ÁÖ·Î µ¥ÀÌÅ͸¦ º¯È¯Çϰųª ÃßÃâÇϱâ À§ÇØ ÀÛ¼ºµÇ±â ½ÃÀÛÇÏ´Â ÀÏȸ¿ë(throwaway) ÇÁ·Î±×·¥¿¡¼­ ƯÈ÷ Áß¿äÇÏ´Ù. ¸¹Àº ÆÞ ÇÁ·Î±×·¥µéÀÌ ¶óÀ̺귯¸® È£Ãâ ¸î °³¸¦ ¹­¾î ³õÀº °Í¿¡¼­ ½ÃÀÛµÆÀ» °ÍÀÌ´Ù.

³ª´Â ¾ÕÀ¸·Î 50³â µ¿¾È ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ ³ªÅ¸³¯ Áøº¸µÈ ¸ð½Àµé Áß ¸¹Àº ºÎºÐÀÌ ¶óÀ̺귯¸® ÇÔ¼ö¿Í »ó°üÀÖÀ» °ÍÀ̶ó°í »ý°¢ÇÑ´Ù. ¹Ì·¡ÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â ÇÙ½É ¾ð¾î ºÎºÐó·³ ÁÖÀÇ ±í°Ô °í¾ÈµÈ ¶óÀ̺귯¸®¸¦ °®Ãß°Ô µÉ °ÍÀ̶ó°í »ý°¢ÇÑ´Ù. ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ °í¾ÈÇÏ´Â ÀÏÀÌ, ±× ¾ð¾î°¡ ÀÚ·áÇü °Ë»ç¸¦ ¾ö°ÝÇÏ°Ô Çϴ°¡, ´À½¼ÇÏ°Ô Çϴ°¡, °´Ã¼ ÁöÇâÀΰ¡, ÇÔ¼öÇü(functional)Àΰ¡ ÇÏ´Â ¹®Á¦°¡ ¾Æ´Ï¶ó, ¾î¶»°Ô ÈǸ¢ÇÑ ¶óÀ̺귯¸®¸¦ ¼³°èÇÒ °ÍÀΰ¡ÀÇ ¹®Á¦°¡ µÉ °ÍÀÌ´Ù. ÀÚ·áÇü ü°è(type system)¸¦ ¾î¶»°Ô ¼³°èÇÒ±î °í¹ÎÇϱâ ÁÁ¾ÆÇÏ´Â ºÎ·ùÀÇ ¾ð¾î ¼³°èÀÚµéÀº ÀÌ ¸»¿¡ ¸ö¼­¸®¸¦ Ä¥ °ÍÀÌ´Ù. ÀÌ°ÍÀº °ÅÀÇ ÀÀ¿ëÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â °Í°ú °°Áö ¾ÊÀº°¡! Âü ¾ÈµÆ´Ù. ÇÏÁö¸¸ ¾ð¾î´Â ÇÁ·Î±×·¡¸Ó¸¦ À§ÇÑ °ÍÀ̸ç, ¶óÀ̺귯¸®´Â ÇÁ·Î±×·¡¸Ó°¡ ¿øÇÏ´Â °ÍÀÌ´Ù.

ÁÁÀº ¶óÀ̺귯¸®¸¦ ¼³°èÇÏ´Â °ÍÀº ¾î·Á¿î ÀÏÀÌ´Ù. ÀÌ°ÍÀº Äڵ常 ¸¹ÀÌ ÀÛ¼ºÇÑ´Ù°í µÇ´Â ÀÏÀÌ ¾Æ´Ï´Ù. ¶óÀ̺귯¸®°¡ ³Ê¹« Ä¿Áø´Ù¸é, ÇÊ¿äÇÑ ÇÔ¼ö¸¦ Á÷Á¢ ÀÛ¼ºÇÏ´Â °Íº¸´Ù ±×°ÍÀ» ã´Â µ¥ ½Ã°£ÀÌ ´õ °É¸± ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. ¶óÀ̺귯¸®´Â, ÇÙ½É ¾ð¾î ºÎºÐ°ú ¶È°°ÀÌ, ¼­·Î µ¶¸³ÀûÀÎ(orthogonal) ÃÖ¼ÒÇÑÀÇ ¿¬»êÀÚµéÀ» ½á¼­ ¼³°èµÇ¾î¾ß ÇÑ´Ù. ±×¸®°í ÇÊ¿äÇÑ ÀÏÀ» À§Çؼ­ ¶óÀ̺귯¸® È£ÃâÀ» ÇÏ¸é ¾î¶² °á°ú¸¦ ¾òÀ» ¼ö ÀÖÀ»Áö ÇÁ·Î±×·¡¸Ó°¡ ÃßÃøÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù.

¶óÀ̺귯¸®´Â Ä¿¸Õ ¸®½ºÇÁ°¡ ³õÄ¡°í ÀÖ´Â °ÍÀÌ´Ù. ¹®ÀÚ¿­ 󸮸¦ À§ÇÑ ±âÃÊÀûÀÎ ¶óÀ̺귯¸®¸¸ ÀÖ°í ¿î¿µÃ¼Á¦¿¡ Á¢±ÙÇϱâ À§ÇÑ °ÍÀº °ÅÀÇ ¾ø´Ù. ¿ª»çÀûÀÎ ÀÌÀ¯·Î Ä¿¸Õ ¸®½ºÇÁ´Â OS°¡ Á¸ÀçÇÏÁö ¾Ê´Â °Íó·³ µ¿ÀÛÇÏ·Á°í ÇÑ´Ù. OS¿¡ Á¢±ÙÇÒ ¼ö ¾ø±â ¶§¹®¿¡, Ä¿¸Õ ¸®½ºÇÁ¿¡ ³»ÀåµÈ ¿¬»êÀÚ¸¸ ½á¼­´Â Á¦´ë·Î µÈ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ¾ø°Ô µÈ´Ù. ±¸ÇöµÈ ½Ã½ºÅÛ Æ¯À¯ÀÇ(implement-specific) ÇØÅ·À» ÇØ¾ß ÇÒ °æ¿ìµµ Àִµ¥, ½ÇÁ¦·Î´Â ÀÌ·¸°Ô ÇÑ´Ù°í Çؼ­ ¿øÇÏ´Â °ÍÀ» ¸ðµÎ ¾òÀ» ¼ö ÀÖ´Â °Íµµ ¾Æ´Ï´Ù. Ä¿¸Õ ¸®½ºÇÁ°¡ ¹®ÀÚ¿­ ¶óÀ̺귯¸®°¡ °­·ÂÇÏ°í OS Áö¿øÀ» Àß Çß´Ù¸é ÇØÄ¿µéÀº ¸®½ºÇÁ¿¡ ´ëÇØ ´õ¿í ³ô°Ô Æò°¡ÇßÀ» °ÍÀÌ´Ù.

7. ¹®¹ý

¹®¹ýÀÌ ¸®½ºÇÁ¿Í °°Àº ¾ð¾î, Á» ´õ ¾ö¹ÐÈ÷ ¸»Çؼ­ ¹®¹ýÀÌ ¾ø´Â ¾ð¾î°¡ Àαâ ÀÖ°Ô µÉ ¼ö ÀÖÀ»±î? ³ª´Â ÀÌ ¹°À½¿¡ ´ëÇÑ ´äÀ» Àß ¸ð¸£°Ú´Ù. ÇÏÁö¸¸ ¸®½ºÇÁ°¡ ÇöÀç ÀαⰡ ¾ø´Â °ÍÀÌ ¹®¹ý ¶§¹®¸¸À̶ó°í´Â »ý°¢ÇÏÁö ¾Ê´Â´Ù. Ä¿¸Õ ¸®½ºÇÁ´Â »ý¼ÒÇÑ ¹®¹ýº¸´Ù ´õ Å« ¹®Á¦°¡ ÀÖ´Ù. ¾Õ Ç¥±â ¹®¹ý(prefix syntax)À» ÆíÇÏ°Ô ¾µ ¼ö À־ °­·ÂÇÑ ¹®ÀÚ¿­ ¶óÀ̺귯¸®¿Í OS¿¡ ´ëÇÑ Á¢±Ù¼º ¶§¹®¿¡ ±âº»ÀûÀ¸·Î ÆÞÀ» ¾²´Â ÇÁ·Î±×·¡¸Óµéµµ ÀÖ´Ù.

¾Õ Ç¥±â ¹®¹ýÀº µÎ °¡Áö Á¤µµÀÇ ¹®Á¦°¡ ÀÖ´Ù. ÇÁ·Î±×·¡¸Óµé¿¡°Ô »ý¼ÒÇÏ´Ù´Â °Í°ú Ãà¾àÀûÀÌÁö(dense) ¾Ê´Ù´Â Á¡ÀÌ´Ù. ¸®½ºÇÁ ¼¼°è¿¡¼­ ³»·Á¿À´Â ÁöÇý¿¡ µû¸£¸é ù ¹ø° ¹®Á¦°¡ ÁøÂ¥ ¹®Á¦¶ó°í ÇÑ´Ù. ÇÏÁö¸¸ Á¤¸» ±×·±Áö´Â ¸ð¸£°Ú´Ù. ¹°·Ð, ¾Õ Ç¥±â¹ý(prefix notation)Àº Æò¹üÇÑ ÇÁ·Î±×·¡¸ÓµéÀ» ´çȲÇÏ°Ô ÇÑ´Ù. ÇÏÁö¸¸ Æò¹üÇÑ ÇÁ·Î±×·¡¸ÓµéÀÇ ÀÇ°ßÀÌ Áß¿äÇÏ´Ù°í »ý°¢ÇÏÁö´Â ¾Ê´Â´Ù. Ư±Þ ÇØÄ¿(expert hacker)µéÀÌ ±× ¾ð¾î¿¡ ´ëÇØ ¾î¶»°Ô »ý°¢Çϴ°¡¿¡ µû¶ó ¾ð¾î°¡ Àαâ ÀÖ°Ôµµ µÇ°í ¾ø°Ôµµ µÇ´Âµ¥, Ư±Þ ÇØÄ¿¶ó¸é ¾Õ Ç¥±â¹ý Á¤µµ´Â Àß ´Ù·ê ¼ö ÀÖÀ» °ÍÀ̶ó°í »ý°¢ÇÑ´Ù. ÆÞ ¹®¹ýµµ °ÅÀÇ ÀÌÇØ ºÒ°¡¿¡ °¡±î¿üÁö¸¸, ±× ¹®Á¦°¡ ÆÞÀÇ Àα⸦ °¡·Î¸·Áö´Â ¸øÇß´Ù. ¿ÀÈ÷·Á ±× ¹®Á¦´Â ÆÞÀÌ ÄÃÆ®(cult)°¡ µÇ°Ô ÇÏ´Â µ¥ µµ¿òÀÌ µÆÀ» °ÍÀÌ´Ù.

´õ ½É°¢ÇÑ ¹®Á¦´Â ¾Õ Ç¥±â¹ýÀÇ ÀåȲÇÔ(diffuseness)ÀÌ´Ù. Ư±Þ ÇØÄ¿¿¡°Ôµµ ÀÌ°ÍÀº »ç½Ç ¹®Á¦ÀÌ´Ù. ¾Æ¹«µµ ax, y¶ó°í ¾µ ¼ö ÀÖ´Â °ÍÀ» (aref a x y)¶ó°í ¾²°í ½ÍÁö´Â ¾ÊÀ» °ÍÀÌ´Ù.

ÀÌ·± Ưº°ÇÑ °æ¿ì¿¡ ´ëÇØ ±× ¹®Á¦¿¡¼­ ¹þ¾î³¯ ¼ö ÀÖ´Â ¹¦Ã¥ÀÌ ÀÖ´Ù. ÀÚ·á ±¸Á¶¸¦ ÷ÀÚ(index)µé¿¡ ´ëÇÑ ÇÔ¼ö¶ó°í °£ÁÖÇϸé, (a x y)¶ó°í ´ë½Å ¾µ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ÆÞÀÇ Çüź¸´Ù ´õ ª±â±îÁö ÇÏ´Ù. ÀÌ·± ½ÄÀÇ ¹¦Ã¥À» ½á¼­ ´Ù¸¥ Çü½ÄÀÇ Ç¥Çö½Äµéµµ ª°Ô ÇÒ ¼ö ÀÖ´Ù.

°ýÈ£°¡ ¸¹ÀÌ ¾²ÀÌ´Â °Íµµ, µé¿©¾²±â°¡ Àǹ̸¦ °®°Ô ÇÔÀ¸·Î½á ¾ø¾Ö¹ö¸± (ȤÀº ¾È ½áµµ µÇ°Ô ÇÒ) ¼ö ÀÖ´Ù. »ç½Ç ÇÁ·Î±×·¡¸ÓµéÀº ÀÌ·± ½ÄÀ¸·Î Äڵ带 Àд´Ù. µé¿©¾²±â´Â ÀÌ·± ¶æÀÌ°í ºÐ¸®ÀÚ(delimiter)´Â Àú·± ¶æÀ̶ó¸é, ¿ì¸®´Â µé¿©¾²±â°¡ ¸Â´Â´Ù°í »ý°¢ÇÑ´Ù. µé¿©¾²±â°¡ Àǹ̸¦ °®°Ô Çϸé, ÀÌ·± ÈçÇÑ ¹ö±×ÀÇ ¿øÀεµ ¾ø¾Ö°í ÇÁ·Î±×·¥µµ ´õ ª°Ô ¸¸µé ¼ö ÀÖÀ» °ÍÀÌ´Ù.

¶§·Î´Â »çÀÌ Ç¥±â ¹®¹ý(infix syntax)ÀÌ Àб⠽±´Ù. ¼öÇнĿ¡¼­´Â ƯÈ÷ ±×·¸´Ù. ³ª´Â Æò»ý ¸®½ºÇÁ·Î ÇÁ·Î±×·¡¹ÖÀ» ÇØ ¿ÔÁö¸¸, Áö±Ýµµ ¾Õ Ç¥±â ¼öÇнÄÀº ÀÚ¿¬½º·¯¿ö º¸ÀÌÁö ¾Ê´Â´Ù. ÇÏÁö¸¸, ÀÎÀÚ°¡ ¸î °³¶óµµ »ó°ü¾ø´Â ¿¬»êÀÚ°¡ ÀÖ´Ù´Â °ÍÀº ƯÈ÷ Äڵ带 »ý¼ºÇÒ ¶§ Æí¸®ÇÏ´Ù. ¸®½ºÇÁ¿¡ »çÀÌ Ç¥±â ¹®¹ýÀÌ ÀÖ´Ù¸é, ±×°ÍÀº ÀÏÁ¾ÀÇ Àбâ¸ÅÅ©·Î(read-macro)·Î¼­ ±¸ÇöµÉ °ÍÀÌ´Ù. ¿ªÀÚ ÁÖ: Àбâ¸ÅÅ©·Î¶õ ¸®½ºÇÁÀÇ '(ÀÛÀºµû¿ÈÇ¥)¿Í °°ÀÌ ÇÁ·Î±×·¥ÀÇ Àб⠽𣿡 (Áï °¡Àå ¸ÕÀú) 󸮵Ǵ ¸ÅÅ©·ÎÀÌ´Ù. ÀÏ¹Ý ¸ÅÅ©·Î´Â ÄÄÆÄÀÏ ½Ã°£¿¡, ÇÔ¼ö´Â ½ÇÇà ½Ã°£¿¡ 󸮵ȴÙ.

Àß ÀÌÇصǴ ¹æ½Ä¿¡ ÀÇÇØ ¿ø·¡ÀÇ S½Ä(s-expression)À¸·Î ¹ø¿ªµÉ ¼ö ÀÖ´Ù¸é, ¿ì¸®°¡ Á¾±³Àû ½Å³äó·³ ¸®½ºÇÁ¿¡ ¹®¹ýÀ» µµÀÔÇÏ´Â °ÍÀ» ¹Ý´ëÇØ¾ß ÇÑ´Ù°í »ý°¢ÇÏÁö´Â ¾Ê´Â´Ù. ¿ªÀÚ ÁÖ: S½ÄÀ̶õ ½É¹ú(symbol)°ú ±×°ÍÀ» ¹­´Â °ýÈ£·Î µ¥ÀÌÅͳª ÇÔ¼ö¸¦ Ç¥ÇöÇÏ´Â ½ÄÀ» ¸»ÇÑ´Ù. ¿©±â¼­ S´Â ½É¹ú(symbolic)À» ¶æÇÑ´Ù. ÀÌ¹Ì ¸®½ºÇÁ¿¡´Â ¹®¹ýÀÌ ¸¹ÀÌ ÀÖ´Ù. Ãß°¡ µµÀÔÇÏ´Â °ÍÀÌ ÇÊ¿¬ÀûÀ¸·Î ³ª»Ú´Ù°í ÇÒ ¼ö´Â ¾ø´Ù. ´Ü, ±×°ÍÀ» ¾²¶ó°í °­¿äÇؼ­´Â ¾È µÈ´Ù. Ä¿¸Õ ¸®½ºÇÁ¿¡¼­´Â ¾î¶² ºÐ¸®ÀÚ(delimiter)µéÀÌ »ç¿ë Á¦ÇѵǾî(reserved) ÀÖ´Ù. ÀÌ°ÍÀº ÃÖ¼ÒÇÑ ¾î¶² ¼³°èÀÚµéÀÌ ³ªÁß¿¡ ¹®¹ýÀ» Ãß°¡·Î µµÀÔÇÒ Àǵµ°¡ ÀÖ´Ù´Â °ÍÀ» ¾Ï½ÃÇÑ´Ù.

Ä¿¸Õ ¸®½ºÇÁ¿¡¼­ °¡Àå Å͹«´Ï¾øÀÌ ¸®½ºÇÁ´äÁö ¾ÊÀº ¹®¹ýÀº Çü½Ä ÁöÁ¤ ¹®ÀÚ¿­(format string)¿¡¼­ º¼ ¼ö ÀÖ´Ù. ÀÌ Çü½Ä ÁöÁ¤ ¹æ½ÄÀº µ¶¸³µÈ »õ·Î¿î ¾ð¾î¿´°í ±× ¾ð¾î´Â ¸®½ºÇÁ°¡ ¾Æ´Ï´Ù. ¸®½ºÇÁ¿¡ »õ·Î¿î ¹®¹ýÀ» µµÀÔÇÒ °èȹÀ̶ó¸é Çü½Ä ÁöÁ¤ÀÚ(format specifier)µéµµ ¸®½ºÇÁÀÇ ÀϺΰ¡ µÉ ¼ö ÀÖÀ» ÅÙµ¥ ¸»ÀÌ´Ù. ¸ÅÅ©·Î·Î ´Ù¸¥ Á¾·ùÀÇ Äڵ带 »ý¼ºÇϵíÀÌ Çü½Ä ÁöÁ¤ÀÚµµ ±×·¸°Ô »ý¼ºÇÒ ¼ö ÀÖ¾ú´Ù¸é ÁÁ¾ÒÀ» °ÍÀÌ´Ù.

¾î¶² ¶Ù¾î³­ ¸®½ºÇÁ ÇØÄ¿°¡ ³ª¿¡°Ô ±×°¡ °®°í ÀÖ´Â CLTLÀº Çü½Ä ÁöÁ¤(format) ÀýÀÌ ÀúÀý·Î ÆîÃÄÁø´Ù°í ¸»Çß´Ù. ¿ªÀÚ ÁÖ: °¡ÀÌ L. ½ºÆ¿(Guy L. Steele)ÀÇ Ã¥ "Common Lisp the Language". ³» °Íµµ ¸¶Âù°¡ÁöÀÌ´Ù. ÀÌ°ÍÀº °³¼±ÀÇ ¿©Áö°¡ ÀÖÀ½À» ³ªÅ¸³»´Â °ÍÀÌ´Ù. ÀÌ°Í ¶§¹®¿¡ ÇÁ·Î±×·¥¿¡ ÀÔÃâ·Â(I/O)ÀÌ ¸¹¾ÆÁø´Ù´Â ÀǹÌÀÏ ¼öµµ ÀÖ´Ù.

8. È¿À²

ÁÁÀº ¾ð¾î´Â, ¸ðµÎµé ¾Ë´Ù½ÃÇÇ, ºü¸¥ Äڵ带 »ý¼ºÇØ ³»¾ß ÇÑ´Ù. ÇÏÁö¸¸ ½ÇÁ¦·Î´Â ºü¸¥ Äڵ尡 ¾ð¾îÀÇ ¼³°è¿¡ µéÀÎ ³ë·Â¿¡¼­ ³ª¿À´Â °Í °°Áö´Â ¾Ê´Ù. Ä¿´©¾²(Knuth)°¡ ¿À·¡ Àü¿¡ ÁöÀûÇßµíÀÌ, ¼Óµµ´Â ¾î¶² °áÁ¤ÀûÀÎ º´¸ñ(bottleneck)¿¡¼­³ª Áß¿äÇÒ »ÓÀÌ´Ù. ±× ÈÄ¿¡µµ ¸¹Àº ÇÁ·Î±×·¡¸ÓµéÀÌ ±ú´Þ¾Æ ¿ÔµíÀÌ, »ç¶÷µéÀº ÀÌ·± º´¸ñÀÌ ¾îµð¿¡ ÀÖ´ÂÁö¿¡ ´ëÇØ Á¾Á¾ ¿ÀÇØÇÏ°ï ÇÑ´Ù.

±×·¡¼­ ½ÇÁ¦·Î´Â ºü¸¥ Äڵ带 ¾ò´Â ¹æ¹ýÀº ÁÁÀº ¼º´É ºÐ¼® µµ±¸(profiler)¸¦ °®Ãß´Â °ÍÀÌÁö, À̸¦Å׸é ÀÚ·áÇü °Ë»ç°¡ ¾ö°ÝÇÑ ¾ð¾î·Î µÇ´Â °ÍÀÌ ¾Æ´Ï´Ù. ÇÁ·Î±×·¥ÀÇ ¸ðµç È£Ãâ¿¡ µîÀåÇÏ´Â ¸ðµç ÀÎÀÚµéÀÇ ÀÚ·áÇüÀ» ¾Ë ÇÊ¿ä´Â ¾ø´Ù. ÀÎÀÚµéÀÇ ÀÚ·áÇüÀ» ¼±¾ðÇÒ ¼ö ÀÖ¾î¾ß ÇÏ´Â °ÍÀº º´¸ñ¿¡¼­ÀÌ´Ù. ±×¸®°í ´õ¿í Áß¿äÇÑ °ÍÀº º´¸ñÀÌ ¾îµðÀÎÁö ¾Ë¾Æ³¾ ¼ö ÀÖ¾î¾ß ÇÑ´Ù.

»ç¶÷µéÀÌ ¸®½ºÇÁ¿¡ ´ëÇØ °®´Â ºÒ¸¸ Çϳª´Â ÇÁ·Î±×·¥¿¡¼­ ¾î´À ºÎºÐÀÌ ³¶ºñÀû(expensive)ÀÎÁö ±¸ºÐÇϱâ Èûµé´Ù´Â °ÍÀÌ´Ù. »ç½ÇÀÎÁöµµ ¸ð¸¥´Ù. ¸Å¿ì Ãß»óÀûÀÎ ¾ð¾î°¡ ÇÊ¿äÇÏ´Ù¸é ¾î¿ ¼ö ¾ø´Â °ÍÀÏ ¼öµµ ÀÖ´Ù. ¾î´À °æ¿ìÀÌµç ¼º´É ºÐ¼®À» Àß ÇÏ´Â °ÍÀÌ ±× ÇÁ·Î±×·¥À» °íÄ¡´Â µ¥¿¡ ´õ¿í È¿°ú°¡ ÀÖÀ» °ÍÀ̶ó°í »ý°¢ÇÑ´Ù. ÀÌ°ÍÀ» ÅëÇØ ¾î´À ºÎºÐÀÌ ³¶ºñÀûÀÎÁö ±Ý¹æ ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù.

±× ¹®Á¦´Â ÀϺΠ»çȸÀûÀÎ ¹®Á¦À̱⵵ ÇÏ´Ù. ¾ð¾î ¼³°èÀÚµéÀº ºü¸¥ ÄÄÆÄÀÏ·¯¸¦ ÀÛ¼ºÇÏ°í ½Í¾î ÇÑ´Ù. ±×µéÀº ±×·¸°Ô ÀÚ½ÅÀÇ ±â´ÉÀ» °¡´ÆÇØ º»´Ù. ±×µéÀº ¼º´É ºÐ¼® µµ±¸´Â ±â²¯ÇØ¾ß ºÎ·Ï(add-on)ÂëÀ¸·Î »ý°¢ÇÑ´Ù. ÇÏÁö¸¸ ½ÇÁ¦·Î´Â ºü¸¥ Äڵ带 »ý¼ºÇÏ´Â ÄÄÆÄÀÏ·¯º¸´Ù, ÁÁÀº ¼º´É ºÐ¼® µµ±¸°¡ ±× ¾ð¾î·Î ÀÛ¼ºµÈ ½ÇÁ¦ ÇÁ·Î±×·¥µéÀÇ ¼Óµµ¸¦ Çâ»ó½ÃÅ°´Â µ¥¿¡ ´õ Å©°Ô ±â¿©ÇÒ ¼ö ÀÖ´Ù. ¿©±â¿¡¼­µµ ¾ð¾î ¼³°èÀÚµéÀº ±× ¾ð¾î »ç¿ëÀÚµéÀÇ »çÁ¤¿¡ ´Ù¼Ò ¾îµÎ¿î °Í °°´Ù. ±×µéÀº À߸ø ¤Àº ¹®Á¦¸¦ °Ü¿ì Á¶±Ý ÇØ°áÇϱâ À§ÇØ Á¤¸»·Î ¿­½ÉÈ÷µé ÀÏÇÏ´Â °Í °°´Ù.

Àû±ØÀûÀÎ ¼º´É ºÐ¼® µµ±¸, Áï ÇÁ·Î±×·¡¸Ó°¡ ¼º´É ÀÚ·áµéÀ» ¿äûÇÒ ¶§±îÁö ±â´Ù¸®°í ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó º¸¶ó°í µ¶ÃËÇÏ´Â(push) °ÍÀ» ¸¶·ÃÇÏ´Â °Íµµ ÁÁÀ» °ÍÀÌ´Ù. ¿¹¸¦ µé¾î, ÇÁ·Î±×·¡¸Ó°¡ ¼Ò½º Äڵ带 ÆíÁýÇÒ ¶§, ÆíÁý±â¿¡¼­ º´¸ñµéÀ» »¡°²°Ô Ç¥½ÃÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¶Ç ´Ù¸¥ ¹æ¹ýÀ¸·Î´Â, ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¶§ ¹«½¼ ÀÏÀÌ ÀϾ´ÂÁö ¾î¶² ½ÄÀ¸·Îµç Ç¥½ÃÇÏ°Ô ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ°ÍÀº »ìÆìºÁ¾ß ÇÏ´Â ½ÇÇà ÁßÀÎ ÇÁ·Î±×·¥ÀÌ ¸¹Àº ¼­¹ö ±â¹Ý ÀÀ¿ëÇÁ·Î±×·¥µé¿¡¼­ ƯÈ÷ Å« ¼º°øÀ» °ÅµÑ °ÍÀÌ´Ù. Àû±ØÀûÀÎ ¼º´É ±â·Ï µµ±¸´Â ÇÁ·Î±×·¥ ½ÇÇà Áß¿¡ ¸Þ¸ð¸®¿¡¼­ ¹«½¼ ÀÏÀÌ ÀϾ´ÂÁö ±×¸²À¸·Î º¸¿© Áְųª, ¹«½¼ ÀÏÀÌ ÀÖ´ÂÁö ¾Ë·ÁÁÖ´Â ¼Ò¸®¸¦ ³¾ ¼öµµ ÀÖ´Ù.

¼Ò¸®´Â ¹®Á¦ ¹ß»ýÀ» ¾Ë¸®´Â ½ÅÈ£·Î¼­ ÁÁ´Ù. ³»°¡ ÀÏÇß´ø °÷¿¡´Â ¿ì¸® À¥ ¼­¹öµé¿¡¼­ ¹«½¼ ÀÏÀÌ ÀÖ´ÂÁö º¸¿©ÁÖ´Â Å« ´«±ÝÆÇÀÌ ÀÖ¾ú´Ù. ±× ÁöħÀº Á¶±×¸¸ ¼­º¸¸ðÅÍ(servomotor)·Î µ¹¾Æ°¬´Âµ¥ µ¹¾Æ°¥ ¶§ ÀÛÀº ÀâÀ½ÀÌ µé·È´Ù. ³» Ã¥»ó¿¡¼­ ±× ´«±ÝÆÇÀ» º¼ ¼ö ¾ø¾îµµ ³ª´Â ±× ¼Ò¸®¿¡ ÀÇÇØ ¾ðÁ¦ ¼­¹ö¿¡ ¹®Á¦°¡ »ý°å´ÂÁö Áï½Ã ¾Ë ¼ö ÀÖ¾ú´Ù.

ÀÚµ¿ÀûÀ¸·Î ºñÈ¿À²ÀûÀÎ ¾Ë°í¸®µëÀ» °£ÆÄÇÏ´Â ¼º´É ºÐ¼® µµ±¸¸¦ Á÷Á¢ ÀÛ¼ºÇÏ´Â °Íµµ °¡´ÉÇÒ °ÍÀÌ´Ù. ƯÁ¤ÇÑ ¸Þ¸ð¸® Á¢±Ù ¹æ½ÄÀÌ ¾È ÁÁÀº ¾Ë°í¸®µëÀ» ³ªÅ¸³»´Â ºÐ¸íÇÑ ½ÅÈ£ÀÓÀÌ ¹àÇôÁø´Ù Çصµ ±×·¸°Ô ³î¶ö ÀÏÀº ¾Æ´Ñ °Í °°´Ù. ÄÄÇ»ÅÍ ¼Ó¿¡¼­ µ¹¾Æ´Ù´Ï¸ç ¿ì¸® ÇÁ·Î±×·¥À» ½ÇÇàÇÏ´Â ÀÛÀº »ç¶÷ÀÌ ÀÖ´Ù¸é, ±×´Â °ø¹«¿øÀ¸·Î ÀÏÇÏ´Â ÀÚ½ÅÀÇ ±æ°íµµ ½½Ç ¾ê±â¸¦ ¿ì¸®¿¡°Ô µé·ÁÁÖ°í ½Í¾î ÇÒÁöµµ ¸ð¸¥´Ù. °¡²û ³ª´Â ÇÁ·Î¼¼¼­¿¡°Ô ¾µµ¥¾ø´Â ÀÏ(wild-goose chase)À» ³Ê¹« ¸¹ÀÌ ½ÃÅ°°í ÀÖ´Â °Í °°´Ù´Â ´À³¦À» ¹ÞÁö¸¸, ±×°ÍÀÌ ¹«¾ùÀ» ÇÏ°í ÀÖ´ÂÁö »ìÆì º¼ ÁÁÀº ¹æ¹ýÀº ¾ÆÁ÷ ¸ø ã¾Ò´Ù.

Áö±Ý ¸¹Àº ¸®½ºÇÁ¿¡¼­´Â ¹ÙÀÌÆ® Äڵ尡 ÄÄÆÄÀÏ µÇ°í, ±×°ÍÀÌ ÀÎÅÍÇÁ¸®ÅÍ·Î ½ÇÇàµÈ´Ù. ÀÌ·¸°Ô ÇÏ´Â °ÍÀº º¸Åë ´Ù¸¥ ½Ã½ºÅÛÀ¸·Î ½±°Ô À̽ÄÇϱâ À§Çؼ­ÀÌ´Ù. ±×·±µ¥ ÀÌ·± Ư¡Àº ¾ð¾î·Î¼­µµ À¯¿ëÇÑ °ÍÀÌ´Ù. ¹ÙÀÌÆ® Äڵ带 ¾ð¾îÀÇ °ø½Ä ºÎºÐÀ¸·Î ¸¸µé°í, ÇÁ·Î±×·¡¸Ó°¡ º´¸ñ¿¡¼­ ÀζóÀÎ ¹ÙÀÌÆ® Äڵ带 ¾µ ¼ö ÀÖ°Ô ÇÏ´Â °Íµµ ÁÁÀ» °Í °°´Ù. ±×·¸°Ô µÇ¸é ÀÌ·¸°Ô ÃÖÀûÈ­ÇÑ °ÍÀÌ ´Ù¸¥ ½Ã½ºÅÛ¿¡µµ ÀÌ½ÄµÉ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

¼ÓµµÀÇ ¼º°ÝÀº ÃÖÁ¾ »ç¿ëÀÚ°¡ ´À³¢´Â °Í¿¡ µû¶ó »ç¶÷¸¶´Ù ´Ù¸¦ ¼ö ÀÖ´Ù. ¼­¹ö ±â¹Ý ÀÀ¿ëÇÁ·Î±×·¥µéÀÌ À¶¼ºÇϸ鼭, Á¡Á¡ ´õ ¸¹Àº ÇÁ·Î±×·¥µéÀÌ ÀÔÃâ·Â(I/O)¿¡ Å« ¿µÇâÀ» ¹Þ°Ô µÉ °ÍÀÌ´Ù. ÀÔÃâ·ÂÀ» ºü¸£°Ô ÇÏ´Â °ÍÀÌ °¡Ä¡ ÀÖ°Ô µÉ °ÍÀÌ´Ù. ÀÌ°ÍÀº °£°áÇÏ°í ºü¸£°í Çü½ÄÀÌ Á¤ÇØÁø Ãâ·Â ÇÔ¼ö¿Í °°Àº Á÷Á¢ÀûÀÎ ¹æ¹ý¿¡ ÀÇÇØ µµ¿òÀÌ µÉ ¼öµµ ÀÖ°í, ij½Ã(caching)³ª ¿µ¼Ó °´Ã¼(persistent object)¿Í °°ÀÌ ±Ùº»ÀûÀÎ ±¸Á¶ º¯È­·Î½á ±×·¸°Ô ÇÒ ¼öµµ ÀÖ´Ù.

»ç¿ëÀÚµéÀº ¹ÝÀÀ ½Ã°£¿¡ °ü½ÉÀ» °®´Â´Ù. ÇÏÁö¸¸ ¶Ç ´Ù¸¥ Á¾·ùÀÇ È¿À²ÀÌ Á¡Á¡ ´õ Áß¿äÇØÁú °ÍÀÌ´Ù. ÇÁ·Î¼¼¼­¸¶´Ù Áö¿øÇÒ ¼ö ÀÖ´Â µ¿½Ã »ç¿ëÀÚ ¼ö°¡ ±×°ÍÀÌ´Ù. ¸ÓÁö¾Ê¾Æ ¸¸µé¾îÁú ¸¹Àº Èï¹Ì·Î¿î ÀÀ¿ëÇÁ·Î±×·¥µéÀÌ ¼­¹ö ±â¹ÝÀÌ µÉ °ÍÀÌ°í, ±×·± ÀÀ¿ëÇÁ·Î±×·¥À» ºÒ·¯ ¾²´Â(hosting) »ç¶÷µéÀº ¼­¹ö´ç »ç¿ëÀÚ ¼ö¿¡ ´ëÇØ °áÁ¤ÀûÀ¸·Î ±Ã±ÝÇØ ÇÒ °ÍÀÌ´Ù. ¼­¹ö ±â¹Ý ÀÀ¿ëÇÁ·Î±×·¥ Á¦°ø »ç¾÷ÀÇ ÁÖ¿ä ºñ¿ë¿¡¼­ ÀÌ ¼ö´Â ºÐ¸ð(divisor)°¡ µÈ´Ù.

¿©·¯ ÇØ µ¿¾È È¿À²Àº ÃÖÁ¾ »ç¿ëÀÚÀÇ ÀÀ¿ëÇÁ·Î±×·¥µé ´ëºÎºÐ¿¡¼­ º° ¹®Á¦°¡ µÇÁö ¾Ê¾Ò´Ù. °³¹ßÀÚµéÀº °¢ »ç¿ëÀÚ°¡ Á¡Á¡ ´õ °­·ÂÇØÁ® °¡´Â ÇÁ·Î¼¼¼­¸¦ °®Ãß°í ÀÚ±â ÀÚ¸®¿¡ ¾É¾Æ ÀÖ´Ù°í °¡Á¤Çصµ ¹«¹æÇß´Ù. ÆÄŲ½¼(Parkinson)ÀÇ ¹ýÄ¢¿¡ µû¶ó ¼ÒÇÁÆ®¿þ¾î´Â ¾µ ¼ö ÀÖ´Â ¸ðµç °ø±Þ¿øÀ» ´Ù ¾²µµ·Ï È®´ëµÇ¾î ¿Ô´Ù. ¿ªÀÚ ÁÖ: ÆÄŲ½¼ÀÇ ¹ýÄ¢À̶õ "ÀÏÀº ±×°ÍÀÌ ¿Ï·áµÉ ¶§±îÁö ä¿ï ¼ö ÀÖ´Â ¸ðµç ½Ã°£À» ´Ù ä¿ìµµ·Ï È®´ëµÈ´Ù"´Â °ü·áÁÖÀÇ¿¡ °üÇÑ ¹ýÄ¢. ÇØÄ¿µéÀº ÀÌ ¹ýÄ¢À» "µ¥ÀÌÅÍ´Â ÀúÀå ¸ÅüÀÇ ¿©À¯ °ø°£À» ´Ù ä¿ï ¶§±îÁö È®´ëµÈ´Ù"´Â ÆÄŲ½¼ÀÇ "µ¥ÀÌÅÍ" ¹ýÄ¢À¸·Î º¯Çü½ÃÄ×´Ù. ÀÌ°ÍÀº ¼­¹ö ±â¹Ý ÀÀ¿ëÇÁ·Î±×·¥ÀÇ µîÀå¿¡ µû¶ó ´Þ¶óÁú °ÍÀÌ´Ù. ±× ¼¼°è¿¡¼­´Â Çϵå¿þ¾î¿Í ¼ÒÇÁÆ®¿þ¾î°¡ °°ÀÌ °ø±ÞµÉ °ÍÀÌ´Ù. ¼­¹ö ±â¹Ý ÀÀ¿ëÇÁ·Î±×·¥À» Á¦°øÇϴ ȸ»ç·Î¼­´Â ¼­¹ö´ç ¾ó¸¶³ª ¸¹Àº »ç¿ëÀÚ¸¦ Áö¿øÇÒ ¼ö Àִ°¡¿¡ µû¶ó ¼øÀÌÀÍ(bottom-line)¿¡ Å« Â÷ÀÌ°¡ »ý±æ °ÍÀÌ´Ù.

¾î¶² ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­´Â ÇÁ·Î¼¼¼­°¡ Á¦ÇÑ ¿äÀÎÀÌ µÇ°í ½ÇÇà ¼Óµµ°¡ ÃÖÀûÈ­¿¡ °¡Àå Áß¿äÇÑ °ÍÀÌ µÈ´Ù. ÇÏÁö¸¸ ¸Þ¸ð¸®°¡ Á¦ÇÑ ¿äÀÎÀÌ µÇ±âµµ ÇÑ´Ù. µ¿½Ã »ç¿ëÀÚ ¼ö´Â °¢ »ç¿ëÀÚ µ¥ÀÌÅÍ¿¡ ÇÊ¿äÇÑ ¸Þ¸ð¸®ÀÇ ¾çÀ¸·Î °áÁ¤µÈ´Ù. ¾ð¾î°¡ ¿©±â¿¡¼­µµ µµ¿òÀÌ µÉ ¼ö ÀÖ´Ù. ¾²·¹µå°¡ Àß Áö¿øµÇ¸é ¸ðµç »ç¿ëÀÚ°¡ ´ÜÀÏÇÑ Èü(heap)À» °øÀ¯ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¿µ¼Ó °´Ã¼(persistent object)³ª ¾ð¾î ¼öÁØ¿¡¼­ ´À±ßÇÑ ÀûÀç(lazy loading)¸¦ Áö¿øÇÏ´Â °Íµµ µµ¿òÀÌ µÈ´Ù. ¿ªÀÚ ÁÖ: ´À±ßÇÑ ÀûÀç(lazy loading)¶õ ¸ðµâÀ» ¹Ì¸® ¿Ã¸®Áö ¾Ê°í ÇÔ¼ö°¡ È£ÃâµÉ ¶§ °ü·Ã ¸ðµâÀ» ¿Ã¸®´Â °ÍÀ» ¸»ÇÑ´Ù.

9. ½Ã°£

Àαâ ÀÖ´Â ¾ð¾î¿¡ ÇÊ¿äÇÑ ¸¶Áö¸· ¼ººÐÀº ½Ã°£ÀÌ´Ù. ¾Æ¹«µµ »ç¶óÁ® ¹ö¸±Áö ¸ð¸£´Â ¾ð¾î·Î ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ°í ½Í¾î ÇÏÁö ¾Ê´Â´Ù. »ç½Ç ¸¹Àº ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀÌ »ç¶óÁ³´Ù. ±×·¡¼­ ÇØÄ¿µéÀº ´ëºÎºÐ ÀÌ»ï ³â Á¤µµ ¾î¶² ¾ð¾îÀÇ È°¾àÀ» ÁöÄѺ» µÚ¿¡¾ß ±×°ÍÀ» ÇÑ ¹ø ½á º¼±î ÇÏ°í »ý°¢ÇÏ´Â °æÇâÀÌ ÀÖ´Ù.

¸ÚÁø »õ ¹ß¸íÇ°À» ¸¸µç »ç¶÷µéÀº ÀÌ »ç½ÇÀ» ¾Ë°í ³î¶ó°ï ÇÏÁö¸¸, ¾î¶² Á¤º¸°¡ »ç¶÷µé¿¡°Ô ÃæºÐÈ÷ ¾Ë·ÁÁö´Â µ¥¿¡´Â ½Ã°£ÀÌ °É¸°´Ù. ³» Ä£±¸ Çϳª´Â ¿äû ÇÑ ¹ø¿¡ ¹Ù·Î ÀÏÀ» ½ÃÀÛÇÏ´Â °æ¿ì°¡ °ÅÀÇ ¾ø´Ù. ±×´Â »ç¶÷µéÀÌ ¹«¾ùÀ» ¿äûÇÏ´õ¶óµµ ¾Ë°í º¸¸é ±×°ÍÀÌ ±×·¸°Ô ¿øÇÏ´Â °ÍÀº ¾Æ´Ï¶ó´Â »ç½ÇÀ» Àß ¾È´Ù. ½Ã°£ ³¶ºñ¸¦ ÇÇÇϱâ À§ÇØ, ±×´Â ±× ÀÏ¿¡ ´ëÇØ ¼­³Ê ¹ø ¿äûÀÌ ÀÖÀ» ¶§±îÁö ±â´Ù¸°´Ù. ±× Á¤µµ µÇ¸é ±×¿¡°Ô ¿äûÇÑ »ç¶÷Àº ±âºÐÀÌ ³ªºüÁö°ÚÁö¸¸, ÃÖ¼ÒÇÑ ±×µéÀÌ ±× ÀÏÀ» Á¤¸»·Î ¿øÇÑ´Ù´Â »ç½ÇÀº µå·¯³ª´Â °ÍÀÌ´Ù.

´ëºÎºÐÀÇ »ç¶÷µéÀº »õ·Î¿î °Í¿¡ °üÇØ µè°Ô µÉ ¶§ ÀÌ¿Í ºñ½ÁÇÏ°Ô °É·¯³»´Â ¹æ¹ýÀ» ÀÍÇô ¿Ô´Ù. ±×µéÀº ¾î¶² °Í¿¡ ´ëÇØ ¿­ ¹ø ÀÌ»ó µè±â Àü¿¡´Â ±×°Í¿¡ °ü½ÉÁ¶Â÷ °®Áö ¾Ê´Â´Ù. ±×µéÀÇ ÇൿÀº ³Ê¹«³ªµµ Á¤´çÇÏ´Ù. ¹æ±Ý ³ª¿Â ÃÖ½ÅÀÇ °Íµé ´ëºÎºÐÀº ½Ã°£ ³¶ºñ·Î ¹àÇôÁö°í °á±¹ »ç¶óÁ® ¹ö¸®±â ¶§¹®ÀÌ´Ù. ³ª´Â VRML ¹è¿ì´Â ÀÏÀ» ¹Ì·ï µÒÀ¸·Î½á ±× ÀÏÀ» ¾Æ¿¹ ÇÏÁö ¾Ê¾Æµµ µÇ¾ú´Ù.

±×·¡¼­ »õ·Î¿î °ÍÀ» ¹ß¸íÇÑ »ç¶÷Àº »ç¶÷µéÀÌ °ü½ÉÀ» °®±â ½ÃÀÛÇÒ ¶§±îÁö ¸î ³âÀÌ°í Á¤º¸¸¦ °è¼Ó ¹Ýº¹Çؼ­ ¾Ë·Á¾ß ÇÏ´Â °ÍÀÌ´Ù. ¿ì¸®´Â, ³»°¡ ¾Æ´Â ÇÑ, ÃÖÃÊÀÇ À¥ ¼­¹ö ±â¹Ý ÀÀ¿ëÇÁ·Î±×·¥À» ÀÛ¼ºÇߴµ¥, »ç¶÷µé¿¡°Ô ±×°ÍÀ» ³»·Á¹ÞÁö ¾Ê¾Æµµ µÈ´Ù´Â »ç½ÇÀ» ÃæºÐÈ÷ ¾Ë¸®´Â µ¥¿¡¸¸ ¸î ³âÀÌ °É·È´Ù. ÀÌ°ÍÀº »ç¶÷µéÀÌ ¸ÛûÇؼ­°¡ ¾Æ´Ï´Ù. ±×µéÀº ¿ì¸®¿¡ ´ëÇÑ °ü½ÉÀ» ²¨ ³õ¾ÒÀ» »ÓÀÌ´Ù.

±×·¡µµ ±â»Û ¼Ò½ÄÀº ´Ü¼øÇÑ ¹Ýº¹ÀÌ ¹®Á¦¸¦ ÇØ°áÇÑ´Ù´Â »ç½ÇÀÌ´Ù. ¿À·ÎÁö ÇØ¾ß ÇÏ´Â ÀÏÀº ÀÚ½ÅÀÇ À̾߱⸦ °è¼Ó µé·ÁÁÖ´Â °ÍÀÌ´Ù. °á±¹ »ç¶÷µéÀº ±Í¸¦ ±â¿ïÀÌ°Ô µÉ °ÍÀÌ´Ù. »ç¶÷µéÀÌ °ü½ÉÀ» °®°Ô µÇ´Â ¶§´Â, ³»°¡ °Å±â ÀÖ´Ù´Â °ÍÀ» ¾Ë°Ô µÇ¾úÀ» ¶§°¡ ¾Æ´Ï¶ó, ³»°¡ ¾ÆÁ÷µµ °Å±â ÀÖ´Ù´Â °ÍÀ» ¾Ë°Ô µÇ¾úÀ» ¶§ÀÌ´Ù.

»ç¶÷µéÀ» ¿òÁ÷ÀÌ´Â °Íµµ ¸¶Âù°¡Áö·Î ½Ã°£ÀÌ ÇÊ¿äÇÏ´Ù. ´ëºÎºÐÀÇ ±â¼úµéÀº óÀ½ µîÀåÇÑ ÀÌÈÄ¿¡µµ »ó´çÈ÷ ¹ßÀüÇØ °£´Ù. ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â ƯÈ÷ ±×·¸´Ù. »õ·Î¿î ±â¼úÀº ¸î ³â µ¿¾È ¼Ò¼öÀÇ ¼±°¢¼ö¿ëÀÚ(early adopter)µé¸¸ »ç¿ëÇÏ°Ô ÇÏ´Â °ÍÀÌ °¡Àå ÁÁ´Ù. ¼±°¢¼ö¿ëÀÚµéÀº ¼¶¼¼ÇÏ°í ¿ä±¸°¡ ¸¹À¸¸ç, ±× ±â¼ú¿¡ ³²¾ÆÀÖ´Â ÈìµéÀ» ¹Ù·Î¹Ù·Î ½ñ¾Æ³½´Ù. ¼Ò¼öÀÇ »ç¿ëÀڵ鸸 ÀÖÀ» ¶§¿¡´Â ±×µé ¸ðµÎ¿Í °¡±õ°Ô Áö³¾ ¼ö ÀÖ´Ù. ¼±°¢¼ö¿ëÀÚµéÀº ½Ã½ºÅÛÀÌ ¼Õ»óÀ» ÀÏÀ¸Äѵµ ±×°ÍÀÌ °³¼±µÇ¾î °£´Ù¸é ³Ê±×·¯¿öÁø´Ù.

»õ·Î¿î ±â¼úÀÌ ¼Ò°³µÇ´Â µÎ °¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. »ýÀå¹ý(organic growth)°ú ºò¹ð¹ý(big bang)ÀÌ ±×°ÍÀÌ´Ù. »ýÀå¹ýÀº À°°¨¿¡ ÀÇÇØ(seat-of-the-pants) ÃæºÐÇÑ Àڱݵµ ¾øÀÌ Ã¢°í¿¡¼­ ½ÃÀÛÇÏ´Â °íÀüÀûÀÎ ¹æ½ÄÀ» ¿¹·Î µé ¼ö ÀÖ´Ù. µÎ¼¼ ¸íÀÌ ¸ð¿© ¾Ë¾ÆÁÖ´Â À̵µ ¾øÀÌ ÀÏÇϸ鼭 ¾î¶² »õ·Î¿î ±â¼úÀ» °³¹ßÇÑ´Ù. ¸¶ÄÉÆà Àü·«µµ ¾øÀÌ Ãâ½ÃÇÏ°í ¼Ò¼öÀÇ (¿­±¤ÀûÀ¸·Î Çå½ÅµÈ) »ç¿ëÀڵ鸸 ¾ò´Â´Ù. ±×µéÀº ±× ±â¼úÀ» °è¼Ó °³¼±ÇØ °¡¸ç, ±× µ¿¾È ¼Ò¹®À» Ÿ°í »ç¿ëÀÚ ±â¹ÝÀÌ Ä¿Á® °£´Ù. ±×µéÀÌ ¾ËÁö ¸øÇÏ´Â »çÀÌ¿¡ ±×µéÀº Ä¿Á® ÀÖ´Ù.

´Ù¸¥ Á¢±Ù ¹æ½ÄÀÎ ºò¹ð¹ýÀº º¥Ã³ÀÚ±Ý(VC)À» µî¿¡ ¾÷°í ´ë±Ô¸ðÀÇ ¸¶ÄÉÆà Àü·«À¸·Î ½ÃÀÛÇÏ´Â °ÍÀ» ¿¹·Î µé ¼ö ÀÖ´Ù. ±×µéÀº Á¦Ç° °³¹ßÀ» ÇâÇØ µ¹ÁøÇÏ¿© ´ëÁßÀÇ ÁÖ¸ñÀ» ¹ÞÀ¸¸ç Ãâ½ÃÇÏ°í Áï½Ã (±×µéÀÌ ¹Ù¶ó±â·Î´Â) ´ë±Ô¸ðÀÇ »ç¿ëÀÚ ±â¹ÝÀ» ÀÌ·é´Ù.

ÀϹÝÀûÀ¸·Î â°íÇü »ç¶÷µéÀº ºò¹ðÇü »ç¶÷µéÀ» ºÎ·¯¿öÇÑ´Ù. ºò¹ðÇü »ç¶÷µéÀº ¼¼·ÃµÇ°í ÀڽŸ¸¸¸ÇÏ¸ç º¥Ã³ÅõÀÚÀÚµéÀÇ ÀÎÁ¤À» ¹Þ´Â´Ù. ±×µéÀº ¸ðµç °ÍÀ» ÃÖ°í±ÞÀ¸·Î ´©¸± ¼ö ÀÖ°í, Ãâ½Ã¿¡ ¸ÂÃá Á¦Ç°¼³¸íȸ(PR campaign)¸¦ ÅëÇØ À¯¸íÀλ簡 µÇ´Â ºÎ¼ö È¿°ú±îÁö ¾ò´Â´Ù. »ýÀåÇü »ç¶÷µéÀº â°í¿¡ ¾É¾Æ¼­ ÀÚ±âµéÀÌ ºÒ½ÖÇÏ°í ¼Ò¿ÜµÇ¾ú´Ù°í ´À³¤´Ù. ÇÏÁö¸¸ ³ª´Â ±×µéÀÌ ½º½º·Î °¡¿²°Ô ¿©±â´Â °ÍÀº ¿ÀÇØÀÏ °æ¿ì°¡ ¸¹´Ù°í »ý°¢ÇÑ´Ù. »ýÀå¹ýÀº ºò¹ð¹ýº¸´Ù ´õ ³ªÀº ±â¼ú°ú ´õ dzºÎÇÑ ÈÄ¿øÀÚ(founder)µéÀ» ³º´Â´Ù. ¿À´Ã³¯ ÁÖµµÀûÀÎ ±â¼úµéÀ» º¸¸é ´ëºÎºÐÀÌ »ýÀåÇØ ¿ÔÀ½À» ¾Ë°Ô µÉ °ÍÀÌ´Ù.

ÀÌ·¯ÇÑ ¾ç½ÄÀº ȸ»ç¿¡¸¸ Àû¿ëµÇ´Â °ÍÀÌ ¾Æ´Ï´Ù. À§Å¹ ¿¬±¸(sponsored research)¿¡¼­µµ º¼ ¼ö ÀÖ´Ù. ¸Öƽ½º(Multics)¿Í Ä¿¸Õ ¸®½ºÇÁ´Â ºò¹ðÇü ÇÁ·ÎÁ§Æ®¿´°í, À¯´Ð½º¿Í ¸Æ¸®½ºÇÁ(MacLisp)´Â »ýÀåÇü ÇÁ·ÎÁ§Æ®¿´´Ù. ¿ªÀÚ ÁÖ: ¸Öƽ½º(Multiplexed Information and Computing Service)´Â 1965³â ¹Ì±¹ÀÇ MIT, Á¦³Ê·² ÀÏ·ºÆ®¸¯(GE), º§¿¬±¸¼Ò°¡ °øµ¿À¸·Î °³¹ßÇÑ ¸ÞÀÎÇÁ·¹ÀÓ¿ë ½ÃºÐÇÒ(timesharing) ¿î¿µÃ¼Á¦ÀÌ´Ù. 2000³â 10¿ù 30ÀÏ Ä³³ª´Ù ±¹¹æºÎÀÇ ¸Öƽ½º ½Ã½ºÅÛÀÌ Á¾·áµÇ¸é¼­ ¸Öƽ½º·Î ¿î¿µµÇ´Â ½Ã½ºÅÛÀº Àü¼¼°è¿¡ Çϳªµµ ³²Áö ¾Ê°Ô µÇ¾ú´Ù. http://www.multicians.org/history.html

10. Àç¼³°è

E. B. È­ÀÌÆ®(White)´Â "°¡Àå ÁÁÀº ±Û¾²±â´Â °íÃÄ ¾²±â(rewriting)"¶ó°í Çß´Ù. ¿ªÀÚ ÁÖ: ¹Ì±¹ÀÇ µ¿È­ ÀÛ°¡. "½ºÆ©¾îÆ® ¸®Æ²(Stuart Little)" µîÀÇ ÀÛÇ°À» ½è´Ù. ÁÁÀº ÀÛ°¡µéÀº ¸ðµÎ ÀÌ°ÍÀ» Àß ¾Ë°í ÀÖÀ¸¸ç, ÀÌ°ÍÀº ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇؼ­µµ Áø½ÇÀÌ´Ù. ¼³°è¿¡¼­ °¡Àå Áß¿äÇÑ ºÎºÐÀº Àç¼³°è(redesign)ÀÌ´Ù. ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â ƯÈ÷ ¾Æ¹«¸® Àç¼³°è¸¦ Çصµ ÃæºÐÄ¡ ¾Ê´Ù.

ÁÁÀº ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÛ¼ºÇϱâ À§Çؼ­´Â µÎ °¡Áö »ó¹ÝµÈ »ý°¢À» ¸Ó¸® ¼Ó¿¡ µ¿½Ã¿¡ °®°í ÀÖ¾î¾ß ÇÑ´Ù. ÀÚ½ÅÀÇ ´É·Â¿¡ ´ëÇØ ¾î¸° ÇØÄ¿¿Í °°Àº ¼øÁøÇÑ ¹ÏÀ½ÀÌ ÇÊ¿äÇÏ°í, ±×¿Í µ¿½Ã¿¡ ¹éÀü³ëÀåÀÇ È¸ÀÇ·Ð(skepticism)ÀÌ ÇÊ¿äÇÏ´Ù. ¸Ó¸®ÀÇ ¹ÝÂÊÀ¸·Î´Â '±×°Ô ¾ó¸¶³ª ¾î·Æ°Ú¾î?' ÇÏ°í »ý°¢ÇÒ ¼ö ÀÖ¾î¾ß ÇÏ°í, ´Ù¸¥ ¹ÝÂÊÀ¸·Î´Â '±×°Ç ¾È µÉ °Å¾ß.' ÇÏ°í »ý°¢ÇØ¾ß ÇÑ´Ù.

¿©±â¿¡´Â ½ÇÁ¦·Î ¾Æ¹« ¸ð¼øÀÌ ¾ø´Ù´Â °ÍÀ» ±ú´Ý´Â °ÍÀÌ ¿ä·ÉÀÌ´Ù. ¼­·Î ´Ù¸¥ µÎ °¡Áö¿¡ ´ëÇØ °¢°¢ ³«°üÀûÀÌ°í ȸÀÇÀûÀÌ µÇ¶ó´Â °ÍÀÌ´Ù. ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù´Â °¡´É¼º¿¡ ´ëÇؼ­´Â ³«°üÀûÀÌ µÇ¾î¾ß ÇÏ°í, Áö±Ý±îÁö ¾òÀº ÇØ°áÃ¥ÀÇ °¡Ä¡¿¡ ´ëÇؼ­´Â ȸÀÇÀûÀÌ µÇ¾î¾ß ÇÑ´Ù.

ÀÏÀ» Àß ÇÏ´Â »ç¶÷µéÀº Á¾Á¾ ÀڱⰡ ÇÏ°í ÀÖ´Â ÀÏÀÌ º°·Î¶ó°í »ý°¢ÇÑ´Ù. ±×µéÀÌ ÇØ ³õÀº ÀÏÀ» ´Ù¸¥ »ç¶÷µéÀº ³î¶ó¿ò °¡µæÈ÷ ¹Ù¶óº¸Áö¸¸, âÀÛÀÚ ÀÚ½ÅÀº ±Ù½ÉÀÌ °¡µæÇÏ´Ù. ÀÌ·± ¾çÅ´ ¿ì¿¬ÀÇ ÀÏÄ¡°¡ ¾Æ´Ï´Ù. ÀÌ ±Ù½ÉÀº ±× ÀÏÀ» ÁÁ¾ÆÁö°Ô ÇÑ´Ù.

Èñ¸Á°ú ±Ù½ÉÀÇ ±ÕÇüÀ» À¯ÁöÇÒ ¼ö ÀÖ´Ù¸é, µÎ ´Ù¸®°¡ ÀÚÀü°Å¸¦ ¾ÕÀ¸·Î ÃßÁøÇØ °¡µíÀÌ, ÀÌ µÑÀº ÇÁ·ÎÁ§Æ®¸¦ ¾ÕÀ¸·Î ÃßÁøÇØ °¥ °ÍÀÌ´Ù. ÀÌ 2´Ü°è ¼øȯ Çõ½Å ¿£Áø(two-cycle innovation engine)ÀÇ Ã¹ ¹ø° ´Ü°è¿¡¼­´Â ÇØ°áÇÒ ¼ö ÀÖ´Ù´Â È®½Å¿¡ °í¹«µÇ¾î ¾î¶² ¹®Á¦¿¡ ¸Í·ÄÇÏ°Ô ´Þ·Áµç´Ù. µÎ ¹ø° ´Ü°è¿¡¼­´Â ÀÌ·ï³½ °ÍÀ» ³ÃÁ¤ÇÏ°Ô »ìÇǸ鼭 ±× ÈìµéÀ» ¾ÆÁÖ ºÐ¸íÈ÷ ¾Ë°Ô µÈ´Ù. ÇÏÁö¸¸ ºñÆÇ Á¤½ÅÀÌ Èñ¸ÁÀ» ¾ÐµµÇÏÁö ¾Ê´Â ÇÑ, ºÒ¿ÏÀüÇÑ °ÍÀÌ ºÐ¸íÇÑ ±× ½Ã½ºÅÛÀ» º¸¸é¼­µµ '´Ù¸¥ ¹æ¹ýÀ» ã´Â °Ô ¾ó¸¶³ª ¾î·Æ°Ú¾î?' ÇÏ°í »ý°¢ÇÏ¸ç ´ÙÀ½ ¼øȯÀ¸·Î ³Ñ¾î°£´Ù.

ÀÌ µÎ ÈûÀÇ ±ÕÇüÀ» À¯ÁöÇÏ´Â µ¥¿¡´Â ¿ä·ÉÀÌ ÇÊ¿äÇÏ´Ù. ¾î¸° ÇØÄ¿µé¿¡°Ô´Â ³«°ü·ÐÀÌ ¿ì¼¼ÇÏ´Ù. ±×µéÀº ¹«¾ð°¡¸¦ ¸¸µé¸é ±×°ÍÀÌ ÈǸ¢ÇÏ´Ù°í È®½ÅÇÏ°í ´õ ÀÌ»ó °³¼±ÇÏÁö ¾Ê´Â´Ù. ´ÄÀº ÇØÄ¿µéÀº ȸÀÇ·ÐÀÌ ¿ì¼¼Çؼ­ ¾ß½ÉÀûÀÎ ÇÁ·ÎÁ§Æ®´Â °¨È÷ ¸ÃÀ¸·Á°í ÇÏÁö ¾Ê´Â´Ù.

Àç¼³°èÀÇ ¼øȯÀÌ °è¼ÓµÇ°Ô Çϱâ À§ÇÑ ³ë·ÂÀº ¸ðµÎ ÁÁÀº °ÍÀÌ´Ù. »ê¹®(prose)Àº °è¼Ó °íÃÄ ¾²´Ùº¸¸é °á±¹Àº ¸¸Á·½º·´°Ô µÉ °ÍÀÌ´Ù. ÇÏÁö¸¸ ¼ÒÇÁÆ®¿þ¾î´Â ÀϹÝÀûÀ¸·Î ¾Æ¹«¸® Àç¼³°è¸¦ Çصµ ÃæºÐÄ¡ ¾Ê´Ù. »ê¹®Àº µ¶ÀÚ°¡ ÀÖ°í ¼ÒÇÁÆ®¿þ¾î´Â »ç¿ëÀÚ°¡ ÀÖ´Ù. ÀÛ°¡´Â ¼öÇÊÀ» °íÃÄ ¾´´Ù Çصµ ±× ±ÛÀÇ ¿¾ ÆÇÀ» Àд »ç¶÷µéÀÌ ±× ±Û¿¡ »õ·Î µµÀÔµÈ ºñȣȯ¼º ¶§¹®¿¡ Àڱ⠻ý°¢ÀÌ ¼Õ»óµÆ´Ù°í ºÒÆòÇÏÁö´Â ¾ÊÀ» °ÍÀÌ´Ù.

»ç¿ëÀÚ´Â ¾ç³¯ÀÇ °ËÀÌ´Ù. ±×µéÀº ¾ð¾î¸¦ °³¼±ÇÏ´Â µ¥ µµ¿òÀÌ µÉ ¼öµµ ÀÖÁö¸¸, ±×°ÍÀ» °³¼±ÇÏ´Â µ¥ ¹æÇØ°¡ µÉ ¼öµµ ÀÖ´Ù. ±×·¡¼­ »ç¿ëÀÚ¸¦ Á¶½ÉÇؼ­ ¼±ÅÃÇØ¾ß ÇÏ¸ç ±× ¼ýÀÚ¸¦ õõÈ÷ ´Ã·Á¾ß ÇÏ´Â °ÍÀÌ´Ù. »ç¿ëÀÚ¸¦ È®º¸ÇÏ´Â °ÍÀº ÃÖÀûÈ­¸¦ ÇÏ´Â °Í°ú °°´Ù. ±×°ÍÀ» ´ÊÃß´Â °ÍÀÌ Çö¸íÇÑ ÀÏÀÌ´Ù. ¶ÇÇÑ ÀϹÝÀûÀ¸·Î ¾î´À ½ÃÁ¡¿¡¼­µç »ý°¢ÇÑ °Í ÀÌ»óÀÇ º¯È­¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ´Ù. º¯È­¸¦ ÀÏÀ¸Å°´Â °ÍÀº ¹Ýâ°í¸¦ ¶¼¾î³»´Â °Í°ú °°´Ù. °íÅëÀº ±×°ÍÀ» ´À³¤ ¼ø°£ ÀÌÈÄ¿¡´Â ±â¾ïÀÏ »ÓÀÌ´Ù.

À§¿øȸ¿¡¼­ ¾ð¾î¸¦ ¼³°èÇÏ´Â °ÍÀÌ ÁÁÀº »ý°¢ÀÌ ¾Æ´Ï¶ó´Â °ÍÀº ¸ðµÎ Àß ¾È´Ù. À§¿øȸ¿¡¼­ ³»³õ´Â ¼³°èÄ¡°í ÁÁÀº °ÍÀÌ ¾ø´Ù. ÇÏÁö¸¸ À§¿øȸÀÇ °¡Àå Å« À§ÇèÀº ±×µéÀÌ Àç¼³°è¿¡ ¹æÇØ°¡ µÈ´Ù´Â °ÍÀÌ´Ù. º¯È­¸¦ ÀÏÀ¸Å°´Â °ÍÀº ÇÒ ÀÏÀÌ ¸¹À¸¹Ç·Î ¾Æ¹«µµ ±ÍÂú¾ÆÁö°í ½Í¾î ÇÏÁö ¾Ê´Â´Ù. À§¿øȸÀÇ °áÁ¤Àº, À§¿øµé ´ëºÎºÐÀÌ ±×°ÍÀ» ÁÁ¾ÆÇÏÁö ¾Ê´õ¶óµµ, ±×´ë·Î Á¤Ã¼µÇ¾î ÀÖ´Â °æÇâÀÌ ÀÖ´Ù.

µÎ ¸íÀÇ À§¿øȸ¶óµµ Àç¼³°è ¹æ½Ä¿¡ ³¢¾îµé°Ô µÇ¾î ÀÖ´Ù. ÀÌ°ÍÀº ƯÈ÷ ¼­·Î ´Ù¸¥ µÎ Áý´ÜÀÇ »ç¶÷µéÀÌ ÀÛ¼ºÇÑ ¼ÒÇÁÆ®¿þ¾îµé »çÀÌÀÇ Á¢Á¡(interface)¿¡¼­ »ý±ä´Ù. ÀÌ Á¢Á¡À» º¯°æÇϱâ À§Çؼ­´Â ¾çÂÊ ¸ðµÎ ±×°ÍÀ» µ¿½Ã¿¡ º¯°æÇÏ´Â µ¥ µ¿ÀÇÇØ¾ß ÇÑ´Ù. ±×·¡¼­ ÀÌ Á¢Á¡µéÀº ÀüÇô º¯ÇÏÁö ¾Ê±â°¡ ½±´Ù. ¾î¶² ½Ã½ºÅÛ¿¡¼­µç À̰͵éÀÌ °¡Àå ƯÀÌÇÑ(ad hoc) ºÎºÐÀÌ µÇ±â ½¬¿ì¹Ç·Î ¹®Á¦°¡ µÇ´Â °ÍÀÌ´Ù.

¿©±â¼­ ÇÑ °¡Áö ÇØ°áÃ¥Àº, ½Ã½ºÅÛÀÇ Á¢Á¡µéÀ» ¼öÁ÷ÀÌ ¾Æ´Ï¶ó ¼öÆòÀ¸·Î ¼³°èÇؼ­, ¸ðµâµéÀÌ Ç×»ó Ãß»óÈ­ °èÃþ¿¡ ¼öÁ÷ÀûÀ¸·Î ½×ÀÌ°Ô ÇÏ´Â °ÍÀÌ´Ù. ±×·¯¸é ÀÌ Á¢Á¡Àº ±× Ãþµé Áß Çϳª¿¡ ¼ÓÇÏ°Ô µÉ °ÍÀÌ´Ù. µÎ °èÃþ Áß ³·Àº ÃþÀÌ »óÀ§ °èÃþÀ» ÀÛ¼ºÇÑ ¾ð¾î¶ó¼­ ±× ³·Àº °èÃþÀÌ Á¢Á¡À» °üÇÒÇϰųª, ¾Æ´Ï¸é °Å±â¿¡ Á¾¼ÓµÈ °ÍÀ̾ »óÀ§ °èÃþÀÌ Á¢Á¡À» µ¶Á¡ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

11. ¸®½ºÇÁ

ÀÌ ¸ðµç °ÍÀº »õ·Î¿î ¸®½ºÇÁ¿¡ Èñ¸ÁÀÌ ÀÖ´Ù´Â °ÍÀ» ¾Ï½ÃÇÑ´Ù. ÇØÄ¿µéÀÌ ¿øÇÏ´Â °ÍÀ» ÁÙ ¼ö ÀÖ´Â ¾î¶² ¾ð¾îµç Èñ¸ÁÀÌ ÀÖ´Ù. ¸®½ºÇÁµµ °Å±â¿¡ Æ÷ÇԵȴÙ. ÇØÄ¿µéÀÌ ¸®½ºÇÁÀÇ »ý¼ÒÇÔ ¶§¹®¿¡ Èï¹Ì¸¦ ÀÒ¾úÀ» °ÍÀ̶ó°í »ý°¢ÇÏ´Â °ÍÀº ½Ç¼öÀÏÁöµµ ¸ð¸¥´Ù. ÀÌ·± ¸¶À½ ÆíÇÑ Âø°¢ ¶§¹®¿¡ ¸®½ºÇÁ, ȤÀº ÃÖ¼ÒÇÑ Ä¿¸Õ ¸®½ºÇÁÀÇ ÁøÂ¥ ¹®Á¦¸¦ Á¦´ë·Î º¸Áö ¸øÇÑ °ÍÀÏÁö ¸ð¸¥´Ù. ±× ¹®Á¦´Â ¹Ù·Î ÇØÄ¿µéÀÌ ¿øÇÏ´Â °ÍÀ» Á¦´ë·Î ¸ø ÇÒ Á¤µµ·Î ÇüÆí¾ø´Ù´Â °ÍÀÌ´Ù. ÇØÄ¿ÀÇ ¾ð¾î´Â °­·ÂÇÑ ¶óÀ̺귯¸®¿Í ÇØÅ·ÇÒ ´ë»óÀÌ ÇÊ¿äÇÏ´Ù. Ä¿¸Õ ¸®½ºÇÁ´Â µÑ ´Ù ¾ø´Ù. ÇØÄ¿ÀÇ ¾ð¾î´Â °£°áÇÏ°í ÇØÅ· °¡´ÉÇØ¾ß ÇÑ´Ù. Ä¿¸Õ ¸®½ºÇÁ´Â ±×·¸Áö ¾Ê´Ù.

±×·¡µµ ´ÙÇàÀÎ °ÍÀº ¸®½ºÇÁ ÀÚü°¡ ¾Æ´Ï¶ó Ä¿¸Õ ¸®½ºÇÁ°¡ ÇüÆí¾ø´Ù´Â »ç½ÇÀÌ´Ù. ¿ì¸®°¡ ÁøÁ¤ÇÑ ÇØÄ¿ÀÇ ¾ð¾î°¡ µÉ »õ·Î¿î ¸®½ºÇÁ¸¦ °³¹ßÇÒ ¼ö ÀÖ´Ù¸é ÇØÄ¿µéÀº ±×°ÍÀ» »ç¿ëÇÒ °ÍÀ̶ó°í »ý°¢ÇÑ´Ù. ±×µéÀº ÀÏ Àß ÇÏ´Â ¾ð¾î¶ó¸é ¹«¾ùÀÌµç »ç¿ëÇÒ °ÍÀÌ´Ù. ¿À·ÎÁö ¿ì¸®°¡ ÇØ¾ß ÇÏ´Â ÀÏÀº ÀÌ »õ·Î¿î ¸®½ºÇÁ°¡ ¾î¶² Áß¿äÇÑ ÀÏÀ» ´Ù¸¥ ¾ð¾îµéº¸´Ù ´õ Àß Çϵµ·Ï ¸¸µé¾î¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù.

¿ª»ç¸¦ º¸¸é ¿ë±â¸¦ ¾ò°Ô µÈ´Ù. ½Ã°£ÀÌ È帣¸é¼­ ÀÕµû¸¥ »õ·Î¿î ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀÌ ¸®½ºÇÁÀÇ Æ¯Â¡À» Á¡Á¡ ´õ ¸¹ÀÌ Â÷¿ëÇÑ´Ù. »õ·Î ¸¸µç ¾ð¾î°¡ ¸®½ºÇÁ¶óµµ º£³¥ °ÍÀÌ ±×·¸°Ô ¸¹ÀÌ ³²¾Æ ÀÖÁö ¾Ê´Ù. ÃÖ±Ù¿¡ °« ž ¾ð¾îÀÎ ÆÄÀ̽ã(Python)Àº »çÀÌ Ç¥±â(infix) ¹®¹ýÀÌ ÀÖ°í ¸ÅÅ©·Î°¡ ¾ø´Â Èñ¼®µÈ(watered-down) ¸®½ºÇÁ¶ó°í ÇÒ ¼ö ÀÖ´Ù. »õ·Î¿î ¸®½ºÇÁ´Â ÀÌ·¯ÇÑ ¹ßÀü ¼Ó¿¡ ÀÚ¿¬½º·´°Ô ÇÑ °ÉÀ½ ³»µó°Ô µÉ °ÍÀÌ´Ù.

±× ¾ð¾î¸¦ ÆÄÀ̽ãÀÇ Çâ»ó ÆÇÀ¸·Î ºÎ¸£´Â °Íµµ ±¦ÂúÀº ¸¶ÄÉÆà Àü¼úÀÏ °Í °°±âµµ ÇÏ´Ù. ±×°ÍÀÌ ¸®½ºÇÁ¶ó°í ÇÏ´Â °Íº¸´Ù ´õ ¼¼·ÃµÈ °Íó·³ µé¸°´Ù. ¸¹Àº »ç¶÷µé¿¡°Ô ¸®½ºÇÁ´Â °ýÈ£°¡ ¸¹Àº ´À¸° ÀΰøÁö´É ¾ð¾îÀÏ »ÓÀÌ´Ù. ÇÁ¸®Ã÷ ÄïÁ¦(Fritz Kunze) ¿ªÀÚ ÁÖ: ¸®½ºÇÁ °³¹ß ȯ°æÀÎ ¾Ë·¹±×·Î CL(Allegro CL) µîÀ» °³¹ßÇÑ ÇÁ¶õÃ÷ ȸ»ç(Franz Inc.)ÀÇ ¼³¸³ÀÚÀÇ °ø½Ä Àü±â¿¡¼­´Â LÀÚ µé¾î°¡´Â ´Ü¾îÀÇ ¾ð±ÞÀ» Á¶½ÉÇؼ­ ÇÇÇϱ⵵ Çß´Ù. ÇÏÁö¸¸ ³» ÃßÃø¿¡´Â »õ·Î¿î ¸®½ºÇÁ¸¦ ¸®½ºÇÁ¶ó°í ºÎ¸£´Â °ÍÀ» °Ì³¾ °Í±îÁö´Â ¾øÀ» °Í °°´Ù. ¸®½ºÇÁ´Â ¿©ÀüÈ÷ °¡Àå ÃÖ°íÀÇ ÇØÄ¿µé(¿¹¸¦ µé¾î, 6.001À» ¾²¸é¼­ ±×°ÍÀ» ÀÌÇØÇÏ´Â »ç¶÷µé)¿¡°Ô¼­ ¾Ë°Ô ¸ð¸£°Ô ¸¹Àº Á¸ÁßÀ» ¹Þ°í ÀÖ´Ù. ±×µéÀÌ ¹Ù·Î Æ÷¼·ÇØ¾ß ÇÏ´Â »ç¿ëÀÚµéÀÌ´Ù.

"ÇØÄ¿°¡ µÇ´Â ¹æ¹ý(How to Become a Hacker)"À̶ó´Â ±Û¿¡¼­ ¿¡¸¯ ·¹À̸յå(Eric Raymond)´Â ¸®½ºÇÁ¸¦ ¶óƾ¾î³ª ±×¸®½º¾î °°Àº °Í, Áï ½ÇÁ¦·Î´Â »ç¿ëÇÏÁö ¾ÊÀ» °ÍÀÌ¶óµµ ÁöÀûÀÎ ÈÆ·ÃÀ» À§ÇØ ¹è¿ö¾ß ÇÏ´Â ¾ð¾î·Î ¹¦»çÇß´Ù.

¸®½ºÇÁ´Â ±×°ÍÀ» Å͵æÇßÀ» ¶§ ¾ò°Ô µÉ ½É¿ÀÇÑ ±ú´ÞÀ½ÀÇ ÈÆ·ÃÀ» À§ÇØ ¹è¿ï ¸¸ÇÑ °¡Ä¡°¡ ÀÖ´Ù. ¸®½ºÇÁ ÀÚü¸¦ ½ÇÁ¦·Î »ç¿ëÇÏÁö´Â ¾Ê´Â´Ù Çصµ ±× °æÇèÀº ¾ÕÀ¸·Î ³²Àº »ý¾Ö µ¿¾È ´õ ÁÁÀº ÇÁ·Î±×·¡¸Ó°¡ µÇ°Ô ÇØ ÁÙ °ÍÀÌ´Ù.


³»°¡ ¸®½ºÇÁ¸¦ ¸ô¶ú´Ù¸é ÀÌ°ÍÀ» ÀÐÀ¸¸é¼­ ¿©·¯ °¡Áö Áú¹®À» ÇÏ°í ½Í¾îÁ³À» °ÍÀÌ´Ù. ³ª¸¦ ´õ ÁÁÀº ÇÁ·Î±×·¡¸Ó·Î ¸¸µé¾î ÁÙ ¾ð¾î´Â, ±×°ÍÀÌ ÀÇ¹Ì ÀÖ´Â ¸»À̶ó¸é, ÇÁ·Î±×·¡¹ÖÀ» ÇÏ´Â µ¥¿¡µµ ´õ ÁÁÀº ¾ð¾î¶ó´Â ¶æÀÌ´Ù. ±×¸®°í ±×°ÍÀÌ »ç½Ç ¿¡¸¯ÀÌ ¸»ÇÏ·Á´ø ¼Ó¶æÀÌ´Ù.

±×·¯ÇÑ »ý°¢ÀÌ ÆÛÁö°í ÀÖ´Â ÇÑ, ÇØÄ¿µéÀº »õ·Î¿î ¸®½ºÇÁ°¡ ¸®½ºÇÁ¶ó°í ºÒ¸®´õ¶óµµ ÃæºÐÈ÷ Àß ¹Þ¾ÆµéÀÏ °ÍÀ̶ó°í »ý°¢ÇÑ´Ù. ÇÏÁö¸¸ ÀÌ ¸®½ºÇÁ´Â 1970³â´ëÀÇ °íÀüÀû ¸®½ºÇÁµéó·³ ÇØÄ¿ÀÇ ¾ð¾î°¡ µÇ¾î¾ß ÇÑ´Ù. °£°áÇÏ°í ´Ü¼øÇÏ°í ÇØÅ· °¡´ÉÇØ¾ß ÇÑ´Ù. ±×¸®°í ÇØÄ¿µéÀÌ ´çÀå ÇÏ°í ½Í¾î ÇÏ´Â °ÍÀ» Çϱâ À§ÇÑ °­·ÂÇÑ ¶óÀ̺귯¸®¸¦ °®Ãç¾ß ÇÑ´Ù.

¶óÀ̺귯¸®ÀÇ ¹®Á¦¿¡ ´ëÇؼ­´Â, ÆÞÀ̳ª ÆÄÀ̽ã°ú °°Àº ¾ð¾îµéÀ» ±× °íÀ¯ÀÇ ¿µ¿ª¿¡¼­ ¶Ù¾î³Ñ±â À§ÇÑ ¿©Áöµµ ÀÖ´Ù°í »ý°¢ÇÑ´Ù. ¾ÕÀ¸·Î ¸î ³â µ¿¾È ¸¹Àº »õ·Î¿î ÀÀ¿ëÇÁ·Î±×·¥µéÀÌ ¼­¹ö ±â¹Ý ÀÀ¿ëÇÁ·Î±×·¥À¸·Î ÀÛ¼ºµÉ ÇÊ¿ä°¡ ÀÖ´Ù. »õ·Î¿î ¸®½ºÇÁ°¡ ÆÞó·³ ÈǸ¢ÇÑ ¹®ÀÚ¿­ ¶óÀ̺귯¸®¸¦ °®ÃßÁö ¸»¶ó´Â ¹ýÀÌ ¾ø´Ù. ±×¸®°í ÀÌ »õ·Î¿î ¸®½ºÇÁ°¡ ¼­¹ö ±â¹Ý ÀÀ¿ëÇÁ·Î±×·¥À» À§ÇÑ °­·ÂÇÑ ¶óÀ̺귯¸®µµ °®Ãá´Ù¸é Å« Àα⸦ ¾òÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù. ½ÇÁ¦ ÇØÄ¿µéÀº ¸î °³ÀÇ ¶óÀ̺귯¸® È£Ãâ·Î½á ¾î·Á¿î ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ°Ô ÇØ ÁÖ´Â »õ·Î¿î µµ±¸ ¾Õ¿¡¼­ Äà´ë¸¦ ³ôÀÌÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. ±â¾ïÇ϶ó. ÇØÄ¿µéÀº °ÔÀ¸¸£´Ù.

ÇÙ½É ¾ð¾î ºÎºÐ¿¡¼­ ¼­¹ö ±â¹Ý ÀÀ¿ëÇÁ·Î±×·¥À» Áö¿øÇÑ´Ù¸é ´õ Å« ½Â¸®¸¦ ¾òÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¿¹¸¦ µé¾î, ´ÙÁß »ç¿ëÀÚ ÇÁ·Î±×·¥À» ¸í½ÃÀûÀ¸·Î Áö¿øÇϰųª, ÀÚ·áÇü Ç¥½Ä(type tag) ¼öÁØ¿¡¼­ µ¥ÀÌÅÍÀÇ ¼ÒÀ¯±ÇÀ» ±¸ºÐÇÏ´Â °ÍÀÌ´Ù.

¼­¹ö ±â¹Ý ÀÀ¿ëÇÁ·Î±×·¥µéÀº ÀÌ »õ·Î¿î ¸®½ºÇÁ°¡ ¹«¾ùÀ» ÇØÅ·ÇÏ´Â µ¥ ¾²ÀÏ °ÍÀÎÁö¿¡ ´ëÇÑ ÇØ´äµµ Á¦½ÃÇÑ´Ù. ¸®½ºÇÁ¸¦ À¯´Ð½ºÀÇ ½ºÅ©¸³Æ® ¾ð¾î·Î¼­ ´õ ÁÁ°Ô ¸¸µå´Â °Íµµ ³ª»ÚÁö ¾ÊÀ» °ÍÀÌ´Ù. (´õ ³ª»Ú°Ô ¸¸µå´Â °ÍÀÌ ¾î·Á¿ï °ÍÀÌ´Ù.) ÇÏÁö¸¸ ±âÁ¸ÀÇ ¾ð¾îµéÀ» ¶Ù¾î³Ñ±â°¡ ´õ ½¬¿î ¿µ¿ªÀÌ ÀÖ´Ù°í »ý°¢ÇÑ´Ù. TclÀÇ ¸ðÇüÀ» µû¶ó¼­ ¸®½ºÇÁ¸¦ ¼­¹ö ±â¹Ý ÀÀ¿ëÇÁ·Î±×·¥À» Áö¿øÇÏ´Â ¿Ïº®ÇÑ ½Ã½ºÅÛ°ú ÇÔ°Ô Á¦°øÇÏ´Â °Íµµ ÁÁÀ» °ÍÀ̶ó°í »ý°¢ÇÑ´Ù. ¸®½ºÇÁ´Â ¼­¹ö ±â¹Ý ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀûÇÕÇÏ°Ô Å¸°í³µ´Ù. »ç¿ëÀÚ È¯°æ(UI)ÀÌ ÀÏ·ÃÀÇ À¥ ÆäÀÌÁöµé»ÓÀÏ °æ¿ì, »çÀü ´ÝÈù ÇÔ¼ö(lexical closure) ¿ªÀÚ ÁÖ: ÇÔ¼ö°¡ (È£ÃâµÈ ¼ø°£ÀÌ ¾Æ´Ï¶ó) Á¤ÀÇµÈ ¼ø°£ÀÇ º¯¼ö¸¦ ±âÁØÀ¸·Î ½ÇÇàµÇ´Â ÇÔ¼ö¸¦ ÅëÇØ ¼­ºê·çƾÀÇ È¿°ú¸¦ ³¾ ¼ö ÀÖ´Ù. S½Ä(s-expression)Àº HTML¿¡ ¸ÚÁö°Ô ´ëÀÀµÇ°í, ¸ÅÅ©·Î´Â HTMLÀ» »ý¼ºÇϱ⿡ ÁÁ´Ù. ¼­¹ö ±â¹Ý ÀÀ¿ëÇÁ·Î±×·¥À» ÀÛ¼ºÇϱâ À§ÇØ ´õ ÁÁÀº µµ±¸°¡ ÇÊ¿äÇϸç, »õ·Î¿î ¸®½ºÇÁ°¡ ÀÖ¾î¾ß ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ÀÌ µÎ °¡Áö°¡ ÇÔ²² ÇÑ´Ù¸é ´õ¿í È¿°úÀûÀÏ °ÍÀÌ´Ù.

12. ²ÞÀÇ ¾ð¾î

¿ä¾àÇÏ´Â ¼ÀÄ¡°í ÇØÄ¿ÀÇ ²ÞÀÇ ¾ð¾î¸¦ ¹¦»çÇØ º¸µµ·Ï ÇÏÀÚ. ±× ²ÞÀÇ ¾ð¾î´Â ¾Æ¸§´ä°í ±ò²ûÇÏ°í °£°áÇÏ´Ù. ºü¸£°Ô ½ÃÀÛÇÏ´Â ´ëÈ­ÇüÀÇ(interactive) »óÀ§ °èÃþÀÌ ÀÖ´Ù. ¸Å¿ì ÀûÀº ÄÚµå·Îµµ ÈçÇÑ ¹®Á¦µéÀ» ÇØ°áÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé ¼ö ÀÖ´Ù. ¾î´À ÇÁ·Î±×·¥¿¡¼­µç ÇÁ·Î±×·¡¸Ó°¡ Á÷Á¢ ÀÛ¼ºÇÑ °ÅÀÇ ¸ðµç ÄÚµå´Â ±× ÀÀ¿ëÇÁ·Î±×·¥¿¡ ƯÀ¯ÇÑ ÄÚµåÀÌ´Ù. ³ª¸ÓÁö´Â ¸ðµÎ ¾Ë¾Æ¼­ ¸¸µé¾îÁø´Ù.

ÀÌ ¾ð¾îÀÇ ¹®¹ýÀº °£°áÇؼ­ ½Ç¼ö°¡ Àû´Ù. ºÒÇÊ¿äÇÑ ¹®ÀÚ¸¦ ŸÀÚÇϰųª, ½¬ÇÁÆ® Å°¸¦ ¸¹ÀÌ »ç¿ëÇÒ ÇÊ¿äµµ ¾ø´Ù.

Ãß»óÈ­(abstraction)¸¦ Àû±Ø È°¿ëÇÏ¿© ÇÁ·Î±×·¥ÀÇ Ã³À½ ÆÇÀ» ¸Å¿ì ½Å¼ÓÇÏ°Ô ¸¸µé ¼ö ÀÖ´Ù. ±× ÈÄ¿¡, ÃÖÀûÈ­¸¦ ¿øÇÒ ¶§¿¡´Â, ¾îµð¿¡ ÁÖÀǸ¦ ÁýÁßÇØ¾ß ÇÒÁö ¾Ë·ÁÁÖ´Â Á¤¸» ÁÁÀº ¼º´É ºÐ¼® µµ±¸(profiler)°¡ ÀÖ´Ù. ÇÊ¿äÇÏ´Ù¸é ÀζóÀÎ ¹ÙÀÌÆ® Äڵ嵵 ÀÛ¼ºÇÏ¿©, ³»ºÎ ¹Ýº¹¹®À» ¾îÁö·¯¿ï Á¤µµ·Î ºü¸£°Ô ¸¸µé ¼ö ÀÖ´Ù.

¹è¿ï ¼ö ÀÖ´Â ¸¹Àº ÁÁÀº ¿¹Á¦µéÀÌ ÀÖÀ¸¸ç, ÀÌ ¾ð¾î´Â ¾ÆÁÖ Á÷°üÀûÀ̾ 2, 3ºÐ ¸¸¿¡ ¿¹Á¦µéÀ» ÅëÇØ »ç¿ë¹ýÀ» ¹è¿ï ¼ö ÀÖ´Ù. ¸Å´º¾óÀ» ¿­½ÉÈ÷ µé¿©´Ù º¼ ÇÊ¿ä°¡ ¾ø´Ù. ¸Å´º¾óÀº ¾ã°í, ÁÖÀÇ »çÇ×À̳ª ÀÚ°Ý Á¶°Çµµ °ÅÀÇ ¾ø´Ù.

ÀÌ ¾ð¾î´Â ÀÛÀº ÇÙ½É ºÎºÐ°ú °­·ÂÇÏ°í ¸Å¿ì »óÈ£ µ¶¸³ÀûÀÎ(orthogonal) ¶óÀ̺귯¸®µéÀÌ ÀÖ´Ù. ±× ¶óÀ̺귯¸®´Â ÇÙ½É ¾ð¾î ºÎºÐó·³ ÁÖÀÇ ±í°Ô ¼³°èµÇ¾ú´Ù. ÀÌ ¶óÀ̺귯¸®µéÀº ÇÔ²² Àß ÀÛµ¿ÇÑ´Ù. ÀÌ ¾ð¾îÀÇ ¸ðµç °ÍµéÀº ÁÁÀº Ä«¸Þ¶óÀÇ ºÎÇ°ÀÌ ±×·¸µíÀÌ ¼­·Î Àß ¾î¿ï¸°´Ù. ¾Æ¹«°Íµµ ºñÃßõ(deprecated)µÇ°Å³ª ȣȯ¼º ¶§¹®¿¡ ³²°ÜµÐ °ÍÀÌ ¾ø´Ù. ¸ðµç ¶óÀ̺귯¸®ÀÇ ¼Ò½º ÄÚµå´Â ¾ðÁ¦µç ¼Õ¿¡ ³ÖÀ» ¼ö ÀÖ´Ù. ¿î¿µÃ¼Á¦³ª ´Ù¸¥ ¾ð¾î·Î ¸¸µç ÀÀ¿ëÇÁ·Î±×·¥¿¡ Á¢±ÙÇÏ´Â °Íµµ ½±´Ù.

ÀÌ ¾ð¾î´Â °èÃþÀûÀ¸·Î ¸¸µé¾îÁø´Ù. »óÀ§ÀÇ Ãß»óÈ­µÈ °èÃþÀº ÇÏÀ§ÀÇ Ãß»óÈ­µÈ °èÃþÀ» ±â¹ÝÀ¸·Î ¸Å¿ì ¸í·áÇÑ ¹æ½ÄÀ¸·Î ¸¸µé¾îÁö¸ç, ¿øÇÏ¸é ¾ó¸¶µçÁö ±×°ÍÀ» ÆľÇÇÒ ¼ö ÀÖ´Ù.

Àý´ëÀûÀ¸·Î ¼û°Ü¾ß ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó¸é ¾Æ¹«°Íµµ ¼û±âÁö ¾Ê´Â´Ù. ÀÌ ¾ð¾î´Â Ãß»óÈ­µÇ¾î Àִµ¥, ±×°ÍÀº ¹«¾ùÀ» Áö½ÃÇϱâ À§Çؼ­°¡ ¾Æ´Ï¶ó ÀÏÀ» ´ú¾î ÁÖ±â À§Çؼ­ÀÌ´Ù. ½ÇÁ¦·Î ÀÌ ¾ð¾î´Â ±× ¼³°è¿¡ ´©±¸µç µ¿µîÇÑ ÀÚ°ÝÀ¸·Î Âü¿©Çϵµ·Ï °Ý·ÁÇÑ´Ù. ±×°ÍÀÇ ¸ðµç °Í, ½ÉÁö¾î´Â ¹®¹ý±îÁöµµ ¹Ù²Ü ¼ö ÀÖÀ¸¸ç, ÀڱⰡ ÀÛ¼ºÇÑ ¸ðµç °ÍÀº ÀÌ¹Ì Á¤ÀǵǾî ÀÖ´Â °Í°ú ÃÖ´ëÇÑ °°Àº ÁöÀ§¸¦ °®´Â´Ù.



ID
Password
Join
Even a hawk is an eagle among crows.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2005-04-06 17:44:56
Processing time 0.0102 sec