1. مقدمه
نسخه PDF این سند در |ICI| موجود است.
VB.NET یک زبان نسبتاً جدید است. این زبان از سال ۲۰۰۰ در نسخههای بتا در دسترس بوده است، پیش از آنکه در فوریه ۲۰۰۲ به طور رسمی به همراه پلتفرم .NET مایکروسافت، که به آن مرتبط است، منتشر شود. VB.NET تنها میتواند در این محیط زمان اجرا اجرا شود که در حال حاضر فقط روی سیستمهای ویندوز NT، 2000 و XP در دسترس است.
با پلتفرم .NET، سه زبان جدید پدید آمدهاند: C#، VB.NET و JSCRIPT.NET. C# تا حد زیادی یک «کپی» از جاوا است. VB.NET و JSCRIPT.NET افزونههایی از ویژوال بیسیک و جیاسکریپت برای پلتفرم .NET هستند. این پلتفرم مجموعهای بسیار بزرگ از کلاسها را در اختیار برنامههای در حال اجرا در آن قرار میدهد که شباهت زیادی به کلاسهای موجود در ماشینهای مجازی جاوا دارند. به طور تقریبی میتوان گفت که پلتفرم .NET یک محیط زمان اجرا (runtime) مشابه ماشین مجازی جاوا است. با این حال، دو تفاوت مهم وجود دارد که باید به آنها توجه کرد:
- پلتفرم .NET تنها روی سیستمعامل ویندوز اجرا میشود، در حالی که جاوا روی پلتفرمهای مختلفی (ویندوز، یونیکس، مکینتاش) اجرا میشود.
- پلتفرم .NET امکان اجرای برنامههای نوشته شده به زبانهای مختلف را فراهم میکند. تنها شرط این است که کامپایلر این زبانها قادر به تولید کد IL (زبان میانی) باشد، که توسط ماشین مجازی .NET اجرا میشود. تمام کلاسهای .NET برای زبانهای سازگار با .NET در دسترس هستند، که تا حدی تفاوتهای بین زبانها را در صورتی که برنامهها از این کلاسها به طور گسترده استفاده کنند، مبهم میسازد. انتخاب یک زبان .NET به جای عملکرد، به یک مسئله سلیقهای شخصی تبدیل میشود.
همانطور که جاوا را نمیتوان نادیده گرفت، پلتفرم .NET را نیز نمیتوان نادیده گرفت، هم به دلیل تعداد بسیار زیاد ماشینهای ویندوزی در حال استفاده و هم به دلیل تلاشهای مایکروسافت برای ترویج و تثبیت آن. به نظر میرسد که C#، بهویژه برای برنامهنویسان جاوا، با توجه به شباهت بسیار زیاد این دو زبان، انتخاب خوبی برای شروع کار با .NET است. پس از آن، میتوان به راحتی از C# به VB.NET یا زبان .NET دیگری سوئیچ کرد. سینتکس تغییر خواهد کرد، اما کلاسهای NET ثابت خواهند ماند. برخلاف ظاهر، انتقال از VB به VB.NET دشوار است. VB یک زبان شیءگرا نیست، در حالی که VB.NET کاملاً شیءگرا است. بنابراین برنامهنویس VB با مفهومی مواجه خواهد شد که بهطور کامل درک نمیکند. به نظر میرسد سادهتر باشد که با کنار گذاشتن آنچه درباره VB میدانیم، به این مسائل بپردازیم. در نتیجه، در ادامه تنها به چند بار ارجاع به VB بسنده میکنیم.
این سند یک دورهٔ جامع نیست. این سند برای افرادی است که پیش از این با برنامهنویسی آشنا هستند و میخواهند دربارهٔ VB.NET بیاموزند. این سند ساختار سند «مقدمهای بر زبان C#» از همان نویسنده را دنبال میکند تا مقایسه بین این دو زبان آسانتر شود. در واقع، من در اینجا از مترجمهای خودکار C# به VB.NET استفاده کردهام. اگرچه این مترجمها کاملاً بینقص نیستند، اما با این حال بسته به مورد، بین ۸۰ تا ۱۰۰ درصد کار را انجام میدهند. هنگام مطالعه کد برنامه VB.NET که در ادامه میآید، لطفاً به خاطر داشته باشید که این کد در ابتدا توسط یک ماشین تولید شده و سپس در موارد لازم توسط من بازنگری شده است. بنابراین ممکن است با «اصطلاحات» برنامهنویسی مواجه شوید که خودتان استفاده نکرده باشید.
کتابهای زیر برایم مفید بودند:
- برنامهنویسی حرفهای C#، Wrox
- C# و .NET، ژرار لبلانک، ایروِلز
این دو کتاب عالی هستند که مطالعهٔ آنها را توصیه میکنم. ترجمهٔ برنامههای C# به VB.NET توسط مترجمی در آدرس اینترنتی انجام شده است. (مارس ۲۰۰۴) http://authors.aspalliance.com/aldotnet/examples/translate.aspx. سایر مطالب از مستندات Visual studio.NET بهدست آمدهاند.
Serge Tahé، مارس ۲۰۰۴