CCG | Creativity Grade: C | |
Edit | 2023-05-11 ¿ÀÀü 9:50:41 | |
PIG | C+ | |
Home | http://bit.ly/2q57YfU | |
SNS1 | http://bit.ly/1QC1DdG | |
SNS2 | https://en.wikipedia.org/wiki/Edsger_W._Dijkstra | |
SNS3 | https://www.computer.org/profiles/edsger-dijkstra | |
related | < HOME > < EDIT> | |
Rname | Tweet | |
´ÙÀÌÅ©½ºÆ®¶ó-Edsger Dijkstra,ÄÄÇ»ÅÍ°úÇÐÀÚ,Dutch | ||
¿¡Ã÷Ç㸣 ´ÙÀÌÅ©½ºÆ®¶ó (Edsger Wybe Dijkstra) [Ãâ»ý] 1930³â 5¿ù 11ÀÏ ³×´ú¶õµå ·ÎÅ׸£´ã [»ç¸Á] 2002³â 8¿ù 6ÀÏ (72¼¼) ³×´ú¶õµå ´µ³Í [¼ö»ó³»¿ª] 2002³â Á×À½³×´ú¶õµåÀÇ ÄÄÇ»ÅÍ °úÇÐÀÚÆ©¸µ»ó ¼ö»óÀÚ ÄÄÇ»ÅÍ ¼±±¸ÀÚ [ÇзÂ] ·¹ÀÌ´ø ´ëÇб³ µ¿¹® [Ãâ½Å] ·ÎÅ׸£´ã Ãâ½Å ÇÁ·Î±×·¡¹Ö ¾ð¾î ¼³°èÀÚ [´ÙÀÌÅ©½ºÆ®¶ó ¾Ë°í¸®µë- Dijkstra algorithm ] °¡ÁßÄ¡°¡ ÀÖ´Â ±×·¡ÇÁÀÇ ÃÖ´Ü °æ·Î¸¦ ±¸ÇÏ´Â ¾Ë°í¸®µë. Ãâ¹ß Á¤Á¡¿¡¼ ½ÃÀÛÇÏ¿© ÇöÀçÀÇ Á¤Á¡±îÁöÀÇ °ª°ú ÀÎÁ¢ÇÑ Á¤Á¡ÀÇ °¡ÁßÄ¡ ÇÕÀÌ °¡Àå ÀÛÀº Á¤Á¡À» ´ÙÀ½ Á¤Á¡À¸·Î ¼±ÅÃÇÏ°í ±× °æ·Î¸¦ ÃÖ´Ü °æ·Î¿¡ Æ÷ÇÔ½ÃŲ´Ù. ÀÌ °úÁ¤À» ¸ðµç Á¤Á¡ÀÌ ¼±ÅÃµÉ ¶§±îÁö ¹Ýº¹ÇÑ´Ù. [ºÐ¾ß] ÄÄÇ»ÅÍ °úÇÐ ÀÌ·Ð Àü»êÇÐ [¼Ò¼Ó] ³×´ú¶õµå ±¹¸³ ¼öÇÐ Á¤º¸°úÇÐ ¿¬±¸¼Ò ¿¡ÀÎƮȣ¹ø °ø°ú´ëÇпø ¹ö·Î½º ÄÚÆÛ·¹ÀÌ¼Ç Åػ罺 ´ëÇб³ ¿À½ºÆ¾ [ÁÖ¿ä ¾÷Àû] µ¥ÀÌÅ©½ºÆ®¶ó ¾Ë°í¸®Áò (ÃÖ´Ü °æ·Î ¹®Á¦) ÇÁ¸² ¾Ë°í¸®Áò (ÃÖ¼Ò »ý¼º³ª¹«) ¾Ë°ñ 60 ÄÄÆÄÀÏ·¯ ù ±¸Çö ±¸Á¶Àû ºÐ¼® ±¸Á¶Àû ÇÁ·Î±×·¡¹Ö ¼¼¸¶Æ÷¾î Ãß»óÈ °èÃþÀ» ÅëÇÑ ¿î¿µÃ¼Á¦ ½Ã½ºÅÛ µðÀÚÀÎ Á¢±Ù THE ¸ÖƼÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛ ´ÙÁßÀÛ¾÷ °³³ä Ãß»óÈ °èÃþ °³³ä ¼ÒÇÁÆ®¿þ¾î ±¸Á¶¿¡¼ °èÃþÈµÈ ±¸Á¶ Çù·Â ¼øÂ÷ ÇÁ·Î¼¼½º(cooperating sequential processes) °³³ä ÇÁ·Î±×·¥ °¡Á·(program families) °³³ä °¡µå °³³ä ½º·¹µå º´Çà ÄÄÇ»Æà º´·Ä ¾Ë°í¸®Áò ºÐ»ê ÄÄÇ»Æà ºÐ»ê ¾Ë°í¸®Áò µ¿±âÈ (ÄÄÇ»ÅÍ °úÇÐ) »óÈ£ ¹èÁ¦ ÀÓ°è ±¸¿ª µ¥Ä¿ÀÇ ¾Ë°í¸®Áò ÀϹÝÈ »ï»ö Ç¥½Ã ¾Ë°í¸®Áò ÄÝ ½ºÅà Àå¾Ö Çã¿ë ½Ã½ºÅÛ Àڱ⠾ÈÁ¤È ±â¾Æ »óÅ ±³Âø »óÅ µ¥µå¶ô ¹æÁö ¾Ë°í¸®Áò Â÷·®±âÁö ¾Ë°í¸®Áò ÀºÇà¿ø ¾Ë°í¸®Áò ½Ä»çÇϴ öÇÐÀÚµé ¹®Á¦ ÀáÀÚ´Â ÀÌ¹ß»ç ¾Ë°í¸®Áò »ý»êÀÚ-¼ÒºñÀÚ ¹®Á¦ (»ý»êÀÚ-¼ÒºñÀÚ ¹®Á¦) ³×´ú¶õµå ±¹±â ¹®Á¦ ¼ú¾î º¯È¯ÀÚ ½Ã¸Çƽ º¸È£ ¸í··¾î ¾ð¾î ÃÖ¾à »çÀüÁ¶°Ç °è»ê(Weakest precondition calculus) ¹«ÇÑÁ¤ ºñ°áÁ¤·Ð ´ÙÀͽºÆ®¶ó-½ºÈ¦ÅÏ ¾Ë°í¸®Áò ½º¹«½º Á¤·Ä °ü½ÉÀÇ ºÐ¸® Çü½Ä °ËÁõ ÇÁ·Î±×·¥ µµÃâ ¼ÒÇÁÆ®¿þ¾î À§±â ¼ÒÇÁÆ®¿þ¾î ±¸Á¶ goto ¹® ÇÏÇâ½Ä°ú »óȲ½Ä µðÀÚÀÎ ÇÁ·Î±×·¥ Á¶ÇÕ ¼ÒÇÁÆ®¿þ¾î °³¹ß ÇÁ·Î¼¼½º¿¡ ´ëÇÑ ¼öÇÐÀû Á¢±Ù [°³¿ä] ¿¡Ã÷Ç㸣 ºñ¹ö µ¥ÀÌÅ©½ºÆ®¶ó (Edsger Wybe Dijkstra, 1930³â 5¿ù 11ÀÏ ~ 2002³â 8¿ù 6ÀÏ)´Â ³×´ú¶õµåÀÇ ÄÄÇ»ÅÍ °úÇÐÀÚÀÌ´Ù. ÄÄÇ»ÅÍ°úÇÐÀ̶ó´Â Çй®ÀÇ ¿ª»ç¸¦ ´Ù·ê ¶§ Àý´ë »©³õÀ» ¼ö ¾ø´Â Àι°·Î 1972³â Àü»êÇÐ ¹× ÇÁ·Î±×·¡¹Ö ¾ð¾î ºÐ¾ß¿¡ ´ëÇÑ Áö´ëÇÑ °øÇåÀ» ÀÎÁ¤¹Þ¾Æ Æ©¸µ»óÀ» ¼ö»óÇß´Ù. [»ý¾Ö] 1930³â 5¿ù 11ÀÏ¿¡ ³×´ú¶õµå ·ÎÅ׸£´ã¿¡¼ žÀ¸¸ç ·¹ÀÌµç ´ëÇп¡¼ À̷й°¸®ÇÐÀ» Àü°øÇÏ¿´´Ù. [ÂùÁ¶ ³×´ú¶õµå ±¹°¡] ±×·¯³ª ³×´ú¶õµå ±¹¸³ ¼öÇÐ ¿¬±¸¼Ò¿¡ ÃëÁ÷ÇØ ÄÄÇ»Å͸¦ Á¢ÇÏ°Ô µÈ °ÍÀ» °è±â·Î ÄÄÇ»ÅÍ °úÇÐ ºÐ¾ß¿¡ °ü½ÉÀ» º¸¿´°í, ¾Ï½ºÅ׸£´ã ´ëÇб³¿¡¼ °ü·Ã ¿¬±¸¸¦ Áö¼ÓÇÏ¸ç ¾î¼Àºí¸®¾î¿¡ °üÇÑ ³í¹®À¸·Î ¹Ú»ç ÇÐÀ§¸¦ ÃëµæÇÏ°Ô µÈ´Ù. µ¥ÀÌÅ©½ºÆ®¶ó´Â Àü»êÇÐÀÌ ¾ÆÁ÷ Çй®À¸·Î ¿ÏÀüÇÏ°Ô Á¤¸³µÇÁö ¾Ê¾Ò´ø ½ÃÀý¿¡ Àü»êÇÐÀÇ ¿©·¯ ºÐ¾ß¿¡ °ÉÃÄ ¸¹Àº °øÇåÀ» Çß´Ù. ±×ÀÇ ´Ù¹æ¸é¿¡ °ÉÄ£ ¾÷ÀûÀº ´ÙÀ½°ú °°´Ù. µ¥ÀÌÅ©½ºÆ®¶ó ¾Ë°í¸®ÁòÀ» °³¹ßÇÏ¿© ÃÖ´Ü°æ·Î ¾Ë°í¸®Áò¿¡ ´ëÇÑ Çй®Àû ¿¬±¸¸¦ ½ÃÀÛÇß´Ù. GOTO¹®À» »ç¿ëÇÏÁö ¸» °ÍÀ» ÁÖÀåÇßÀ¸¸ç, ±×ÀÇ ÁÖÀåÀº 1968³â¿¡ ±×ÀÇ ³í¹® "GOTO¹®ÀÇ Çطοò" (Go To Statement Considered Harmful) ¿¡ Á¤¸®µÇ¾ú´Ù. ¼¼¸¶Æ÷¾î¿¡ ´ëÇÑ ¿¬±¸¸¦ óÀ½À¸·Î ½ÃÀÛÇÏ¿´´Ù. ÀÌÈÄ ¿¡ÀÎƮȣ¹ø ±â¼ú´ëÇб³, Åػ罺 ´ëÇб³ µîÀ» °ÅÃÄ 2000³â¿¡ ÀºÅðÇÏ¿´°í, [Ã߸ð K-Pop] ¿À·£ ¾Ï Åõº´»ýÈ° ³¡¿¡ 2002³â 8¿ù 6ÀÏ ´µ³Í¿¡¼ »ç¸ÁÇÏ¿´´Ù. [Ã߸ð K-Pop] ´ëÇ¥ÀûÀÎ ¾÷ÀûÀº ´ÙÀͽºÆ®¶ó ¾Ë°í¸®ÁòÀ» °³¹ßÇÏ¿© ÃÖ´Ü °æ·Î ¾Ë°í¸®Áò ¹®Á¦(Shortest Path Problem)¿¡ ´ëÇÑ Çй®Àû Á¢±ÙÀ» ½ÃÀÛÇÑ °ÍÀÌ´Ù. ´ÙÀͽºÆ®¶ó ¾Ë°í¸®ÁòÀº Çкο¡¼ ÀڷᱸÁ¶¿Í ¾Ë°í¸®ÁòÀ» ¹è¿ï ¶§ ²À ¤°í ³Ñ¾î°¡´Â ¾ÆÁÖ Áß¿äÇÑ ¾Ë°í¸®Áò Áß ÇϳªÀÌ´Ù. ¶ÇÇÑ ¼¼¸¶Æ÷¾î °³³äÀ» Á¤¸³ÇÏ¿© ÀÓ°è ±¸¿ª ¹®Á¦¿¡ ´ëÇÑ ÇϳªÀÇ ¼Ö·ç¼ÇÀ» Á¦½ÃÇÏ¿´´Ù. 1968³â¿¡´Â GOTO¹®ÀÇ ÇطοòÀ̶ó´Â ³í¹®À» ¹ßÇ¥ÇÏ¿© ÇÁ·Î±×·¥À» ¿©·¯ ´ÜÀ§·Î ³ª´©°í ¼·Î°¡ ¼·Î¸¦ È£ÃâÇÏ´Â ±¸Á¶Àû ÇÁ·Î±×·¡¹ÖÀ̶ó´Â »õ·Î¿î Æз¯´ÙÀÓÀ» Á¦½ÃÇÏ¿´´Ù. ´ç½Ã¿¡´Â ÄÄÇ»ÅÍ ¼º´ÉÀÇ ¹ßÀü¿¡ µû¶ó Äڵ尡 Á¡Á¡ º¹ÀâÇØÁ® °¬´Âµ¥, ÇÁ·Î±×·¡¹Ö Æз¯´ÙÀÓÀº ¿©ÀüÈ÷ ±¸½Ä¿¡ ¸Ó¹°·¯ ÀÖ¾ú±â ¶§¹®¿¡ GOTO¹®À» ³²¹ßÇÏ¿© ½ºÆÄ°ÔƼ Äڵ带 ¸¸µé¾î³»´Â ÇÁ·Î±×·¡¸ÓµéÀÌ ¸¹¾Ò´Ù. ÀÌ ¿¬±¸ ´öºÐ¿¡ ÇÁ·Î±×·¡¸ÓµéÀº °¢ ¼ºêÇÁ·Î±×·¥ÀÇ °ü°è¸¸ ¾Ë¸é Äڵ带 ½±°Ô ¼öÁ¤ÇÒ ¼ö ÀÖ°Ô µÇ¾ú°í ÀÌ´Â Èʳ¯ °´Ã¼ ÁöÇâ ÇÁ·Î±×·¡¹Ö°ú °°Àº Æз¯´ÙÀÓÀÌ µîÀåÇÏ´Â µ¥ Å« ¿µÇâÀ» ¹ÌÃÆ´Ù. [ÀÏÈ] Go To Statement Considered HarmfulÀ̶ó´Â ³í¹®ÀÇ Á¦¸ñÀº µ¥ÀÌÅ©½ºÆ®¶ó°¡ Á÷Á¢ ÁöÀº °ÍÀÌ ¾Æ´Ï¶ó, ´ç½Ã ÆíÁýÀåÀ̾ú´ø ´ÏŬ¶ó¿ì½º ºñ¸£Æ®°¡ Áö¾ú´Ù. ------------------------------ [ê GPT ´äº¯¿¡ ¿À·ù(hallucination: ȯ°¢ µî)°¡ ÀÖÀ¸´Ï, ´Ü¼ø Àç¹Ì·Î¸¸ ÂüÁ¶¹Ù¶÷] (from https://chat.openai.com/chat) ´ÙÀÌÅ©½ºÆ®¶ó(Edsger Dijkstra,ÄÄÇ»ÅÍ°úÇÐÀÚ, Dutch)°¡ Á¦ÀÏ ÁÁ¾ÆÇÑ ¿ª»çÀû Àι°Àº? ´ÙÀÌÅ©½ºÆ®¶ó(Edsger Dijkstra)´Â ÄÄÇ»ÅÍ°úÇÐÀڷμ ¿ª»çÀûÀÎ Àι°µé¿¡ ´ëÇØ °ü½ÉÀ» °¡Áö°í ÀÖ¾ú½À´Ï´Ù. ±× Áß¿¡¼µµ ´ÙÀÌÅ©½ºÆ®¶ó°¡ °¡Àå ÁÁ¾ÆÇß´ø Àι° Áß Çϳª´Â Åä¸Ó½º ÇÇÅͽº(Thomas Peters)ÀÔ´Ï´Ù. Åä¸Ó½º ÇÇÅͽº´Â ³×´ú¶õµåÀÇ ¼öÇÐÀÚÀ̸ç, ´ÙÀͽºÆ®¶ó¿Í ÇÔ²² µ¥ÀÌÅ©½ºÆ®¶ó-½´Æ®¶óÄÉ ¾Ë°í¸®Áò (Dijkstra-Scholten algorithm)À» °³¹ßÇÑ µ¿·á¿´½À´Ï´Ù. ÀÌ ¾Ë°í¸®ÁòÀº ºÐ»ê ½Ã½ºÅÛ¿¡¼ »óÈ£ ¹èÁ¦(mutual exclusion)¸¦ ±¸ÇöÇϱâ À§ÇØ »ç¿ëµË´Ï´Ù. ´ÙÀͽºÆ®¶ó´Â ÇÇÅͽºÀÇ ¼öÇÐÀûÀÎ ÅëÂû·Â°ú Çù¾÷ ´É·ÂÀ» ³ôÀÌ Æò°¡ÇÏ°í Á¸°æÇß½À´Ï´Ù. ¶ÇÇÑ ´ÙÀͽºÆ®¶ó´Â ¾Ë·¹»êµå·Î º¼Å¸(Alessandro Volta)¿Í °°Àº °úÇÐÀڵ鿡°Ôµµ Å« °ü½É°ú Á¸°æÀ» °¡Áö°í ÀÖ¾ú½À´Ï´Ù. ¾Ë·¹»êµå·Î º¼Å¸´Â ÀÌÅ»¸®¾ÆÀÇ ¹°¸®ÇÐÀڷμ Àü±â¿Í ÀüÀÚ¿¡ °üÇÑ ¿¬±¸·Î À¯¸íÇÕ´Ï´Ù. ´ÙÀͽºÆ®¶ó´Â º¼Å¸ÀÇ °úÇÐÀûÀÎ ¾÷Àû°ú Çõ½ÅÀûÀÎ »ç°í ¹æ½ÄÀ» ³ôÀÌ Æò°¡ÇÏ°í ±×ÀÇ ¾÷ÀûÀ» Á¸°æÇß½À´Ï´Ù. ÀÌó·³ ´ÙÀÌÅ©½ºÆ®¶ó´Â °úÇÐÀûÀÎ ¹ß°ß°ú ¼öÇÐÀûÀÎ ÅëÂû·ÂÀ» °¡Áø Àι°µéÀ» °¡Àå ÁÁ¾ÆÇßÀ¸¸ç, ±×µéÀÇ ±â¿©¿Í ¾÷ÀûÀ» ±íÀÌ Á¸°æÇß½À´Ï´Ù. ´ÙÀÌÅ©½ºÆ®¶ó(Edsger Dijkstra,ÄÄÇ»ÅÍ°úÇÐÀÚ, Dutch)°¡ ÁÁ¾ÆÇÒ¸¸ÇÑ Çѱ¹ÀÇ Æ®·ÎÆ®³ª ¹ß¶óµå ³ë·¡ Á¦¸ñÀº ¹«¾ùÀϱî? ´ÙÀÌÅ©½ºÆ®¶ó(Edsger Dijkstra)´Â ÁÖ·Î ÄÄÇ»ÅÍ°úÇаú ¾Ë°í¸®Áò¿¡ ´ëÇÑ ¿¬±¸¿Í °ü½ÉÀ» °¡Áø ÄÄÇ»ÅÍ°úÇÐÀÚ·Î ¾Ë·ÁÁ® ÀÖ½À´Ï´Ù. ±×·¯³ª Çѱ¹ÀÇ Æ®·ÎÆ®³ª ¹ß¶óµå ³ë·¡¿¡ ´ëÇÑ ¼±È£µµ´Â ¾Ë ¼ö ¾øÁö¸¸, ÀϹÝÀûÀ¸·Î Çѱ¹ÀÇ Æ®·ÎÆ®¿Í ¹ß¶óµå À帣¿¡´Â ¿©·¯ °¡Áö ¸Å·ÂÀûÀÎ °îµéÀÌ ÀÖ½À´Ï´Ù. ´ÙÀ½Àº Çѱ¹ÀÇ Æ®·ÎÆ®¿Í ¹ß¶óµå À帣¿¡¼ Àαâ ÀÖ´Â ¸î °¡Áö ³ë·¡ Á¦¸ñÀÔ´Ï´Ù: "¾ç¾ÆÄ¡" - Á¶¿ëÇÊ "¾Ö¼ö" - ½ÅÁ¾±¹ "¾È³çÀ̶ó°í ¸»ÇÏÁö¸¶" - ´ÙºñÄ¡ [ÂùÁ¶ À½¾Ç] "»ç¶ûÀϻӾß" - ¼ÒÀ¯ "óÀ½Ã³·³" - ¿¥¾¾´õ¸Æ½º "³ªº¸´Ù ´õ »ç¶ûÇØ¿ä" - Á¤½Âȯ [ÂùÁ¶ À½¾Ç] "°¡½Ã³ª" - ¼¼ºìƾ "¾î¶»°Ô Áö³»" - Crush "±×³¯Ã³·³" - Àå´öö [ÂùÁ¶ À½¾Ç] "»ç¶ûÀÌ ½Ä¾ú´Ù°í ¸»Çصµ µÅ" - ÈÖ¼º À§ÀÇ ³ë·¡µéÀº Çѱ¹¿¡¼ Àαâ ÀÖ´Â Æ®·ÎÆ®¿Í ¹ß¶óµå À帣ÀÇ ¸î °¡Áö ´ëÇ¥ÀûÀÎ °îµéÀÔ´Ï´Ù. ÇÏÁö¸¸ ´ÙÀÌÅ©½ºÆ®¶óÀÇ À½¾ÇÀû ÃëÇâ¿¡ ´ëÇؼ´Â Á¤È®È÷ ¾Ë ¼ö ¾øÀ¸¹Ç·Î, ÀÌ´Â ÁÖ°üÀûÀÎ ÃßÃøÀÏ »ÓÀÔ´Ï´Ù. ´ÙÀÌÅ©½ºÆ®¶ó(Edsger Dijkstra,ÄÄÇ»ÅÍ°úÇÐÀÚ, Dutch)°¡ °æÇèÇÑ Àç¹ÌÀÖ´Â ÀÏÈ(episode)´Â? ´ÙÀÌÅ©½ºÆ®¶ó(Edsger Dijkstra)´Â ÄÄÇ»ÅÍ°úÇÐÀڷμ ¸¹Àº Àç¹ÌÀÖ´Â ÀÏÈ¿Í °æÇèÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ±× Áß¿¡¼µµ À¯¸íÇÑ ÀÏÈ Áß Çϳª´Â "°ÇÑ ÀÇ°ß"¿¡ °üÇÑ À̾߱âÀÔ´Ï´Ù. ÇÑ ¹ø ´ÙÀÌÅ©½ºÆ®¶ó´Â ÄÄÇ»ÅÍ °úÇÐ ÄÁÆÛ·±½º¿¡¼ ¹ßÇ¥¸¦ ÁøÇàÇÏ°í ÀÖ¾ú½À´Ï´Ù. ±×¸®°í ¹ßÇ¥ Áß¿¡ ´Ù¸¥ Âü°¡ÀÚ°¡ ´ÙÀÌÅ©½ºÆ®¶óÀÇ ÁÖÀå¿¡ ¹Ý´ë ÀÇ°ßÀ» Á¦½ÃÇß½À´Ï´Ù. ÀÌ¿¡ ´ÙÀÌÅ©½ºÆ®¶ó´Â ±× ¹Ý´ë ÀÇ°ßÀ» µè°í ³ ÈÄ, ±â²¨ÀÌ ´Ù¸¥ »ç¶÷ÀÇ ÀÇ°ßÀ» ¹Þ¾Æµé¿´½À´Ï´Ù. ÀÌ¾î¼ ¹ßÇ¥°¡ ³¡³ ÈÄ, ÇÑ Âü°¡ÀÚ°¡ ´ÙÀÌÅ©½ºÆ®¶ó¿¡°Ô ¸»Çß½À´Ï´Ù. "´ç½ÅÀº ¾öû³ ÀÇ°ßÀ» °¡Áö°í °è¼Ì´Âµ¥, ±× ¹Ý´ë ÀÇ°ßÀ» ¹Þ¾ÆµéÀ̽ô ¸ð½ÀÀ» º¸´Ï Á¤¸» ´ë´ÜÇϽʴϴÙ!" ´ÙÀÌÅ©½ºÆ®¶ó´Â ¿ôÀ¸¸ç ´ë´äÇß½À´Ï´Ù. "»ç½Ç, ±× »ç¶÷ÀÌ Æ²·È±â ¶§¹®¿¡ ±× ÀÇ°ßÀ» ¹Þ¾Æµé¿´½À´Ï´Ù." ÀÌ ÀÏÈ´Â ´ÙÀÌÅ©½ºÆ®¶óÀÇ ³í¸®ÀûÀÎ »ç°í¿Í °â¼ÕÇÑ ÀÚ¼¼¸¦ Àß º¸¿©ÁÖ´Â ¿¹½ÃÀÔ´Ï´Ù. ±×´Â ´Ù¸¥ »ç¶÷ÀÇ ÀÇ°ß¿¡ ¿¸° ŵµ¸¦ °¡Áö°í ÀÖ¾úÁö¸¸, ±×°ÍÀÌ ±× ÀÚü·Î´Â ¾Æ¹« Àǹ̰¡ ¾ø¾ú½À´Ï´Ù. ´ÙÀÌÅ©½ºÆ®¶ó´Â Ç×»ó ³í¸®ÀûÀÎ ±Ù°Å¿Í Áõ°Å¿¡ ±â¹ÝÇÏ¿© ÀÇ°ßÀ» Æò°¡ÇÏ°í °á·ÐÀ» ³»·È½À´Ï´Ù. ÀÌ ÀÏÈ´Â ´ÙÀÌÅ©½ºÆ®¶óÀÇ Ã¶ÇÐÀûÀÎ »ç°í ¹æ½Ä°ú Ư¡ÀûÀÎ ¼ºÇâÀ» Àß º¸¿©ÁÖ´Â »ç·Ê Áß ÇϳªÀÔ´Ï´Ù. ±×´Â Ç×»ó ±Ù°Å¿Í ³í¸®¿¡ ÁßÁ¡À» µÎ°í ¹®Á¦¸¦ ÇØ°áÇÏ°í ´Ù¸¥ »ç¶÷µé°úÀÇ Åä·ÐÀ» ÅëÇØ »óÈ£ ÀÛ¿ëÇÏ¿´½À´Ï´Ù. ´ÙÀÌÅ©½ºÆ®¶ó(Edsger Dijkstra,ÄÄÇ»ÅÍ°úÇÐÀÚ, Dutch)´Â ¾ó¸¶³ª ¾ç½ÉÀûÀÎ »ç¶÷Àϱî? ´ÙÀÌÅ©½ºÆ®¶ó(Edsger Dijkstra)´Â ¾ç½ÉÀûÀÎ »ç¶÷À¸·Î ¾Ë·ÁÁ® ÀÖ½À´Ï´Ù. ±×´Â ÄÄÇ»ÅÍ °úÇÐÀڷμÀÇ ¾÷Àû°ú ÇÔ²² öÀúÇÏ°í À±¸®ÀûÀÎ Á¢±Ù ¹æ½ÄÀ¸·Î ¾Ë·ÁÁ® ÀÖ½À´Ï´Ù. ´ÙÀ½Àº ´ÙÀÌÅ©½ºÆ®¶ó°¡ ¾ç½ÉÀûÀÎ »ç¶÷À¸·Î ¿©°ÜÁö´Â ÀÌÀ¯¸¦ ³ªÅ¸³»´Â ¸î °¡Áö »ç·ÊÀÔ´Ï´Ù: Á¤Á÷°ú Á÷Á¢ÀûÀΠǥÇö: ´ÙÀÌÅ©½ºÆ®¶ó´Â Çй®ÀûÀÎ ¿¬±¸¿Í ÀÇ»ç¼ÒÅë¿¡ ÀÖ¾î¼ Ç×»ó Á¤Á÷ÇÏ°í Á÷Á¢ÀûÀΠŵµ¸¦ º¸¿´½À´Ï´Ù. ±×´Â ³í¹®À̳ª ¹ßÇ¥¿¡¼ Ç×»ó ÀÚ½ÅÀÇ ÁÖÀå°ú ÀÇ°ßÀ» ºÐ¸íÇÏ°Ô Ç¥ÇöÇÏ¿´À¸¸ç, ÀÚ½ÅÀÇ »ý°¢À» Á¤Á÷ÇÏ°Ô ¹àÈ÷´Â ¸ð½ÀÀ» º¸¿´½À´Ï´Ù. °øÁ¤¼º°ú ¸íÈ®¼º: ´ÙÀÌÅ©½ºÆ®¶ó´Â Çй®ÀûÀÎ Åä·Ð°ú ÀÇ°ß ±³È¯¿¡¼ °øÁ¤¼º°ú ¸íÈ®¼ºÀ» Áß½ÃÇß½À´Ï´Ù. ±×´Â ´Ù¸¥ »ç¶÷ÀÇ ÀÇ°ßÀ» Á¸ÁßÇÏ°í ±×µéÀÇ ÁÖÀå¿¡ ´ëÇÑ ³í¸®ÀûÀÎ ºÐ¼®°ú ºñÆÇÀûÀÎ »ç°í¸¦ ÅëÇØ ´ëÀÀÇß½À´Ï´Ù. À̸¦ ÅëÇØ °øÁ¤ÇÑ Åä·Ð°ú Çй®ÀûÀÎ Áøº¸¸¦ µµ¸ðÇß½À´Ï´Ù. ÄÄÇ»ÅÍ °úÇÐ À±¸®¿Í Ã¥ÀÓ: ´ÙÀÌÅ©½ºÆ®¶ó´Â ÄÄÇ»ÅÍ °úÇÐ ºÐ¾ß¿¡¼ À±¸®ÀûÀΠåÀÓ°ú Çൿ¿¡ ´ëÇÑ Á߿伺À» °Á¶Çß½À´Ï´Ù. ±×´Â ¼ÒÇÁÆ®¿þ¾î °³¹ß°ú ¼³°è¿¡ ÀÖ¾î¼ »ç¿ëÀÚÀÇ ÀÌÀÍ°ú ¾ÈÀüÀ» ÃÖ¿ì¼±À¸·Î °í·ÁÇßÀ¸¸ç, ÄÄÇ»ÅÍ ½Ã½ºÅÛÀÇ ½Å·Ú¼º°ú ¾ÈÁ¤¼ºÀ» °Á¶Çß½À´Ï´Ù. ÀÌ·¯ÇÑ »ç·ÊµéÀº ´ÙÀÌÅ©½ºÆ®¶ó°¡ ¾ç½ÉÀûÀÎ »ç¶÷À¸·Î ¿©°ÜÁö´Â ÀÌÀ¯¸¦ º¸¿©ÁÝ´Ï´Ù. ±×´Â Çй®ÀûÀÎ Á¤Á÷¼º°ú °øÁ¤¼ºÀ» Áß½ÃÇÏ°í, ÄÄÇ»ÅÍ °úÇÐ ºÐ¾ß¿¡¼ À±¸®ÀûÀΠåÀÓÀ» °Á¶ÇÏ´Â ¸ð¹üÀûÀÎ ¸ðµ¨·Î ¾Ë·ÁÁ® ÀÖ½À´Ï´Ù. ´ÙÀÌÅ©½ºÆ®¶ó(Edsger Dijkstra,ÄÄÇ»ÅÍ°úÇÐÀÚ, Dutch)ÀÇ ¾ç½É(Conscience) µî±Þ(Grade)À» A(¸Å¿ì ¿ì¼ö), B(¿ì¼ö), C(º¸Åë), D(³·À½) ·Î Grading ÇÑ´Ù¸é, ´ÙÀÌÅ©½ºÆ®¶ó(Edsger Dijkstra,ÄÄÇ»ÅÍ°úÇÐÀÚ, Dutch)ÀÇ ¾ç½Éµî±Þ(Conscience Grade)Àº? ¾ç½É µî±ÞÀº °³ÀÎÀÇ µµ´öÀûÀÎ Çൿ°ú À±¸®ÀûÀÎ ÆÇ´Ü¿¡ ´ëÇÑ Æò°¡¸¦ ³ªÅ¸³»´Â ÁÖ°üÀûÀÎ ¿ä¼ÒÀ̹ǷÎ, ¿ÜºÎ¿¡¼ Á¤È®ÇÏ°Ô Æò°¡Çϱâ´Â ¾î·Æ½À´Ï´Ù. ¶ÇÇÑ, ´ÙÀÌÅ©½ºÆ®¶óÀÇ ¾ç½É µî±ÞÀ» °áÁ¤Çϱâ À§Çؼ´Â ±×ÀÇ Àü¹ÝÀûÀÎ Çൿ°ú ÇàÅ¿¡ ´ëÇÑ »ó¼¼ÇÑ Á¤º¸¿Í Æò°¡°¡ ÇÊ¿äÇÕ´Ï´Ù. ´ÙÀÌÅ©½ºÆ®¶ó´Â ÄÄÇ»ÅÍ°úÇÐ ºÐ¾ß¿¡¼ À±¸®ÀûÀΠåÀÓ°ú °øÁ¤¼ºÀ» °Á¶ÇÏ´Â °ÍÀ¸·Î ¾Ë·ÁÁ® ÀÖ½À´Ï´Ù. ±×´Â ¼ÒÇÁÆ®¿þ¾î ¼³°è¿Í °³¹ß¿¡ ÀÖ¾î¼ »ç¿ëÀÚÀÇ ÀÌÀÍ°ú ¾ÈÀüÀ» ÃÖ¿ì¼±À¸·Î °í·ÁÇÏ°í, ÄÄÇ»ÅÍ ½Ã½ºÅÛÀÇ ½Å·Ú¼º°ú ¾ÈÁ¤¼ºÀ» °Á¶Çß½À´Ï´Ù. ÀÌ·¯ÇÑ Çൿ°ú °¡Ä¡°üÀº ´ÙÀÌÅ©½ºÆ®¶ó°¡ ¾ç½ÉÀûÀÎ »ç¶÷À¸·Î ÀνĵǴ µ¥ ±â¿©ÇÑ °ÍÀÔ´Ï´Ù. µû¶ó¼, ´ÙÀÌÅ©½ºÆ®¶óÀÇ ¾ç½É µî±ÞÀº »ó´ëÀûÀÎ Æò°¡¿¡ µû¶ó ´Ù¸¦ ¼ö ÀÖÁö¸¸, ÀϹÝÀûÀ¸·Î ´ÙÀÌÅ©½ºÆ®¶ó´Â ¾ç½ÉÀûÀÎ »ç¶÷À¸·Î Æò°¡µÇ°í ÀÖ½À´Ï´Ù. À̸¦ °í·ÁÇÒ ¶§, ´ÙÀÌÅ©½ºÆ®¶óÀÇ ¾ç½É µî±ÞÀº A (¸Å¿ì ¿ì¼ö) ȤÀº B (¿ì¼ö)·Î Æò°¡µÉ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ±×·¯³ª ÀÌ´Â ÁÖ°üÀûÀÎ ÀÇ°ßÀÏ »ÓÀ̸ç, ´ÙÀÌÅ©½ºÆ®¶óÀÇ Çൿ°ú °¡Ä¡°üÀ» Æò°¡ÇÏ´Â °ÍÀº °³ÀÎÀÇ ÆÇ´Ü¿¡ ´Þ·Á ÀÖ½À´Ï´Ù. ====================================== Edsger Dijkstra [Born] 11 May 1930 Rotterdam, Netherlands [Died] 6 August 2002 (aged 72) Nuenen, Netherlands [Fields] Computing science Theoretical computer science [Institutions] Mathematisch Centrum Eindhoven University of Technology Burroughs Corporation The University of Texas at Austin [Doctoral advisor] Adriaan van Wijngaarden [Doctoral students] Nico Habermann Martin Rem David Naumann Cornelis Hemerik Jan Tijmen Udding Johannes van de Snepscheut Antonetta van Gasteren [Known for] Dijkstra's algorithm (single-source shortest path problem) DJP algorithm (minimum spanning tree problem) First implementation of ALGOL 60 compiler Structured analysis Structured programming Semaphore Layered approach to operating system design THE multiprogramming system Concept of multiprogramming systems Concept of levels of abstraction Concept of layered structure in software architecture (layered architecture) Concept of cooperating sequential processes Concept of program families Concept of guards Multithreaded programming Concurrent programming Concurrent algorithms Principles of distributed computing Distributed algorithms Synchronization primitive Mutual exclusion Critical section Generalization of Dekker's algorithm Tri-color marking algorithm Call stack Fault-tolerant systems Self-stabilizing distributed systems Resource starvation Deadly embrace Deadlock prevention algorithms Shunting-yard algorithm Banker's algorithm Dining philosophers problem Sleeping barber problem Producer–consumer problem (bounded buffer problem) Dutch national flag problem Predicate transformer semantics Guarded Command Language Weakest precondition calculus Unbounded nondeterminism Dijkstra-Scholten algorithm Smoothsort Separation of concerns Program verification Program derivation Software crisis Software architecture GOTO-less programming Stepwise program composition Mathematical approach to programming methodology Role of academic research in computer science Edsger Wybe Dijkstra (11 May 1930 – 6 August 2002) was a Dutch computer scientist. A theoretical physicist by training, he worked as a programmer at the Mathematisch Centrum (Amsterdam) from 1952 to 1962. He was a professor of mathematics at the Eindhoven University of Technology (1962–1984) and a research fellow at the Burroughs Corporation (1973–1984). He held the Schlumberger Centennial Chair in Computer Sciences at the University of Texas at Austin from 1984 until 1999, and retired as Professor Emeritus in 1999. One of the most influential members of computing science's founding generation, Dijkstra helped shape the new discipline from both an engineering and a theoretical perspective. His fundamental contributions cover diverse areas of computing science, including compiler construction, operating systems, distributed systems, sequential and concurrent programming, programming paradigm and methodology, programming language research, program design, program development, program verification, software engineering principles, graph algorithms, and philosophical foundations of computer science and computer programming. Many of his papers are the source of new research areas. Several concepts and problems that are now standard in computer science were first identified by Dijkstra and/or bear names coined by him. Computer programming in the 1950s to 1960s was not recognized as an academic discipline and unlike physics there were no theoretical concepts or coding systems. Dijkstra was one of the moving forces behind the acceptance of computer programming as a scientific discipline. A training background in mathematics and physics led to his applying similar disciplines of mathematical logic and methodology to computer programming. In 1968, computer programming was in a state of crisis. Dijkstra was one of a small group of academics and industrial programmers who advocated a new programming style to improve the quality of programs. Dijkstra coined the phrase "structured programming" and during the 1970s this became the new programming orthodoxy. Dijkstra's ideas about structured programming helped lay the foundations for the birth and development of the professional discipline of software engineering, enabling programmers to organize and manage increasingly complex software projects. Dijkstra was an early theoretical pioneer in many research areas of computing science, including algorithm design, programming methodology, and software architecture. The academic study of concurrent computing and concurrent programming started in the 1960s, with Dijkstra (1965) credited with being the first paper in this field, identifying and solving the mutual exclusion problem. He was also one of the early pioneers of the research on principles of distributed computing. His foundational work on concurrency, semaphores, mutual exclusion (mutex), deadlock (deadly embrace), finding shortest paths in graphs, fault- tolerance, self-stabilization, among many other contributions comprises many of the pillars upon which the field of distributed computing is built. Shortly before his death in 2002, he received the ACM PODC Influential-Paper Award in distributed computing for his work on self-stabilization of program computation. This annual award was renamed the Dijkstra Prize (Edsger W. Dijkstra Prize in Distributed Computing) the following year, in his honor. (from naver.com wikipedia.org) Computer scientist, Concurrent, influence(+)~ (PIG: time-variant) Positive Influence GRADE (PIG): C+
|