Once Upon A Time In Delphi
°³¹ßÀÚ¿¡°Ô ÁÖÁ¾ °³¹ßÅø ¼±ÅÃÀº ¸Å¿ì Áß¿äÇÑ °áÁ¤ÀÌ´Ù. ÀÌ´Â ¹Ì¿ë»çµéÀÇ Àüµ¿ À̹߱âó·³ ´ë´ÜÈ÷ Áß¿äÇÑ Á÷¾÷Àû Çʼö µµ±¸À̸ç, °³¹ß »ý»ê¼ºÀ» ¸Å¿ì ÁÂÀÚ¿ìÁöÇϱ⠶§¹®ÀÌ´Ù. ´Ù¸¥ °³¹ßÀÚµéÀº ¾î¶² ±âÁØÀ¸·Î ÁÖÁ¾ °³¹ßÅøÀº ¼±ÅÃÇÏ´ÂÁö ¸ð¸£°ÚÁö¸¸, ³ª´Â ÁÖÁ¾ °³¹ßÅøÀ» ´ë·« ´ÙÀ½°ú °°Àº ±âÁØÀ¸·Î ¼±ÅÃÇÑ´Ù.
1. UI ÄÚµå ÀÛ¼ºÀÌ ÆíÇÑ°¡? Áï ȸé ó¸® ¶óÀ̺귯¸®°¡ ¾ó¸¶³ª Àß µÇ¾î Àִ°¡?
2. °³¹ß ȯ°æÀÇ ÆíÀǼºÀÌ ÁÁÀº°¡? Áï ¼Ò½º ¼öÁ¤, ¸®ÆÑÅ丵, ÄÄÆÄÀÏ µîµîÀÇ ±â´ÉÀÌ ¾ó¸¶³ª ÆíÇÑ°¡?
3. ³»°¡ ¸¸µç ÇÁ·Î±×·¥ÀÌ µ¿ÀÛÇÏ´Â OS¿ÍÀÇ Ä£È¼º. Áï ±× °³¹ßÅøÀÌ ¾î¶² ¿À¿¡½º¸¦ Àß Áö¿øÇϴ°¡?
À©µµ¿ìÁî ½Ã´ë·Î ³Ñ¾î¿À¸é¼ ³»°¡ µ¨ÆÄÀ̸¦ ¼±ÅÃÇÑ ÀÌÀ¯´Â, ¾ÕÀÇ 3°¡Áö ±âÁØ¿¡¼ µ¨ÆÄÀÌ°¡ °¡Àå ÁÁ¾Ò´Ù°í ÆÇ´ÜÇ߱⠶§¹®ÀÌ´Ù. ȤÀÚ´Â µ¨ÆÄÀÌÀÇ ¶Ù¾î³² Áß¿¡¼ ¿ÀºêÁ§Æ® ÆĽºÄ®À» ²Å±âµµ ÇÏÁö¸¸, ³» »ý°¢¿¡ ¿ÀºêÁ§Æ® ÆĽºÄ®Àº º°·Î´Ù. °´Ã¼ÁöÇâ ¹®¹ý¿¡¼ ºüÁø °Íµµ ¸¹°í, C++À̳ª ºñº£ º¸´Ù´Â ³ªÀ»Áö ¸ô¶óµµ, ÀÇ¿Ü·Î ¸¹Àº ÄÚµù·®À» °¿äÇÑ´Ù.
³ªÀÇ ÆÇ´ÜÀ¸·Î´Â, À§ ±âÁØ¿¡¼ ù¹ø°°¡ °¡Àå Áß¿äÇÏ´Ù°í º»´Ù. ¿Ö³ÄÇÏ¸é ´ëºÎºÐÀÇ ÇÁ·Î±×·¥¿¡¼ ȸéó¸®(UI) Äڵ尡 Àüü Äڵ差ÀÇ 80 ÇÁ·Î¸¦ Á¡ÇÑ´Ù°í Çصµ °ú¾ðÀÌ ¾Æ´Ï±â ¶§¹®ÀÌ´Ù. ¸¸ÀÏ ±ÍÇÏ°¡ ¸¸µé·Á´Â ÇÁ·Î±×·¥ÀÌ UI°¡ ÀüÇô ¾ø´Ù¸é, µ¨ÆÄÀ̺¸´Ù Â÷¶ó¸® C++À̳ª ÆÄÀ̼±ÀÌ ´õ ³ªÀ» ¼öµµ ÀÖ´Ù.
µû¶ó¼, µ¨ÆÄÀÌÀÇ ÃÖ´ë °Á¡Àº VCL ÇÁ·¹ÀÓ¿÷ÀÌ´Ù. ³» ÆÇ´ÜÀ¸·Î´Â, ±× ´ç½Ã¿¡ À©µµ¿ìÁî UI¸¦ ±¸ÇöÇϴµ¥ µ¨ÆÄÀÌ´Â ÃÖ°í¿´´Ù. ³»°¡ µ¨ÆÄÀÌ »ùÇà ¼Ò½º¸¦ º¸°í ¹ÝÇÑ ÀÌÀ¯ ¿ª½Ã, µåµð¾î ÁøÁ¤ÇÑ °´Ã¼ÁöÇâÀû UI Ŭ·¡½º ¶óÀ̺귯¸®¸¦ ¹ß°ßÇß´Ù´Â È®½Å ¶§¹®À̾ú´Ù.
C++·Î ¸¹Àº ÄÚµùÀ» Çغ¸Áö´Â ¾Ê¾ÒÁö¸¸, ³ª´Â ±×¶§ C++ÀÇ °´Ã¼ÁöÇâ¿¡ ÀÌ¹Ì ºüÁ® ÀÖ¾ú´Ù. ±×·¯³ª ±×¶§¿¡´Â ¾î¶² °³¹ßÅøµµ Á¦´ë·ÎµÈ °´Ã¼ÁöÇâÀû UI ÇÁ·¹ÀÓ¿÷À» °®Ãá °ÍÀÌ ¾ø¾ú´Ù. ¾î¶µç ±×´ç½Ã ³ªÀÇ Á¼Àº °æÇèÀ¸·Î´Â, µ¨ÆÄÀÌ´Â ÃÖ°íÀÇ °´Ã¼ÁöÇâÀû UI ÇÁ·¹ÀÓ¿÷(VCL)À» °®Ãß°í ÀÖ¾ú´Ù. ±×¸®°í Á¦´ë·ÎµÈ ÅëÇÕ IDEµµ °®Ãß°í ÀÖ¾ú´Ù.
±×·¡¼ ±×ÈÄ·Î ÂüÀ¸·Î ¿À·§µ¿¾È µ¨ÆÄÀ̸¦ Àß »ç¿ëÇß¾ú´Ù.
±×·±µ¥ µ¨ÆÄÀ̸¦ »ç¿ëÇÏ¸é¼ Á¡Á¡ ºÒ¸¸ÀÌ »ý±â±â ½ÃÀÛÇß´Ù. ¿¹¸¦ µé¾î, ÃÖ±Ù ¹öÀü¿¡ Ãß°¡ µÇ±â´Â ÇßÁö¸¸, C++ÀÇ ÅÛÇø®Æ®(Áö³×¸¯) ¹ÌÁö¿øÀ̶óµç°¡, ¸î¸î ¾û¼ºÇÑ Å¬·¡½º °ü·Ã ¹®¹ý, ¾îÁ¤ÂÄÇÑ interface ¹®¹ý, ¾îÁ¤ÂÄÇÑ ÀÚµ¿ Æı«ÀÇ ±¸Çö, ´ÙÁß(multicast) À̺¥Æ® ó¸®ÀÇ ±î´Ù·Î¿ò µîµî.
³» ±â¾ï¿¡ µû¸£¸é 2007 ¹öÀü±îÁö ¿ÀºêÁ§Æ® ÆĽºÄ®Àº °ÅÀÇ ¹®¹ýÀû º¯È°¡ ¾ø¾ú´Ù. ´Þ¸® ¸»ÇÏ¸é µ¨ÆÄÀÌ´Â ±×¶§±îÁö ¿¹Àü Á¦Ç° ¿ì·Á ÆȾƸԱ⸦ ÇØ¿Ô´Ù´Â °ÍÀÌ´Ù. º° ±â´É Ãß°¡ ¾øÀÌ, ¹ö±×¸¸ »ì¦ °íÄ¡°í, ¼µå ÆÄƼ ¶óÀ̺귯¸® ¸î°³¸¸ Ãß°¡ÇØ ³õ°í´Â »õ ¹öÀüÀ̶ø½Ã°í ÆÈ¾Æ ¸Ô¾ú´Ù´Â °ÍÀÌ´Ù.
±× ÀÌÈÄ´Â ¿©·¯ºÐµéµµ ¾Ë´Ù½ÃÇÇ, µ¨ÆÄÀÌ´Â °íÁúÀûÀÎ ¹«´ÉÇÑ °ü·áÁÖÀÇ Ã¼°èÇÏ¿¡, ¹Ì¹ÌÇÑ ±â´É Ãß°¡, ¹ö±× ÆÐÄ¡, °¡°Ý ÈÄ·ÁÄ¡±â, ±âÁ¸ °í°´ µîÃĸԱâ·Î ÇöÀç±îÁö À¯ÁöÇÏ°í ÀÖ´Ù. ³» »ý°¢¿¡´Â Á¤¸»·Î ½Ç·ÂÀÖ´Â µ¨ÆÄÀÌ °³¹ßÀÚµéÀº ¸ðµÎ Åð»çÇÏ°í, ½Ç·Â¾ø´Â µ¨ÆÄÀÌ °³¹ßÀڵ鸸 º»»ç¿¡ ³²¾Æ¼ µ¨ÆÄÀ̸¦ ¹öÀü¾÷ÇÏ°í ÀÖ´Â °ÍÀÌ ¾Æ´Ñ°¡ ÇÏ´Â Àǽɸ¶Àú µç´Ù.
¿äÁò°°ÀÌ ±Þº¯ÇÏ´Â °³¹ßȯ°æ¿¡¼ µ¨ÆÄÀÌ´Â ÀüÇô Á¦´ë·ÎµÈ ´ëÀÀÀ» ¸øÇÏ°í ÀÖ´Ù´Â È®½ÅÀÌ µé±â ½ÃÀÛÇß´Ù. ¾Èµå·ÎÀ̵å, ios, ¸®´ª½º µîµî Ÿ os Áö¿øÀº °í»çÇÏ°í À©µµ¿ì ¸¸ÀÌ¶óµµ Á¦´ë·Î Áö¿øÀ» ÇÏ´ÂÁö Á¶Â÷ Àǽɽº·´´Ù.
ÇѶ§ µ¨ÆÄÀÌ´Â °¡Àå ¶Ù¾î³ À©µµ¿ìÁî °³¹ßÅø Áß Çϳª¿´Áö¸¸, ÇöÀç ±× À§Ä¡´Â ºÐ¸íÈ÷ Ã߶ôÇÏ°í ÀÖ´Ù. °ú¿¬ µ¨ÆÄÀÌ´Â »ý»ê¼º ÀÖ´Â °³¹ßÅøÀΰ¡? ±Þº¯ÇÏ´Â os¿¡ Àß ´ëÀÀÇÏ´Â °³¹ßÅøÀΰ¡?
ȤÀÚ´Â ÀÌ·¸°Ô ¸»ÇÒÁöµµ ¸ð¸¥´Ù.
"µ¨ÆÄÀÌ ¹öÀü¾÷ÀÌ µÚÃÄÁö°Å³ª ±â´ÉÀÌ ÈÄÁö¸é ³»°¡ ¾Ë¾Æ¼ VCLÀ» °íÃÄ ¾²°Å³ª »õ·Î¿î ±â´ÉÀ» Ãß°¡Çؼ »ç¿ëÇÏ¸é µÇÁö."
±×·±µ¥ ÀÌ·² ¹Ù¿¡¾ß ´ëü ¿Ö µ¨ÆÄÀ̸¦ »ç¿ëÇϴ°¡? ±×³É Visual C++À» »ç¿ëÇÏ°í ¸»Áö. µ¨ÆÄÀÌ´Â ÇÏÀÌ ·¹º§ ¾ð¾î´ä°Ô C++ º¸´Ù ¿ùµîÈ÷ ³ôÀº »ý»ê¼ºÀ» °¡Á®¾ß¸¸ ÇÑ´Ù. ±×¸®°í ÀÌ·± ¸» ÇÏ´Â °³¹ßÀÚµé Ä¡°í ½ÇÁ¦·Î ±×¸® ½Ç·Â ÀÖ´Â °³¹ßÀÚ¸¦ Àß º»ÀûÀÌ ¾ø´Ù. ¸» »ÓÀÎ °³¹ßÀÚµéÀÌ´Ù. ±âÁ¸ ¹öÀü À¯Áö°°Àº ¿¹¿ÜÀûÀÎ °æ¿ì¸¦ Á¦¿ÜÇÑ´Ù¸é, 2019³â ÇöÀç±îÁöµµ, ½Å±Ô ÇÁ¶óÁ§Æ®¸¦ µ¨ÆÄÀÌ 5³ª 7·Î ¸¸µå´Â °³¹ßÀÚµéÀÇ ½Ç·ÂÀº °ú¿¬ À§´ëÇÒ±î?
°ú°Å¿¡ ³»°¡ µ¨ÆÄÀ̸¦ ¼±ÅÃÇÑ ÀÌÀ¯´Â C ¾ð¾î·Î À©µµ¿ì ¾îÇÃÀ» ¸¸µå´Â »ý³ë°¡´Ù¸¦ ÇÏ±â ½È¾î¼ ¿´´Ù. Á¤È®È÷ °í¹éÇÏÀÚ¸é, C ¾ð¾î·Î À©µµ ¾îÇÃÀ» ¸¸µé Á¤µµÀÇ ½Ç·ÂÀÚ°¡ ¾Æ´Ï¾ú±â ¶§¹®ÀÌ´Ù. ³ªÃ³·³ Windows API¸¦ Àß ¸ð¸£´Â ÇãÁ¢ ½Ç·ÂÀ» °¡Á³´Ù Çصµ, À©µµ ¾îÇÃÀ» ¸¸µé±â¿¡ º°¹®Á¦°¡ ¾øÀ» Á¤µµ·Î, µ¨ÆÄÀÌ´Â VCL·Î Win API ·¡ÇÎÀ» ³Ê¹« ÀßÇ߱⠶§¹®¿¡ ³ª´Â µ¨ÆÄÀ̸¦ ¼±ÅÃÇß¾ú´Ù. ³ª °°ÀÌ ½Ç·ÂÀÌ ¹ÌõÇÑ °³¹ßÀÚ´Â »ý»ê¼ºÀÌ ÁÁÀº °³¹ßÅøÀÇ µµ¿òÀÌ Àý½ÇÈ÷ ÇÊ¿äÇÏ´Ù.
Çö½ÃÁ¡¿¡¼ µ¨ÆÄÀÌ´Â ´Ù¸¥ °³¹ßÅø¿¡ ´ëÇؼ ¾î¶² ÀåÁ¡À» °¡Áö´Â°¡? ÀÌÁ¦ ´Ù¸¥ °³¹ßÅøÀ» ¼±ÅÃÇؾßÇÒ ½Ã±â°¡ µÇÁö ¾Ê¾Ò´Â°¡? ¹Ì¿ë»çµéÀÌ ´õ ³ªÀº Àüµ¿À̹߱⸦ ãµíÀÌ, ³ªµµ ´õ ³ªÀº °³¹ßÅøÀ» ã¾Æº¼ ¶§°¡ µÇÁö ¾Ê¾Ò´Â°¡?
³»°¡ °ú°Å¿¡ Ŭ¸®ÆÛ¸¦ ¹ö·ÈµíÀÌ, ÀÌÁ¦ µ¨ÆÄÀ̸¦ ¶°³ª º¸³¾ ¶§°¡ µÇÁö ¾Ê¾Ò´Â°¡? µ¨ÆÄÀÌ°¡ »ç°ñµµ ¾Æ´Ñµ¥, ³Ê¹« ¿ì·Á ¸ÔÀº°Í ¾Æ´Ñ°¡?
³» °á·ÐÀº ÀÌ·¨´Ù.
"ÀßÀÖ¾î ±×¸®°í ÀßÁö³» µ¨ÆÄÀÌ! ÇѶ§ Á¤¸»·Î »ç¶ûÇß¾î. ±×·¯³ª ÀÌÁ¨ ³Ê¿Í Çì¾îÁö°í ½Í¾î. Áö±Ý ³Í ³Ê¹« ºñ½Î°í ½Ç¼ÓÀÌ ¾ø¾î.
ÀÌÁ¦ ±×¸¸ ´Ù¸¥ ¿©ÀÚ¸¦ ¸¸³ª°í ½Í¾î."