kolak2
عضو جدید
VBx نسخه جديد Visual Basic است كه به زودي با تعدادي از ويژگيهاي جديد ارايه ميشود. VBx يكي از چهار زباني است كه براساس DLR ساخته شده و در واقع نسخه شماره دهم Visual Basic است.
كليد واژه:
ويژوال بيسيك، سيلورلايت
VBx, Silverlight, DLR, Visual Basic, MIX07
</SPAN>
چندي پيش، در بخشي از مباحثات مربوط به Silverlight1.1 در MIX07 نيمچه اطلاعيهاي وجود داشت كه ممكن است برخي را كنجكاو كرده باشد.
اگر پوستر سيلورلايت (Silverlight) كه براد (Brad) به آن اشاره كرده را بررسي كنيد، متوجه ميشويد در سمت راست پوستر در زير كادري كه عبارت Framework Languages نوشته شده، دو مورد براي Visual Basic فهرست شده است. اولي Visual Basic است و در انتها يك VBx است كه نماد كوچكي با عنوان "Soon" در كنارش قرار دارد. بعد، اگر به صفحه اول وبلاگ جيم هاگونين (Jim Hugunin) نگاهي بياندازيد خواهيد ديد كه وي در مبحث DLR (Dynamic Language RunTime) گفته است (تاكيد روي ضمير مالكي از من است):
"در ابتدا چهار زبان مختلف را بر اساس DLR ايجاد كرديم: Python، JavaScript (EcmaScript 3.0)، Visual Basic و Ruby. ما امروز Python و Ruby را به عنوان بخشي از نسخه Silverlight 1.1 alpha1 كه به زودي عرضه ميشود ارسال كرديم. من و جان لم (John Lam) اكنون داريم نسخه آزمايشي اين چهار زبان را ارايه ميكنيم. ضمنا در طول سخنراني كه فردا در ساعت 11:45 داريم، نشان خواهيم داد كه VB و Ruby با هم كار خواهند كرد."
و بعد اگر سري به صفحه اول بلاگ جيسون زندر (Jason Zander) بزنيد خواهيد ديد كه در مبحثي با عنوان .NET Framework support for Silverlight گفته است (باز هم تاكيد روي ضمير مالكي از سوي من است):
"به كمك DLR جديد ما از IronPython ، IronRuby ، JavaScript و كامپايلر جديد VBx حمايت قرار ميكنيم."
و بالاخره ميتوانيد براي گرفتن اشارات بيشتر به بلاگ آماندا سيلور مراجعه كنيد و مبحثي با عنوان What the Mix07 announcement mean for the VB developer را ملاحظه كنيد.
خب واقعا معني همه اينها چيست؟ اين VBx چيست؟ ما چه بايد بكنيم؟
خب، همين طور كه اشاره شد، چيزهايي هست كه در اين چند ماه اخير داشتم روي آنها كار ميكردم ولي نميتوانستم راجع به آنها صحبت كنم. اما با اين آگهيهايي كه درباره MIX07 دادهايم حالا ديگر ميتوانم آن را كمي از لفافه خارج كنم. VBx نامي است كه فعلا براي نسخه اصلي بعدي Visual Basic در نظر گرفته ايم (حرف "x" قرار است كه نماد حرف "X" در سيستم ارقام رومي يا همان عدد 10 باشد، چون شماره نسخه اصلي بعدي Visual Basic به 10 ميرسد. در واقع بايد x را با حروف بزرگ نوشت، اما بعضيها نگران بودند كه در آن صورت شايد با كنترلهاي VBX اشتباه گرفته شود. ولي در موتورهاي جستجو در حقيقت تمايزي بين آنها نخواهد بود. چون اكثر موتورهاي جستجو مثل خود VB نسبت به كوچكي و بزرگي حروف حساس نيستند.)
فعلا در اولين مرحله از بازي، هنوز شكل كامل نسخه بعدي فاقد جزييات كافي است. البته، هنوز براي اركاس (Orcas) هيچ كاري نكردهايم. ما هنوز حتي برنامهريزي رسمي براي فرآيند ساخت چيزي فراتر از اركاس شروع هم نكردهايم. البته بسياري از ويژگيهاي كه قرار است پس از اركاس ارايه كنيم، حتي در اين مرحله نخستين كار برايمان روشن است:
1) ويژوال بيسيك بايد به يك زبان "آماده ميزباني" تبديل شود كه به راحتي بتواند، بسته به آنچه ميتوانيد با VBScript و VBA انجام دهيد، اسكريپتنويسي برنامه را انجام دهد. مضافا اينكه موتور اين زبان "آماده ميزباني" بايد كاملا قابل حمل باشد تا بتوان آن را به هر بسترهاي (platform) كه توسط CLR پشتيباني ميشود و همين طور بسترههايي كه توسط سيلورلايت پشتيباني ميشوند (مثل اسكريپت سمت سرويسگير در مرورگرهاي Mac ...) انتقال داد.
2) اجراي اتصال پويا به دادهها (اتصال ديررس) بايد تا حد ممكن شبيه به اتصال ايستا باشد.
3) توليد نوع (type) و متد پويا بايد كاملا توسط زبان حمايت شود و قابل استفاده باشد.
4) ويژوال بيسيك بايد به طور كامل يك REPL (Read-Eval-Print Loop) را پشتيباني كند. اين امر، يعني پشتيبانياي كه در حال حاضر براي يك REPL وجود دارد از پنجره اوليه ويژوال استوديو برداشته شود و سپس دو كار ديگر انجام شود: تعميم REPL به كل زيان و افزودن قابليت ميزباني REPL به محيط خارج از Visual Studio.
اگر به فهرست ويژگيها نگاه كنيد، ميبينيد كه اكثر آنها با هدف اصلي DLR سنخيت دارند. در نتيجه ما براي اين كه نمونه اوليه برخي از اين ويژگيها را در Visual Basic بسازيم، همكاري نزديكي با گروه DLR داشتهايم. اگر شما جز سران MVP بوديد يا ديروز به سخنراني Jim و John Lam در MIX رفتيد پس اين نمونه اوليه را - كه ما دوباره براي مدتي آن را VBx ميناميم - در عمل ديدهايد. من و آماندا روي چند screencasts [ذخيره و نمايش خروحي صفحه کامپيوتر را اصطلاحا screencast ميگويند که معمولا با يک صداي پسزمينه يك گوينده همراه است. - مترجم] و موارد ديگري كار ميكنيم تا در آينده نزديك آن را به همگان ارايه دهيم. اما اين نمونه اوليه در اصل تركيبي از DLR و سرويسهاي زبان Visual Basic است. اين نمونه اوليه بسياري از ويژگيهاي فوقالذكر و حتي بيشتر از آنها را به عرضه ميكند. به عنوان مثال چون VBx بر روي DLR ساخته شده، به صورت خودكار با بسياري از زبانهاي ديگري هم كه براساس DLR ساخته شدهاند در تعامل است. بنابراين كد VBx ميتواند با كتابخانههايي كه با Python يا JavaScript يا Ruby نوشته شدهاند به صورت يكپارچه در تعامل باشد و آن زبانها هم ميتوانند به صورت يكپارچه با كدي كه در VBx كامپايل شده در تعامل باشند.
با وجود اينكه در مورد VBx هيجان زده هستيم، اما متاسفانه در حال حاضر، چيزي جز نسخه Silverlight 1.1 alpha1 كه چندي پيش عرضه نيست. با اين همه، همين الان هم مقدار قابل توجهي از وظايف پيادهسازي شده را داريم ولي، البته هنوز كارهاي زيادي هم هستند كه بايد انجام شوند تا پشتياني زبان VBx در سطحي مطرح شود كه احساس كنيم براي پيشنمايش يك انجمن پربار لازم است. برنامه ما اين است كه كمي بعد، در همين سال جاري يك پيشنمايش در يك انجمن تخصصي داشته باشيم و همچنين در PDC07 بيشتر درباره جزييات VBx صحبت كنيم
كليد واژه:
ويژوال بيسيك، سيلورلايت
VBx, Silverlight, DLR, Visual Basic, MIX07
</SPAN>
چندي پيش، در بخشي از مباحثات مربوط به Silverlight1.1 در MIX07 نيمچه اطلاعيهاي وجود داشت كه ممكن است برخي را كنجكاو كرده باشد.
اگر پوستر سيلورلايت (Silverlight) كه براد (Brad) به آن اشاره كرده را بررسي كنيد، متوجه ميشويد در سمت راست پوستر در زير كادري كه عبارت Framework Languages نوشته شده، دو مورد براي Visual Basic فهرست شده است. اولي Visual Basic است و در انتها يك VBx است كه نماد كوچكي با عنوان "Soon" در كنارش قرار دارد. بعد، اگر به صفحه اول وبلاگ جيم هاگونين (Jim Hugunin) نگاهي بياندازيد خواهيد ديد كه وي در مبحث DLR (Dynamic Language RunTime) گفته است (تاكيد روي ضمير مالكي از من است):
"در ابتدا چهار زبان مختلف را بر اساس DLR ايجاد كرديم: Python، JavaScript (EcmaScript 3.0)، Visual Basic و Ruby. ما امروز Python و Ruby را به عنوان بخشي از نسخه Silverlight 1.1 alpha1 كه به زودي عرضه ميشود ارسال كرديم. من و جان لم (John Lam) اكنون داريم نسخه آزمايشي اين چهار زبان را ارايه ميكنيم. ضمنا در طول سخنراني كه فردا در ساعت 11:45 داريم، نشان خواهيم داد كه VB و Ruby با هم كار خواهند كرد."
و بعد اگر سري به صفحه اول بلاگ جيسون زندر (Jason Zander) بزنيد خواهيد ديد كه در مبحثي با عنوان .NET Framework support for Silverlight گفته است (باز هم تاكيد روي ضمير مالكي از سوي من است):
"به كمك DLR جديد ما از IronPython ، IronRuby ، JavaScript و كامپايلر جديد VBx حمايت قرار ميكنيم."
و بالاخره ميتوانيد براي گرفتن اشارات بيشتر به بلاگ آماندا سيلور مراجعه كنيد و مبحثي با عنوان What the Mix07 announcement mean for the VB developer را ملاحظه كنيد.
خب واقعا معني همه اينها چيست؟ اين VBx چيست؟ ما چه بايد بكنيم؟
خب، همين طور كه اشاره شد، چيزهايي هست كه در اين چند ماه اخير داشتم روي آنها كار ميكردم ولي نميتوانستم راجع به آنها صحبت كنم. اما با اين آگهيهايي كه درباره MIX07 دادهايم حالا ديگر ميتوانم آن را كمي از لفافه خارج كنم. VBx نامي است كه فعلا براي نسخه اصلي بعدي Visual Basic در نظر گرفته ايم (حرف "x" قرار است كه نماد حرف "X" در سيستم ارقام رومي يا همان عدد 10 باشد، چون شماره نسخه اصلي بعدي Visual Basic به 10 ميرسد. در واقع بايد x را با حروف بزرگ نوشت، اما بعضيها نگران بودند كه در آن صورت شايد با كنترلهاي VBX اشتباه گرفته شود. ولي در موتورهاي جستجو در حقيقت تمايزي بين آنها نخواهد بود. چون اكثر موتورهاي جستجو مثل خود VB نسبت به كوچكي و بزرگي حروف حساس نيستند.)
فعلا در اولين مرحله از بازي، هنوز شكل كامل نسخه بعدي فاقد جزييات كافي است. البته، هنوز براي اركاس (Orcas) هيچ كاري نكردهايم. ما هنوز حتي برنامهريزي رسمي براي فرآيند ساخت چيزي فراتر از اركاس شروع هم نكردهايم. البته بسياري از ويژگيهاي كه قرار است پس از اركاس ارايه كنيم، حتي در اين مرحله نخستين كار برايمان روشن است:
1) ويژوال بيسيك بايد به يك زبان "آماده ميزباني" تبديل شود كه به راحتي بتواند، بسته به آنچه ميتوانيد با VBScript و VBA انجام دهيد، اسكريپتنويسي برنامه را انجام دهد. مضافا اينكه موتور اين زبان "آماده ميزباني" بايد كاملا قابل حمل باشد تا بتوان آن را به هر بسترهاي (platform) كه توسط CLR پشتيباني ميشود و همين طور بسترههايي كه توسط سيلورلايت پشتيباني ميشوند (مثل اسكريپت سمت سرويسگير در مرورگرهاي Mac ...) انتقال داد.
2) اجراي اتصال پويا به دادهها (اتصال ديررس) بايد تا حد ممكن شبيه به اتصال ايستا باشد.
3) توليد نوع (type) و متد پويا بايد كاملا توسط زبان حمايت شود و قابل استفاده باشد.
4) ويژوال بيسيك بايد به طور كامل يك REPL (Read-Eval-Print Loop) را پشتيباني كند. اين امر، يعني پشتيبانياي كه در حال حاضر براي يك REPL وجود دارد از پنجره اوليه ويژوال استوديو برداشته شود و سپس دو كار ديگر انجام شود: تعميم REPL به كل زيان و افزودن قابليت ميزباني REPL به محيط خارج از Visual Studio.
اگر به فهرست ويژگيها نگاه كنيد، ميبينيد كه اكثر آنها با هدف اصلي DLR سنخيت دارند. در نتيجه ما براي اين كه نمونه اوليه برخي از اين ويژگيها را در Visual Basic بسازيم، همكاري نزديكي با گروه DLR داشتهايم. اگر شما جز سران MVP بوديد يا ديروز به سخنراني Jim و John Lam در MIX رفتيد پس اين نمونه اوليه را - كه ما دوباره براي مدتي آن را VBx ميناميم - در عمل ديدهايد. من و آماندا روي چند screencasts [ذخيره و نمايش خروحي صفحه کامپيوتر را اصطلاحا screencast ميگويند که معمولا با يک صداي پسزمينه يك گوينده همراه است. - مترجم] و موارد ديگري كار ميكنيم تا در آينده نزديك آن را به همگان ارايه دهيم. اما اين نمونه اوليه در اصل تركيبي از DLR و سرويسهاي زبان Visual Basic است. اين نمونه اوليه بسياري از ويژگيهاي فوقالذكر و حتي بيشتر از آنها را به عرضه ميكند. به عنوان مثال چون VBx بر روي DLR ساخته شده، به صورت خودكار با بسياري از زبانهاي ديگري هم كه براساس DLR ساخته شدهاند در تعامل است. بنابراين كد VBx ميتواند با كتابخانههايي كه با Python يا JavaScript يا Ruby نوشته شدهاند به صورت يكپارچه در تعامل باشد و آن زبانها هم ميتوانند به صورت يكپارچه با كدي كه در VBx كامپايل شده در تعامل باشند.
با وجود اينكه در مورد VBx هيجان زده هستيم، اما متاسفانه در حال حاضر، چيزي جز نسخه Silverlight 1.1 alpha1 كه چندي پيش عرضه نيست. با اين همه، همين الان هم مقدار قابل توجهي از وظايف پيادهسازي شده را داريم ولي، البته هنوز كارهاي زيادي هم هستند كه بايد انجام شوند تا پشتياني زبان VBx در سطحي مطرح شود كه احساس كنيم براي پيشنمايش يك انجمن پربار لازم است. برنامه ما اين است كه كمي بعد، در همين سال جاري يك پيشنمايش در يك انجمن تخصصي داشته باشيم و همچنين در PDC07 بيشتر درباره جزييات VBx صحبت كنيم