´ÙÀ̳»¹ÍÇÑ °³¹ß ȯ°æÀ» Á¦°øÇÏ´Â ºñÁÖ¾ó º£ÀÌÁ÷ 9.0
´å³Ý ÇÁ·¹ÀÓ¿öÅ©°¡ ¼Ò°³µÇ¸é¼ ±âÁ¸ VB6¸¦ »ç¿ëÇÏ´ø ¶§¿¡ ºñÇØ VB °³¹ßÀÚµéÀÇ ¼ö°¡ ´«¿¡ ¶ç°Ô ÁÙ¾îµé°í ÀÖ´Â µíÇÏ´Ù. ¾ð¾î°¡ °¡Áø ºü¸¥ »ý»ê¼ºÀÇ Æ¯Â¡¿¡µµ ºÒ±¸Çϰí VB ¹®¹ýÀ» »ç¿ëÇϰí ÀÖ´ø ±âÁ¸ÀÇ VB¿Í ASP °³¹ßÀÚµé ¸¹Àº È¥¶õÀ» ´À³¢°í ÀÖ´Ù.
±× ÁÖµÈ ¿äÀÎÀº ¾ö°ÝÇÑ ±¸¹®°ú ŸÀÔ Ã¼Å·, ±×¸®°í OOP¶ó°í ÇÏ´Â ±× µ¿¾È ±×´ÙÁö ½É°¢ÇÏ°Ô »ý°¢ÇÏÁö ¾Ê°íµµ ÀÚ½ÅÀÌ ¿øÇÏ´Â ¾ÖÇø®ÄÉÀ̼ǵéÀ» °³¹ßÇØ ¿Ô´ø ±âÁ¸ÀÇ À¶Å뼺 ³ôÀº(ºñ±¸Á¶ÀûÀ̰ųª ÇÁ·Î½ÃÀú Áß½ÉÀûÀ̰ųª ÇÏ´Â °ÍÀº ÀüÇô ¹®Á¦µÇÁö ¾Ê´Â!) °³¹ß ¹æ½Ä°ú °æÇèµéÀÌ ÀÌÁ¦´Â ´õ ÀÌ»ó Åë¿ëµÇÁö ¾Ê´Â´Ù´Â µ¥ ÀÖ¾ú´Ù.
±×µµ ±×·² °ÍÀÌ VB °³¹ßÀÚµéÀº ´Ù¸¥ °³¹ßÀÚµé°ú ´Þ¸® ±× ±¸¼º¿¡ ÀÖ¾î Àü¹®ÀûÀÎ ÇÁ·Î±×·¡¹Ö ±³À°À» ¹Þ°Å³ª °æÇèÀ» °¡ÁöÁö ¸øÇÑ ÆÄ¿ö À¯ÀúÀÇ ºñÁßÀÌ Å©´Ù. ¶Ç, À̵鿡°Ô ÀÖ¾î OOP¿Í ±¸Á¶ÀûÀÎ ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ¿ä±¸´Â ´å³ÝÀ» ³Ñ±â Èûµç º®À¸·Î ¿©±â°Ô ÇÏ¿´´Ù. ¶Ç ´Ù¸¥ ¿äÀÎÀº ±âÁ¸ C++ °³¹ßÀڵ鿡 ºñÇØ ¾ð¾îÀûÀ¸·Î ¿¼¼¶ó´Â ½É¸®ÀûÀÎ ¿µî°¨¿¡ »ç·ÎÀâÇô ÀÖ¾ú´ø VB°³¹ßÀÚµéÀÌ ´À³¢´Â ¼¼¹ÌÄÝ·Ð(;)¿¡ ´ëÇÑ ¸·¿¬ÇÑ µ¿°æ½É(?)ÀÌ ¿äÀÎÀÌ µÉ ¼ö ÀÖ¾úÀ» °ÍÀÌ´Ù.
ÅëÇÕ °³¹ß ȯ°æ¿¡¼ÀÇ ÀåÁ¡µé
ƯÁý 4ºÎ¿¡¼´Â ´å³ÝÀ¸·Î ³Ñ¾î¿ÀÁö ¸øÇÑ ±âÁ¸ VB °³¹ßÀÚµé°ú Ÿ ¾ð¾î·Î °³Á¾(?)À» °áÇàÇÑ ¿¾ VB °³¹ßÀڵ鿡°Ô VB.netÀÌ °¡Áø ÇÁ·Î±×·¡¹ÖÀûÀÎ ¸Å·Â°ú ºñÁÖ¾ó ½ºÆ©µð¿À 2008À» ÅëÇÑ ³ôÀº »ý»ê¼ºÀ» Àϱú¿ö ÁÖ°íÀÚ ÇÑ´Ù. ±×¸®°í À̸¦ ÅëÇØ ¸¹Àº °³¹ßÀÚµéÀÌ ´Ù½Ã±Ý VB Àü¼º½Ã´ë¸¦ À̲ø¾î °¥ ¼ö ÀÖ´Â ±âȸ¸¦ ¸¸µé°Ô µÇ±æ ¹Ù¶õ´Ù.
ÅëÇÕ °³¹ß ȯ°æ¿¡¼ VB2008ÀÇ Çâ»ó
ºñÁÖ¾ó ½ºÆ©µð¿À 2008Àº Ŭ·¡½º ÆÄÀÏÀÇ ·Îµù¿¡¼ ÄÄÆÄÀÏ¿¡ À̸£±â±îÁö ´ëºÎºÐÀÇ ¼º´ÉµéÀÌ ÃÖ¼Ò 50% ÀÌ»ó Çâ»óµÇ¾ú´Ù. ¶Ç, VB°³¹ßÀڵ鿡°Ô ±âÁ¸ °³¹ß ½Ã¿¡ ºñÇØ Á» ´õ ½Ã¿øÇÑ Ã¼°¨¼Óµµ¸¦ Á¦°øÇØ ÁØ´Ù.
<Ç¥ 1>Àº MSÀÇ VB.net °³¹ßÆÀÀÌ Á¦°øÇÑ VB2005 ´ëºñ VB2008 ¼º´É Çâ»ó ºñ±³ ÀÚ·á´Ù(http://blogs.msdn.com/ vbteam/archive/2008/01/04/vb2008-outperforms-vb2005-lisa-feigenbaum.aspx).
|
Scenario |
VB2005 ´ëºñ ¼º´É Çâ»óºñÀ² |
| ´ëÇü ÇÁ·ÎÁ§Æ® ºôµå(using background compilation) | 0.61% |
| ´ÙÁß ÇÁ·ÎÁ§Æ® ¼Ö·ç¼Ç ºôµå(explicit build operation) | 3.56% |
| ´ÙÁß ÇÁ·ÎÁ§Æ® ¼Ö·ç¼Ç ºôµå(using background compilaton) | 8.91% |
| Ŭ·¡½º¿¡ ¸â¹ö¸¦ Ãß°¡ÇÑ ÈÄÀÇ ÀÀ´ä¼º | 11.16% |
| ÇÁ·ÎÁ§Æ®¸¦ ¿ÀÇÂÇÑ ÈÄÀÇ ÀÀ´ä¼º | 15.17% |
| ŸÀÔ¿¡ ´ëÇÑ ÇÏÀ§ ¸ñ·Ïµé¿¡ ´ëÇÑ ÀÎÅÚ¸®¼¾½º È£Ãâ(ÃÖÃÊ) | 44.49% |
| xml ÄÚ¸àÆ®°¡ ´Þ¸° ¼Ö·ç¼Ç ³»¿¡¼ Edit-and-Continue(ÃÖÃÊ) | 47.71% |
| ¸Þ¼µå ¼¾ðÀ» º¯°æÇÑ ÈÄÀÇ ÀÀ´ä¼º | 60.57% |
| 10 Step in debugger(subsequent times) | 63.06% |
| ŸÀÔ¿¡ ´ëÇÑ ÇÏÀ§ ¸ñ·Ïµé¿¡ ´ëÇÑ ÀÎÅÚ¸®¼¾½º È£Ãâ(subsequent times) | 64.98% |
| ¼Ö·ç¼ÇÀÌ ÀÌ¹Ì ºôµå µÇ¾úÀ» ¶§ F5(½ÇÇà) (subsequent times) | 72.35% |
| ¿À·ù »ý¼º ÈÄ ¿À·ù ¸ñ·Ï¿¡ Ãß°¡µÇ´Â Ç׸ñ ¼Óµµ | 74.26% |
| 10 Step in the debugger (first time) | 86.05% |
| ¼Ö·ç¼Ç¿¡ ´ëÇÑ background ÄÄÆÄÀÏ ÁßÀÇ ÀÀ´ä¼º | 89.21% |
| ´ëÇü ¼Ö·ç¼Ç¿¡ ´ëÇÑ ·Îµù (subsquent times) | 90.78% |
| ´ëÇü ¼Ö·ç¼Ç¿¡ ´ëÇÑ ·Îµù (first time)(Note: º» ¼öÄ¡´Â xp¿¡¼ÀÇ Çâ»óÀ̸ç, ºñ½ºÅ¸¿¡¼´Â º» xpÅ×½ºÆ® ½Ã³ª¸®¿ÀÀÇ 2¹èÀÇ Çâ»óÀ» º¸¿´À½. | 91.36% |
ÀÎÅÚ¸®¼¾½º(Intellisense)ÀÇ »ý»ê¼º
ÀÎÅÚ¸®¼¾½º°¡ ¾ø´Â VB¸¦ »ý°¢ÇØ º¼ ¼ö ÀÖÀ»±î? ÇÊÀÚ´Â VB°¡ °³¹ß »ý»ê¼ºÀ» °¡Áú ¼ö ÀÖ´Â °¡Àå Å« ÀÌÀ¯°¡ ¹Ù·Î ÀÎÅÚ¸®¼¾½º¿¡ ÀÖ´Ù°í »ý°¢ÇÑ´Ù. ȤÀÚµéÀº ÀÎÅÚ¸®¼¾½º°¡ °³¹ßÀÚµéÀ» ¹Ùº¸·Î ¸¸µé°í °³¹ßÀÚµéÀÇ ½Ç·ÂÀ» ¶³¾î¶ß¸°´Ù´Â ÀÌÇØÇÒ ¼ö ¾ø´Â ÁÖÀåÀ» ÆîÄ¡±âµµ ÇÏÁö¸¸ ¾î¼·ª ±×·³¿¡µµ ºÒ±¸Çϰí ÅØ½ºÆ® ¿¡µðÅÍ¿¡ Copy&Past ¿Í Çö¶õÇÑ ´ÜÃàŰ·Î ³¯ ÄÚµùÀ» Çϴ õÀç(?)°³¹ßÀÚµé º¸´Ù´Â ¹Ùº¸(?) °³¹ßÀÚµéÀÌ ½ñ¾Æ³»´Â ÄÚµåÀÇ »ý»ê¼ºÀÌ ÈξÀ ´õ ÀªµîÇÑ °ÍÀ»…………
VB9¿¡¼´Â °³¹ßÀÚµéÀÇ »ý»ê¼ºÀ» ³ôÀ̱â À§ÇÑ ÀÎÅÚ¸®¼¾½º ±â´ÉÀÌ ±âÁ¸ÀÇ ºñÁÖ¾ó ½ºÆ©µð¿À 2005¿¡ ºñÇØ ¿ùµîÈ÷ °·ÂÇØÁ³´Ù. ÀÌ·¯ÇÑ ±â´ÉÀ» ÀÎÅÚ¸®¼¾½º ¿¡ºê¸®¿þ¾î(Intellisence Everywhere)¶ó°í ÇÑ´Ù.
°£´ÜÈ÷ ºñÁÖ¾ó ½ºÆ©µð¿À 2008¿¡¼ MyIntegerValue¶ó°í ÇÏ´Â Integer ŸÀÔÀÇ Private º¯¼ö¸¦ ¼±¾ðÇØ º¸ÀÚ.
.jpg)
¿ø·¡ ´ç¿¬ÇÑ µí º¸ÀÌ´Â ÀÎÅÚ¸®¼¾½º ±â´ÉÀ̶ó°í »ý°¢ÇÑ´Ù¸é, ºñÁÖ¾ó ½ºÆ©µð¿À 2005¿¡¼ °°Àº °úÁ¤À» ¼öÇàÇØº¸¶ó. ºñÁÖ¾ó ½ºÆ©µð¿À 2005¿¡¼´Â »ç¿ëÀÚÀÇ Å¸ÀÌÇο¡ <ȸé 1> <ȸé 2>¿Í °°ÀÌ ÀÚµ¿À¸·Î ¹ÝÀÀÇÏ´Â ÀÎÅÚ¸®¼¾½º´Â Á¦°øÇÏÁö ¾Ê¾Ò´Ù.
ÀÌ ±â´É Çϳª¸¸À¸·Îµµ °³¹ßÀÚ´Â ÄÚµù »ý»ê¼ºÀ» ³ôÀÏ ¼ö ÀÖ°Ô µÈ´Ù. °Ô´Ù°¡ º¯¼ö¸¦ ÂüÁ¶ÇÏ´Â °æ¿ì¿¡µµ VB °³¹ßÆÀµéÀº ±âÁ¸ÀÇ ´Ü¼øº¯¼ö ³ª¿¿¡¼ ÇÊÅ͸µ ÀÎÅÚ¸®¼¾½º ±â´ÉÀ» Á¦°øÇÔÀ¸·Î½á °³¹ßÀÚµéÀÌ ºü¸¥ ÄÚµå ÀÛ¼ºÀ» °¡´ÉÄÉ ÇØ ÁØ´Ù.
À̹ø¿¡´Â ¾Õ¼ ¼±¾ðÇÑ º¯¼ö¿¡ °ªÀ» ÁöÁ¤Çϱâ À§ÇØ myInte gerValue¸¦ ŸÀÌÇÎ ÇØ º¸ÀÚ.
.jpg)
°³¹ßÀÚ°¡ ۸¦ ÀÔ·ÂÇÔ¿¡ µû¶ó ÀÚµ¿À¸·Î ¿øÇÏ´Â º¯¼öµéÀÌ ÇÊÅ͸µ µÇ¾î Ç¥½ÃµÇ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. <ȸé 4>´Â µ¶ÀÚµéÀÇ ÀÌÇØ¸¦ µ½±â À§ÇØ ºñÁÖ¾ó ½ºÆ©µð¿À 2005¿¡¼ µ¿ÀÏÇÑ ÀÛ¾÷ ½Ã¿¡ Á¦°øµÇ´ø ÀÎÅÚ¸®¼¾½º ½ºÅ©¸°¼¦À» ¿Å°ÜµÐ °ÍÀÌ´Ù.
.jpg)
»ó´çÈ÷ Ä£ÀýÇØ Áø VB ÄÚµå °³¹ßȯ°æÀÌ ¸öÀ¸·Î ´À²¸Áö´Â °Í °°Áö ¾ÊÀº°¡?
ÇÑ °¡Áö ÆÁÀ» ´õ ¼Ò°³ÇÏÀÚ¸é, ÀÎÅÚ¸®¼¾½º âÀÌ º¸ÀÌ´Â »óÅ¿¡¼ <Ctrl> ۸¦ ´©¸£°í ÀÖÀ¸¸é ÇØ´ç âÀÌ Åõ¸íÇÏ°Ô º¯ÇØ Äڵ带 °¡¸®Áö ¾Ê°Ô ÇÒ ¼öµµ ÀÖ´Ù.
ÄÚµåÁ¶°¢(Code Snippet)À» ÅëÇÑ ÄÚµù»ý»ê¼º Çâ»ó°ú ÄÚµåÀÇ ÀçȰ¿ë
ÄÚµåÁ¶°¢(Code Snippet) Ãß°¡Çϱ⠱â´ÉÀº VB¿¡¼¸¸ Á¦°øÇÏ´Â ±â´ÉÀº ¾Æ´ÏÁö¸¸, À̸¦ Ȱ¿ëÇÏ´Â ¹æ½Ä¿¡ À־ C#¿¡ ºñÇØ ¿ùµîÈ÷ »ç¿ëÇϱ⠽¬¿î ±¸Á¶·Î ÀÌ·ç¾îÁ® ÀÖ´Ù.
°³¹ßÇÏ·Á´Â Äڵ忡 ´ëÇÑ Á¤È®ÇÑ »ç¿ë ¹æ¹ýÀ» ¾Ë ¼ö ¾ø´Ù¸é, ÄÚµå â¿¡¼ ?(¹°À½Ç¥)¸¦ ÀÔ·ÂÇÑ ÈÄ Tab(ÅÇ)۸¦ ÀÔ·ÂÇØ º¸ÀÚ.
.jpg)
°¢ ½Ã³ª¸®¿À º° ¿¹Á¦ ÄÚµåµéÀÌ Á¦°øµÊÀ¸·Î¼ ÀÚ½ÅÀÇ »óȲ¿¡ ¸Â´Â ¿¹Á¦ ÄÚµåµéÀ» ½±°Ô ÀçȰ¿ëÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ, °³¹ßÀÚ°¡ ÀÚ½ÅÀÇ ÀÔ¸À¿¡ ¸Âµµ·Ï ÄÚµåµéÀ» ¼öÁ¤ ¹× Ãß°¡ÇÒ ¼ö ÀÖ´Â ±â´Éµµ Á¦°øÇÑ´Ù.
ÇÊÀÚ°¡ ÀÚÁÖ »ç¿ëÇÏ´Â ÄÚµå Á¶°¢ Ãß°¡ ±â´ÉÀº ÇÁ·ÎÆÛƼ ÀÚµ¿»ý¼º ±â´ÉÀÌ´Ù.
ÄÚµù â¿¡¼ Property ¶ó°í ÀÔ·ÂÇÑ µÚ¿¡ <Tab> ۸¦ Ä¡¸é <ȸé 6>°ú °°ÀÌ ±âº»ÀûÀÎ ÇÁ·ÎÆÛƼ¸¦ »ý¼ºÇϱâ À§ÇÑ Äڵ尡 ÀÚµ¿À¸·Î Ãß°¡µÈ´Ù. ÇÁ·ÎÆÛƼÀÇ Å¸ÀÔ°ú ÇÁ·ÎÆÛƼ¸í ¸¸ º¯°æÇØ ÁÖ¸é ÀÚµ¿À¸·Î ÇÁ·ÎÆÛƼ°¡ ¸¸µé¾îÁø´Ù.
.jpg)
¸¶Ä¡ ÀÚµ¿¿Ï¼º ±â´ÉÀÇ ÀϺÎÀÎ °Íó·³ ´À²¸Áú °ÍÀÌ´Ù. ÇÏÁö¸¸ ÀÌ ±â´ÉÀº ÄÚµå Á¶°¢ °ü¸®ÀÚ¿¡ ÀÇÇØ µî·ÏµÈ ÄÚµå Á¶°¢ÅÛÇø´µé Áß ÇÁ·ÎÆÛƼ ÄÚµåÁ¶°¢¿¡ ºÎ¿©µÈ ´ÜÃàŰ(´ÜÃà´Ü¾î)¿¡ ÀÇÇØ È£ÃâµÇ¾î Ãß°¡µÈ ÄÚµå´Ù.
ÀÌ¿Í °°ÀÌ À¯¿ëÇÑ ´ÜÃà´Ü¾îµéÀ» »çÀü¿¡ ¾Ë°í ÀÖ´Ù¸é ÄÚµùÀÇ »ý»ê¼ºÀÌ º¸´Ù ³ô¾ÆÁö°Ô µÇ´Â °ÍÀº ´ç¿¬ÇÑ ÀÏÀÌ´Ù.
¿¹¸¦ µé¾î ÄÚµù â¿¡ qConsole + Tab(ÅÇ) ۸¦ Ä¡¸é Linq ±¸¹®À» Ȱ¿ëÇÏ¿© Process ¸ñ·ÏÀ» ÄÜ¼Ö Ã¢¿¡ ³ª¿ÇØ ÁÖ´Â Äڵ尡 ÀÚµ¿À¸·Î »ý¼ºµÉ °ÍÀÌ´Ù.
°´Ã¼ÀÇ Å¸ÀÔÀÌ ¸ÕÀú ¼±¾ðµÇ°í µÚÀÌ¾î º¯¼ö¸íÀÌ ¼±¾ðµÇ´Â C °è¿ÀÇ ¾ð¾îµéÀº ½É¸®ÀûÀ¸·Î °³¹ßÀÚ ÀÚ½ÅÀÌ ¼±¾ðÇÒ °´Ã¼¿¡ ´ëÇÏ¿© Á¤È®ÇÑ Å¸ÀÔ ¸íÀ» ¾Ï±â(?)Çϰí ÀÖ¾î¾ß ÇÑ´Ù. ¹Ý¸é¿¡ º¯¼ö¸é ¼±¾ð¿¡ ÀÌ¾î °´Ã¼ÀÇ Å¸ÀÔÀÌ ¼±¾ðµÇ´Â VB´Â °³¹ß µµ±¸¿¡¼ Á¦°øÇØ ÁÖ´Â ÀÎÅÚ¸®¼¾½º ±â´ÉÀ¸·Î ÀÎÇØ Á¤È®ÇÑ Å¸ÀÔ ¸íÀ» ¾Ï±âÇÏÁö ¾Ê¾Æµµ ¾î·ÅDzÇÏ°Ô ±â¾ïÇϰí Àֱ⸸ Çϸé ÄÚµùÀ» ½ÃÀÛÇÒ ¼ö ÀÖ´Ù.
¿©´ãÀÌÁö¸¸ linq ±¸¹®¿¡¼ From ÀýÀÌ SQL ±¸¹®¿¡¼¿Í´Â ´Þ¸® Select Àý º¸´Ù ¾Õ¿¡ ¿À°Ô µÈ ÀÌÀ¯µµ ¹Ù·Î ÄÚµù»óÀÇ ÀÎÅÚ¸®¼¾½º¸¦ Áö¿øÇϱâ À§ÇÑ ¼±Åà À̾ú´Ù°í ÇÑ´Ù.
.jpg)
Áö±Ý±îÁö ÅëÇÕ °³¹ß ȯ°æ¿¡¼ VB.netÀÌ °¡Áø »ý»ê¼º Ãø¸é¿¡¼ Ÿ ¾ð¾îµé°ú °ßÁÖ¾î ºñ±³µÉ ¸¸ÇÑ Æ¯Â¡µéÀ» »ìÆìº¸¾Ò´Ù.
ÀüÅõ¿¡ ÀÖ¾î º´»ç °³°³ÀÎÀÇ ÀüÅõ ´É·ÂÀº ÇʼöÀûÀÌÁö¸¸ ÀÌ º´»çµéÀÇ °³ÀÎȱⰡ ¾î¶°ÇÑ °ÍÀ̳Ŀ¡ µû¶ó ±× ÀüÅõÀÇ ½ÂÆÐ´Â Å©°Ô ´Þ¶óÁú ¼ö ÀÖÀ» °ÍÀÌ´Ù.
¾Õ¼ ÅØ½ºÆ® ¿¡µðÅ͸¦ »ç¿ëÇϴ õÀç(?) °³¹ßÀÚµéÀ» ¾ð±ÞÇßÁö¸¸ ÇÊÀÚ°¡ VB¸¦ Ÿ ¾ð¾îº¸´Ù »ç¶ûÇÏ°Ô µÈ °¡Àå Å« ÀÌÀ¯´Â ¹Ù·Î ÀÌ·¯ÇÑ µµ±¸¿¡¼ Á¦°øÇØ ÁÖ°í ÀÖ´Â ¹Ùº¸(?)µµ ½±°Ô °³¹ßÇÒ ¼ö ÀÖ´Â ÆíÀǼº°ú »ý»ê¼ºÀÌ´Ù.
ÀÌÁ¦´Â °ü½ÉÀÇ ÃÊÁ¡À» VB9ÀÇ »õ·Ó°í °·ÂÇØ Áø ¾ð¾îÀûÀΠƯ¡¿¡ ÃÊÁ¡À» ¸ÂÃç º¸µµ·Ï ÇÏÀÚ.
VB9ÀÇ ¾ð¾îÀû Çâ»ó
ÇÊÀÚ´Â º» ±ÛÀÇ Á¦¸ñ¿¡ ´ÙÀ̳»¹Í(Dynamic)À̶ó´Â ´Ü¾î¸¦ »ç¿ëÇÏ¿´´Ù. ÀÏÂïÀÌ VB¸¸Å ´ÙÀ̳»¹ÍÀ̶ó´Â ´Ü¾î°¡ Àß ¾î¿ï¸®´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â ¾ø¾ú´Ù. Late BindingÀÇ °·ÂÇÑ ±â´ÉÀº ¿ÀÈ÷·Á ±× ³ÐÀº À¶Å뼺 Å¿¿¡ °·ÂÇÑ Å¸ÀÔ ±â¹ÝÀÇ ÇÁ·Î±×·¡¹Ö ¹æ¹ý¿¡ Àͼ÷ÇÑ C °è¿ °³¹ßÀڵ鿡°Ô ºñ³ÀÌ µÇ±âµµ ÇÏ¿´Áö¸¸, ¶Ç ´Ù½Ã Ãß¼¼´Â ´À½¼ÇÑ Å¸ÀÔ±â¹ÝÀÇ ¾ð¾îµéÀÎ ·çºñ, ÆÄÀ̼±, ÀÚ¹Ù½ºÅ©¸³Æ®, VBµé¿¡ °ü½ÉÀÌ ½ò¸®°í ÀÖ´Ù.
¶ÇÇÑ ´å³Ý ±â¹ÝÀÇ ¾ð¾îÀÎ C#, VB.net¿¡ À־µ LINQ (Language Integrated Query)ÀÇ Ãâ½Ã¿Í ÇÔ²² Late BindingÀÇ ¾ð¾îÀû Ư¡ÀΠŸÀÔ À¯Ãß(Type Infer) ±â´ÉÀ» Á¦°øÇØ ÁÜÀ¸·Î ÀÌ·¯ÇÑ Æ¯Â¡µéÀÌ ³ªÅ¸³ª±â ½ÃÀÛÇß´Ù.
VB.net ¿¡¼´Â ÀÌÁ¦¿¹ÀüÀÇ ¹æ½Ä°ú °°ÀÌ
Dim aVar = “Viva VB!!”
¿Í °°Àº ÄÚµåÀÛ¼ºÀÌ °¡´ÉÇØ Áø´Ù. ÀÌ¿Í °°Àº ÄÚµùÀº ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ ÀÚµ¿À¸·Î String ŸÀÔÀ¸·Î º¯È¯µÇ¾î ÄÄÆÄÀÏ µÈ´Ù.
ÇÏÁö¸¸ º¯¼ö ¼±¾ð¿¡ Ç×»ó °´Ã¼ÀÇ Å¸ÀÔÀÌ ¼±¾ðµÇ¾î¾ß ÇÏ´Â C#ÀÇ °æ¿ì¿¡´Â ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼ÀÇ º¯¼ö ¼±¾ðÀÚÀÎ var¸¦ Â÷¿ëÇØ ¿Ã ¼ö ¹Û¿¡ ¾ø¾ú´Ù.
var aVar = “Are you C#?”
¾îµò°¡ ¾î»öÇÏ°Ô º¸ÀÌ´Â ¹®ÀåÀÌ´Ù. ¸ÂÁö ¾Ê´Â ¿ÊÀ» ÀÔ°í ÀÖ´Â C#ÀÇ ¸ð½ÀÀÌ ¾Æ´Ò±î?
VB °³¹ßÀڵ鿡°Ô À־ ´ç¿¬ÇÑ °ÍÀ¸·Î ¹Þ¾Æµé¿©Áú ¼ö ÀÖÀ¸³ª, ÀÌ·¯ÇÑ ´å³Ý ±â¹Ý ¾ð¾îµéÀÇ º¯È´Â ÇÁ·Î±×·¡¹Ö °üÁ¡¿¡ ÀÖ¾î¼ÀÇ ¸¹Àº º¯È°¡ ÇÔ²² ¼ö¹ÝµÉ ¼ö¹Û¿¡ ¾ø´Ù.
¶Ç Çϳª °í¹«ÀûÀÎ »ç½ÇÀº Â÷¼¼´ë À¥ °³¹ß Ç÷§ÆûÀ̶ó ÀÏÄþîÁö´Â ½Ç¹ö¶óÀÌÆ® 1.1(Silverlight 1.1) ¹öÀü¿¡¼ DLR(Dynamic Language Runtime)À» Áö¿øÇÏ´Â ¾ð¾î·Î½á ·çºñ, ¾ÆÀ̾ð ÆÄÀ̼±, ÀÚ¹Ù½ºÅ©¸³Æ®, ±×¸®°í VB¸¦ ¼±Á¤ÇÏ¿´´Ù°í ÇÑ´Ù. ÀÌ ¾ð¾îµéÀÌ °¡Áö´Â °øÅëÀûÀΠƯ¡ÀÌ ¹Ù·Î Dynamic À̶ó°í ÇÏ´Â Á¡À» »ý°¢ÇØ º¸¸é ÀÌ´Â ´ç¿¬ÇÑ °á°úÀÌ´Ù.
MSÀÇ ´å³Ý ÇÁ·¹ÀÓ¿öÅ© ±â¹Ý ¾ð¾î·Î½á First CitizenÀ̶ó ÀÏÄþîÁö´Â ¾ð¾îµé Áß À¯ÀÏÇÏ°Ô À©µµ¿ì Ç÷§Æû ±â¹ÝÀÇ ¾ÖÇø®ÄÉÀ̼ǰú Å©·Î½º ºê¶ó¿ìÀú¿¡¼ ½ÇÇàµÇ´Â RIA(Rich Internet Application) °³¹ßÀ» °¡´ÉÄÉ ÇÏ´Â ¾ð¾î´Â VB°¡ À¯ÀÏÇÑ °ÍÀÌ µÉ °ÍÀÌ´Ù.
Born in XML!
<¸®½ºÆ® 1>À» »ìÆìº¸ÀÚ. ¿ØÁö ±âÁ¸ÄÚµå¿Í ºñ±³ÇØ º¸ÀÚ¸é ¾î»öÇÏ´Ù. ÀÌ Äڵ尡 ÄÄÆÄÀÏ µÉ ¼ö ÀÖÀ»±î?
.jpg)
VB9¿¡¼´Â ¾ÆÁÖ ÀÚ¿¬½º·¯¿î Äڵ尡 µÈ´Ù.
º°µµÀÇ Line ¿¬°áÀÚÀÎ _ (¾ð´õ¹Ù) ¹®ÀÚ ¾øÀ̵µ º¯¼ö¼±¾ð°ú ÇÔ²² ÀÛ¼ºµÇ´Â XML ÅØ½ºÆ®´Â ±× ÀÚü·Î XElement ŸÀÔÀÇ °´Ã¼·Î ¼±¾ðµÈ´Ù(XML Header¸¦ Ãß°¡ÇØ Áشٸé ÀÚµ¿À¸·Î XDocument ŸÀÔÀÌ µÈ´Ù). ÀÌÁ¦ VB¿¡¼´Â XML ÅØ½ºÆ® ÀÚü´Â ÇϳªÀÇ XML ¿ä¼Ò °´Ã¼·Î ÀÎ½ÄµÉ ¼ö ÀÖ°Ô µÈ´Ù.
<¸®½ºÆ® 2>´Â C#À» ÅëÇÑ ÄÚµå 1ÀÇ XML XElement¸¦ ¼±¾ðÇϱâ À§ÇÑ ÄÚµåÀÌ´Ù. ±×·±µ¥ ÀÌ ÄÚµå´Â ¾óÇÍ º¸±â¿¡µµ Á÷°üÀûÀÌÁö ¸øÇÏ´Ù.
.jpg)
VB¿¡¼´Â ´Ü¼ø XML ÅØ½ºÆ® ¼±¾ð»Ó¸¸ ¾Æ´Ï¶ó µ¿ÀûÀÎ XML ElementµéÀ» »ý¼ºÇØ ³¾ ¼öµµ ÀÖ´Ù.
<¸®½ºÆ® 3>ÀÇ Äڵ带 ÅëÇØ º¸´Ù ÀÚ¼¼È÷ »ìÆìº¸ÀÚ.
.jpg)
ASP¿¡ Àͼ÷ÇÑ °³¹ßÀÚ¶ó¸é ¾ÆÁÖ Ä£¼÷ÇÑ Data Placeholde (<%= %>)¸¦ È®ÀÎ ÇÒ ¼ö ÀÖ´Ù. ¹Ù·Î <¸®½ºÆ® 2>¿Í °°ÀÌ Data°¡ Ç¥±âµÇ¾î¾ß ÇÒ Data Island ºÎºÐ¿¡ <%= %> Äڵ带 ÅëÇØ ¿øÇÏ´Â µ¥ÀÌÅ͸¦ Ãß°¡ÇØ ³ÖÀ» ¼ö ÀÖ´Ù. »Ó¸¸ ¾Æ´Ï¶ó ÄÚµåÀÇ °¡µ¶¼ºÀÌ »ó´çÈ÷ ¶Ù¾î ³ª±â ¶§¹®¿¡ XMLÀ» »ý¼ºÇÏ´Â Äڵ带 ÀÛ¼ºÇÏ´Â µ¥ ÀÖ¾î ±× ¾î¶°ÇÑ ¾ð¾îµµ °¡Áú ¼ö ¾ø´Â ÀåÁ¡À» °¡Áø´Ù.
±âÁ¸ÀÇ XML¿¡¼ XML·ÎÀÇ º¯È¯À» À§ÇØ »ç¿ëµÇ¾ú´ø XSLT º¯È¯ ÀÛ¾÷µéÀÌ ÀÌ·¯ÇÑ VBÀÇ ´ÙÀ̳»¹ÍÇÑ ¾ð¾îÀû Ư¡À¸·Î ÀÎÇØ ¼Õ½±°Ô ó¸®µÉ ¼ö ÀÖ´Â ¹æ¹ýÀÌ »ý°å´Ù.
XML µ¥ÀÌÅÍÀÇ »ý¼º»Ó¸¸ ¾Æ´Ï¶ó ÆÄ½Ì¿¡ À־µ ±× Á÷°üÀûÀÌ°í ¼Õ½¬¿î ÄÚµùÀº ºûÀ» ¹ßÇϰí ÀÖ´Ù.
<¸®½ºÆ® 4>´Â MSÀÇ MSDN »çÀÌÆ®ÀÇ RSS XMLÀ» ÆÄ½ÌÇÏ¿© Äֿܼ¡ µð½ºÇ÷¹ÀÌ ÇØ ÁÖ´Â ÄÚµå´Ù.
.jpg)
XML ÆÄ½Ì¿¡ À־µ ¾ð¾î¿Í XML ÅØ½ºÆ®¸¦ Á÷°üÀûÀ¸·Î È¥¿ëÇÏ¿© »ç¿ëÇϰí ÀÖÀ½À» È®ÀÎÇÒ ¼ö ÀÖ´Ù.
<¸®½ºÆ® 4> ¿ª½Ã C#À¸·Î º¯È¯Çϸé <¸®½ºÆ® 5>¿Í °°ÀÌ µÈ´Ù. ¸ðµç XML Element µé¿¡ ´ëÇÑ ÆÄ½Ì ¹æ½ÄÀÌ ¸Þ¼µå ±â¹ÝÀ¸·Î µÇ¾î ÀÖ¾î VB¿¡ ºñÇÏ¿© Á÷°ü¼ºÀÌ ¸¹ÀÌ ¶³¾îÁüÀ» ¾Ë ¼ö ÀÖ´Ù.
.jpg)
VB¸¦ ÅëÇÑ XML ÆÄ½ÌÀº ¸Þ¼µå ±â¹ÝÀÇ API È£ÃâÀÌ ¾Æ´Ñ ±âº»ÀûÀ¸·Î XPath Äõ¸® ¹®Àå¿¡¼ »ç¿ëÇÏ´ø ¸ðµç XML Ç¥±â¹ýµéÀ» ±×´ë·Î Ȱ¿ëÇÒ ¼ö Àֱ⠶§¹®¿¡ ÄÚµåÀÇ °¡µ¶¼º°ú Á÷°ü¼º ¹× XML 󸮿¡ ÀÖ¾î¼ÀÇ »ý»ê¼ºÀº ´õ¿í ¶Ù¾î³ª°Ô µÈ´Ù.
¾÷±×·¹À̵带 Áö¿øÇÏ´Â À¯ÀÏÇÑ ¾ð¾î!
VB6 Äڵ带 VB.netÀ¸·Î º¯È¯ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº ¸Å¿ì ´Ù¾çÇÏ´Ù. VB.netÀ¸·Î Äڵ带 º¯È¯ÇØ ÁÖ´Â ÄÚµå º¯È¯±â°¡ ±âº»ÀûÀ¸·Î ºñÁÖ¾ó ½ºÆ©µð¿À¿¡¼ Á¦°øµÇ°í ÀÖÀ¸¸ç, ±âÁ¸ VB6 ÄÚµå¿Í VB.net Äڵ带 ÇÔ²² »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â Interoperability ToolkitÀ» VB.net ȨÆäÀÌÁö¸¦ ÅëÇØ Á¦°øÇØ ÁØ´Ù. ¶ÇÇÑ COM °´Ã¼¸¦ ±×´ë·Î ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ´å³ÝÀÇ ÀåÁ¡À¸·Î ÀÎÇØ ÄÚµåÀÇ º¯È¯ ¾øÀ̵µ .NET¿¡¼ÀÇ ÄÚµå Ȱ¿ëÀÌ °¡´ÉÇÒ ¼öµµ ÀÖ´Ù.
¹«¾ùº¸´Ù MSÀÇ °ü¸®Çü ¾ð¾îµé Áß À¯ÀÏÇÏ°Ô VB¸¸Àº ±âÁ¸ °³¹ßÀÚµéÀÇ ·¹°Å½Ã ÄÚµåµéÀ» À§ÇÑ ´Ù¾çÇÑ ¾÷±×·¹ÀÌµå ¹æ¹ýµéÀ» Á¦°øÇØ ÁÖ°í ÀÖ´Ù.
ÀÌ¹Ì °³¹ßµÈ VBÄڵ忡 ´ëÇÑ ºÎ´ãÀÌ Å« °³¹ßÀڵ鵵 ÀÏ´Ü ÇÑ ¹ø ÇØ´ç ÇÁ·ÎÁ§Æ®¸¦ ºñÁÖ¾ó ½ºÆ©µð¿À 2008¿¡¼ ¿ÀÇÂÇÏ¿© ¾÷±×·¹ÀÌµå ¸¶¹ý»ç¸¦ ÅëÇØ º¯È¯µÇ´Â Äڵ带 »ìÆìº¸¶ó. °³¹ßÀÚµéÀÇ ÄÚµùÆÐÅÏ¿¡ µû¶ó ´Þ¶óÁö°ÚÁö¸¸ ÄÚµåÀÇ ¾à 80% Á¤µµ´Â º°µµÀÇ º¯È¯ ¾øÀÌ »ç¿ëÀÌ °¡´ÉÇÑ ¼öÁØÀÇ ÄÚµå·Î º¯È¯ÇØ ÁØ´Ù.
Why VB?
ÀÌ ¹Û¿¡µµ ¸¹Àº ±â´ÉµéÀÌ ºñÁÖ¾ó ½ºÆ©µð¿À 2008¿¡¼ VB¿¡ Ãß°¡µÇ¾ú´Ù. ÇÒ¾ÖµÈ Áö¸é ³»¿¡¼ ÀÌ ¸¹Àº ±â´ÉµéÀ» ´Ù ´ã¾Æ³¾ ¼ö ¾ø´Â ¾Æ½¬¿òÀº ÀÖÁö¸¸ ¾Õ¼ »ìÆìº» VB¸¸ÀÌ °¡Áö´Â »ý»ê¼º ³ô°í °·ÂÇÑ ±â´Éµé¸¸À» º¸´õ¶óµµ VB°¡ ÀÌÀü¿¡ ºñÇØ ¾ó¸¶³ª ¸¹ÀÌ ´Þ¶óÁ³´ÂÁö¸¦ ´À³¥ ¼ö ÀÖ¾úÀ» °ÍÀ̶ó »ý°¢ÇÑ´Ù. ÇÊÀÚ ¿ª½Ã VB6 ÀÌÈÄ ¹öÀü¿¡ ÀÖ¾î¼ VB °³¹ßÆÀµéÀÌ VB¸¸ÀÇ ´ÙÀ̳»¹ÍÇÑ À¶Å뼺À» Á¦°øÇØ ÁÖÁö ¸øÇϰí C#°úÀÇ ¹®¹ýÀû Â÷ÀÌ ÀÌ¿ÜÀÇ µÎµå·¯Áø ÀåÁ¡À» Á¦°øÇØ ÁÖÁö ¸øÇß´ø ±âÁ¸ ¹öÀü¿¡ ´ëÇÑ ¾Æ½¬¿òÀÌ ÀûÁö ¾Ê¾Ò´Ù. ÇÏÁö¸¸ ÀÌÁ¦¾ß ºñ·Î¼Ò ¿Ö VB³Ä´Â Áú¹®¿¡ ´ëÇÑ ÇØ´äÀ» ¸íÄèÇÏ°Ô ÇØ ÁÙ ¼ö ÀÖ°Ô µÈ °Í °°´Ù.
Â÷±â ¹öÀüÀ¸·Î »õ·Ó°Ô ±âȹµÇ°í ÀÖ´Â VBx(VB10)´Â Áö±ÝÀÇ ´ÙÀ̳»¹ÍÇÑ VBÀÇ ÀåÁ¡µéÀ» º¸´Ù Çâ»ó½ÃÄÑ DLR(Dynamic Language Runtime)À» ¾Æ¿ì¸£´Â °·ÂÇÑ ¾ð¾î·Î Å»¹Ù²Þ ÇÒ °ÍÀ¸·Î ÀüÇØÁö°í ÀÖ´Ù.
º¸´Ù VB½º·´°í, º¸´Ù ´ÙÀ̳»¹ÍÇØÁø VB9.
ºñÁÖ¾ó ½ºÆ©µð¿À 2008À» ÅëÇØ ÄÚµùÀ» Çϰí ÀÖ³ë¶ó¸é Ÿ°Ý°¨ ÁÁÀº ¿Â¶óÀÎ °ÔÀÓÀ» Áñ±æ ¶§ÀÇ Â¥¸´ÇÔÀÌ ´À²¸Áø´Ù. µ¶Àڵ鵵 ´ÙÀ½ÀÇ ¸µÅ©¿¡¼ Æò°¡ÆÇ(http://msdn2.microsoft.com/en-us/vstudio/products/aa700831.aspx)À» ´Ù¿î·Îµå ÇÏ°í »õ·Î¿öÁø VB.netÀ» ´À²¸º¸ÀÚ. ¿Ö VBÀÎÁö ¸»ÀÌ´Ù.