· 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
If you always postpone pleasure you will never have it. Quit work and play for once!


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.0105 sec