لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه: 42
تفاوت VB با VB.NET
مقدمه ای بر Microsoft Visual Studio .NET
Net بزرگترین پیشرفت بعد از ویژوال بیسیک است که تفاوت های زیادی با ویژوال بیسیک 6 دارد .ویژگی های VB.Net در زمینه برنامه نویسی اینترنت و پایگاه داده به نحو قابل توجهی بهبود یافته و این مزایای زیادی را برای برنامه نویسان حرفه ای دارد . و جالب آن است که محیط برنامه نویسی آن برای تمام کامپایلر ها ی موجود مثل ویژوال سی شارپ .net و ویژوال بیسیک net . یکسان است ویژوال استودیو .net دارای چهار ویرایش مختلف است ( حرفه ای و استاندارد و توسعه دهنده و آرشیتکت)و شما با ویژوال .net می توانید برنامه های تحت ویندوز را بسازید
پاسخ ساده این است که «فناوری از مایکروسافت است که تمامی فناوریهای دیگر مایکروسافت در آینده به آن وابسته خواهند بود.
داتنت یک تغییر فنی عمده است. همانطور که دنیای کامپیوتر از DOS به ویندوز منتقل شد، حال نیز به داتنت منتقل میشود. اما تعجب نکنید اگر کسی گفت «من از داتنت خوشم نمیآید و ترجیح میدهم به COM و C++ وفادار بمانم». آدمهای زیادی هستند که به جای آخرین مدل هوندا ترجیح میدهند از گاری استفاده کنند.
فناوری داتنت توسط مایکروسافت معرفی شد تا بازار رقابت را از جاوا شرکت SUN برباید. چند سال قبل، مایکروسافت فقط VC++ و VB را برای رقابت با جاوا داشت، و جاوا با سرعت بازار را به انحصار خود درمیآورد. با وابستهتر شدن دنیا به اینترنت/وب و تبدیل ابزارهای وابسته به جاوا به بهترین وسیله تولید کاربردهای وب، به نظر میرسید که مایکروسافت رقابت را باخته بود. هزاران برنامهنویس از VC++ و VB به سمت جاوا حرکت کردند. این زنگ خطری برای مایکروسافت بود و بسیاری از طرفداران مایکروسافت میپرسیدند «آیا مایکروسافت خواب است؟» اما مایکروسافت پاسخ را در اختیار داشت و یک روز صبح اعلام کرد: «ما خواب نیستیم. ما پاسخ شما را در اختیار داریم.» و آن پاسخ داتنت بود.
مایکروسافت سابقه طولانی در آغاز با تاخیر اما رسیدن با سرعت دارد. این موضوع در مورد داتنت نیز صدق میکند. مایکروسافت بهترین افرادش را مشغول پروژه محرمانهای به نام سرویسهای ویندوز نسل بعد (NGWS: Next Generation Windows Services) نمود. تحت نظر مستقیم آقای بیل گیتس. نتیجه این پروژه چیزی است که ما امروزه به نام داتنت میشناسیم. اگرچه داتنت اغلب ایدههایش را از J2EE شرکت سان قرض کرده است اما عملکردش به واقع، رقبایش را پشت سر گذشته است.
VC++ شرکت مایکروسافت ابزار قدرتمند اما بیش از اندازه پیچیدهای بود. تعداد نوع دادههای آن بیش از حد بوده و استفاده کنندگان باید کتابخانههای بسیاری از جمله Windows SDK, MFC, ATL, COM و ... را میآموختند. مشکلات انطباق انواع دادهای در زمان تبادل داده میان لایههای مختلف وجود داشت. از طرفی، ویژوال بیسیک بیش از اندازه آسان بود، و بسیاری از برنامهنویسان حرفهای به همین دلیل از آن تنفر داشتند. اگرچه ویژوال بیسیک به سهولت مورد استفاده قرار میگرفت، انعطاف لازم را جهت تولید کاربردهای جدی نداشت. به همین دلیل جاوا شرکت سان گزینه بسیار خوبی بود. جاوا انعطاف و قدرت C++ و در عین حال سهولت لازم را جهت جلب توجه برنامهنویسان VB در اختیار داشت.
مایکروسافت این فاکتورها را شناسایی کرده و با در نظر گرفتن آنها داتنت را معرفی کرد. تمام پیچیدگیهای ناخواسته حذف شدهاند و یک مدل برنامهنویسی خالص شیگرا معرفی شده است. این موضوع زندگی یک برنامهنویس را بسیار ساده میکند.
چارچوب داتنت تنها یک کتابخانه کلاس دارد. و این تنها چیزی است که برنامهنویسان باید بیاموزند!!! فرقی نمیکند که کدشان را با C#، VB.NET یا J# بنویسند تنها باید از کتابخانه کلاس داتنت استفاده کنند. هیچ کلاسی مختص یک زبان نیست. کاری نیست که بتوان با یک زبان انجام داد و با زبان دیگر داتنت نتوان انجام نداد. شما میتوانید کدی در C# یا VB.NET با همان تعداد خط، همان عملکرد و همان کارایی بنویسید، زیرا همه از همان کتابخانه کلاس داتنت استفاده میکنند.
داتنت چیست؟
یک چارچوب مستقل از platform است. لایهای میان سیستمعامل و زبان برنامهنویسی است. بسیاری از زبانهای برنامهنویسی از جمله VB.NET، C# و ... را پشتیبانی میکند. داتنت مجموعهای مشترک از کتابخانههای کلاس را تأمین میکند که میتوانند از هر زبان برنامهنویسی مبتنی بر داتنت مورد دسترسی قرار گیرند. مجموعهای جداگانهای از کلاسها و کتابخانهها برای هر زبان وجود ندارد. اگر شما یک زبان داتنت را بدانید، میتوانید به هر زبان داتنت کد بنویسید!!! در نسخههای جدید ویندوز، داتنت به صورت رایگان به عنوان بخشی از سیستمعامل منتشر شده و کاربران هرگز نباید داتنت را به صورت جداگانه نصب کنند.داتنت چه چیزی نیست؟
داتنت سیستمعامل نیست. داتنت زبان برنامهنویسی نیست.«دات نت یک چارچوب است»
آیا توسط این تعریف سردرگم شدهاید؟ اشکالی ندارد. واقعا سردرگم کننده هست!
ما نمیتوانیم داتنت را به صورت یک چیز تعریف کنیم. داتنت یک platform جدید، ساده و توسعهیافته برنامهنویسی است. زبان برنامهنویسی نیست اما چندین زبان برنامهنویسی را پشتیبانی میکند. به طور پیشفرض داتنت همراه با چند زبان برنامهنویسی شامل C#، VB.NET، J# و C++ مدیریت شده، همراه است. داتنت یک platform مشترک برای همه این زبانهای پشتیبانی شده است. یک کتابخانه کلاس مشترک دارد که میتواند از هر کدام از زبانهای پشتیبانی شده، صدا زده شود. بنابراین هنگامی که برنامهنویسان زبان خود را عوض میکنند لازم نیست کتابخانههای زیادی را بیاموزند. فقط syntax هر زبان تغییر میکند.
وقتی شما به هر زبانی کد نوشته و کامپایل میکنید، آن کد به یک زبان میانی (Microsoft Intermediate Language – MSIL) تبدیل میشود. بنابراین کد کامپایل شده قابل اجرا، در حقیقت شامل IL است و نه زبان ماشین قابل اجرا. هنگامی که کاربرد داتنت اجرا میشود، چارچوب داتنت در کامپیوتر هدف، اجرا را به عهده میگیرد. (برای اجرای یک برنامه داتنت، چارچوب داتنت باید بر روی کامپیوتر هدف نصب شده باشد.) سپس چارچوب داتنت صدازدنهای کتابخانههای کلاس داتنت را به API های مربوط به سیستمعامل تبدیل میکند.
وقتی شما به C# یا VB.NET کد مینویسید، در حقیقت متدهای واحدی از کتابخانههای کلاس داتنت را صدا میزنید. همان چارچوب داتنت کاربردهای C# یا VB.NET را اجرا میکند. بنابراین بخاطر زبانی که با آن کد مینویسید، تفاوتی در عملکرد نخواهد بود.
ویژوال استودیو داتنت چیست؟
بسیاری از افراد میان ویژوال استودیو داتنت (VS.NET) و فناوری داتنت سردرگم میشوند. VS.NET فقط یک ویرایشگر است، که توسط مایکروسافت ایجاد شده تا به برنامهنویسان کمک کند برنامههای داتنت را با سهولت بیشتری بنویسند. ویرایشگر VS.NET به طور خودکار کد زیادی را تولید کرده، امکان drag & drop کنترلها را به فرم فراهم کرده، میانبرهایی به کمپایل و ساخت کاربردها تامین کرده و ...
برای برنامهنویسی داتنت، VS.NET یک نیازمندی نیست. شما میتوانید به سادگی از notepad یا هر ویرایشگر دیگری جهت نوشتن کد داتنت نیز استفاده کنید. و میتوانید برنامههای داتنت را از command prompt کمپایل کنید.
خب، چیزی که گفته شده به صورت تئوریک صحیح است، اما اگر تصمیم گرفتهاید از notepad برای برنامهنویسی داتنت استفاده کنید، تا زمانی که بتوانید چند کاربرد ساده تهیه کنید، مایکروسافت فناوری جدیدی معرفی کرده و داتنت از صحنه خارج شده است. احتمالا این را نمیخواهید. پس اجازه دهید از VS.NET استفاده کنیم، مثل سایر برنامهنویسان داتنت.
در درسهای آینده در مورد ویژوال استودیو داتنت بیشتر صحبت خواهیم کرد.
زبانهای پشتیبانی شده توسط داتنت
داتنت از زبانهای زیر پشتیبانی میکند:
C#VB.NETC++J#زبانهای بالا متعلق به مایکروسافت هستند. گروههای سوم زیادی نیز مشغول نوشتن کمپایلرهایی برای زبانهای دیگر با پشتیبانی داتنت هستند. (آنها را یافته و پست کنید...) تفاوت میان VB و VB.NET؟ باور کنید به جز نامشان تشابه زیادی میان این دو نیست. VB.NET یک زبان برنامهنویسی کاملا جدید است. صرفا syntax قدیمی را حفظ کرده است. بنابراین اگر شما یک برنامهنویس VB هستید، احتمالا بخاطر syntax هم که شده VB.NET را بیشتر از C# دوست خواهید داشت.
علاوه بر این، VB.NET هنوز از بسیاری از توابع قدیمی VB حمایت میکند، البته فقط به منظور انطباق عقبگرد.
اما اگر شما یک برنامهنویس جدی داتنت هستید، توصیه میکنم هیچگاه از یک تابع قدیمی VB در VB.NET استفاده نکیند. پس انتقال از VB به VB.NET مثل یادگیری یک زبان برنامهنویسی جدید است، با تشابهات بسیار اندکی میان آنها.
C# یا VB.NET ؟ کدام را انتخاب کنیم؟
همانطور که در بالا گفتم، هیچ فرقی نمیکند. چه کدتان را به VB.NET بنویسید چه به C#، پس از کمپایل، به MSIL (Microsoft Intermediate Language) ترجمه خواهد شد. این MSIL است که شما بصورت یک DLL یا EXE به مشتری تحویل خواهید داد. MSIL توسط چارچوب داتنت اجرا خواهد شد، صرفنظر از اینکه در ابتدا به C# نوشته شده باشد یا VB.NET.
MSIL حاصل از C# و VB.NET تقریبا 99% مشابه است. بسیاری اعتقاد دارند که C# قدرت C++ و VB.NET کاربردوستی VB را دارد. این حقیقت ندارد. هر دو به طور مساوی قدرتمند و کاربردوست هستند.
NET انطباق عقبگرد با ویژوال بیسیک قدیمی دار. بنابراین از توابع قدیمی VB پشتیبانی میکند. از طرفی C# یک زبان جدید و تمیز است. برخی، صرفا بخاطر این کمپایلر تمیز، به شدت از C# در مقابل VB.NET طرفداری میکنند.بسیاری از برنامهنویسان قدیمی VB دوست دارند به VB.NET بچسبند و میشود گفت از C# میترسند. من مطمئنم که برای این افراد بیش از چند روز طول نمیکشد که با syntax C# آشنا شوند.
آیا داتنت مستقل از platform است؟
خیلیها این سوال را میپرسند «جاوا مستقل از platform است، داتنت چطور؟»
پاسخ «بله» و «خیر» است!
کدی که شما مینویسید مستقل از platform است، زیرا هرچه که شما بنویسید به MSIL کمپایل میشود. هیچ کد محلی وجود ندارد که وابسته به سیستمعامل یا CPU باشد. اما هنگامی که MSIL اجرا میشود، چارچوب داتنت در سیستم هدف، MSIL را به کد platform محلی تبدیل خواهد کرد.
بنابراین، اگر شما exe داتنت را در یک ماشین ویندوز اجرا کنید، چارچوب داتنت برای ویندوز آن را به کد محلی ویندوز تبدیل کرده و اجرا خواهد کرد. اگر کاربرد داتنت خود را در یونیکس یا لینوکس اجرا کنید، چارچوب داتنت برای یونیکس/لینوکس کد شما را به کد محلی یونیکس/لینوکس تبدیل کرده و اجرا خواهد نمود. بنابراین، کد شما کاملا مستقل از platform است و هر جایی اجرا میشود!
آیا داتنت ارزش یادگیری دارد؟
آیا مطمئن هستید که شغل بسیار خوبی دارید و این شغل برای 10 سال آینده امنیت دارد؟ در این صورت لازم نیست وقتتان را با یادگیری این فناوری جدید هدر دهید.
اگر در مورد آینده شغتان اطمینان ندارید، بهتر است کمی وقت صرف کرده و سوخت لازم برای حرکت در چند سال آینده را تامین کنید!
یادگیری داتنت چقدر زمان میبرد؟
بستگی دارد شما چقدر سریع یاد میگیرید. اگر شما با ویژوال بیسیک یا C++ آشنایی دارید، میتوانید در عرض 1-2 ماه خودتان را به داتنت برسانید. اگر تازه مشغول برنامهنویسی شدهاید، 6 ماه مدت قابل قبولی برای آشنایی نسبی با دنیای داتنت است.
آینده داتنت
در حال حاضر مایکروسافت تمامی فناوریهایش را مبتنی بر داتنت یا وابسته به داتنت تولید میکند. نسخه جدید SQL Server حتی نوشتن روالهای ذخیره شده را در زبانهای داتنت پشتیبانی میکند. به طور پیشفرض runtime داتنت بخشی از تمام سیستمعاملها شده است.
طولی نخواهد کشید، که اگر تمایل دارید از فناوریهای مایکروسافت برای برنامهنویسی استفاده کنید، داتنت تنها گزینه خواهد بود (میتوان گفت همین الآن اینگونه است).
برنامه نویسی vb.net
این مقاله به شما کمک میکند تا با مفاهیم پایهای برنامه نویسی شیئ گرا مانند کلاسها، اشیاء، اینترفیسها، چند ریختی و وراثت و همچنین چگونگی استفاده از آشنا شوید.
مقدمهای بر برنامه نویسی شیءگرا
برنامه نویسی در محیط .NET بر پایه اشیاء انجام میگیرد. اشیا طرحهایی برنامهپذیرند که میتوانند نمونهایی از بستههای از دادهای مرتبط و دستورات باشند. اشیاء طرحهای کامل و خاصی برای دیگر اعضای محیط برنامه هستند، بدون این که جزییات کارهای درونی خود شیئ مطرح شود. اشیاء از یک قالب به نام کلاس ساخته میشوند. کلاسهای کتابخانهای پایهای .NET یک سری کلاسهایی برای درست کردن اشیاء در برنامههایتان آماده کردهاند. همچنین شما میتوانید کلاسهای اختصاصی خودتان را نیز ساخته و استفاده کنید. در این مقاله شما با مقدمات برنامه نویسی شیئ گرا آشنا میشوید.
اشیاء، اعضا و تجرد (Abstraction)
یک شیئ (Object) یک طرح برنامهپذیر است که چیزهایی را نشان میدهد. در دنیای واقعی، ماشین، دوچرخه، کامپیوتر و... شیئ هستند. هر کدام از این اشیاء یک سری اعمال و خصوصیات دارند. در برنامه شما، یک شیئ شاید یک فرم یا یک کنترل مانند یک دکمه (Button) یا یک Database Connection یا هر چیز دیگری باشد. هر شیئ یک واحد عملیاتی کامل است، و شامل همه دادهای مورد نیازش و دارای همه اعمالی که برای آن ساخته شده است میباشد.
کلاسها (Classes)
کلاسها قالبهایی برای اشیاء هستند. کلاسها را میتوان، ''طرحهای اولیه'' برای اشیاء فرض کرد. آنها تمام عضوهای یک شیئ را تعیین، و رفتارهای آن را نیز تعریف میکنند. وقتی که یک کلاس مقداردهی شد، یک نمونه درون حافظهای از آن کلاس ساخته میشود. این نمونه شیئ نامیده میشود. برای نمونه سازی از کلاس از کلمه کلیدی New استفاده میشود.
' Declares a variable of the Widget type
Dim myWidget As Widget
' Instantiates a new Widget object and assigns it to the myWidget variable
myWidget = New Widget()
وقتی یک نمونه از یک کلاس ساخته میشود، یک کپی از نمونه داده بوسیله آن کلاسی که در حافظه ساخته شده تعریف میشود و به مرجع متغییر داده میشود. هر نمونه از کلاس مستقل از دیگر نمونه هاست و میتواند یک طرح جداگانه برنامه پذیر باشد. درهر لحظه، محدودیتی برای تعداد کپی های یک کلاس (که قبلا تعریف شده) وجود ندارد. برای مقایسه، در جهان واقعی، اگر ماشین یک شیئ باشد، کلاس یک طرح برای ماشین است. یک طرح میتواند برای هر تعداد ماشین مورد استفاده قرار گیرد و تغییرات بر روی یک ماشین، تاثیری بر دیگر ماشینها نمیگذارد.
اشیاء و اعضاء (Members)
اشیاء ترکیبی از عضوها هستند. اعضا، تشکیل شده از خصوصیات (Properties)، فیلدها، متدها و رویدادها (Events) و هر چیزی که اطلاعات و اعمالی داشته باشد. فیلدها و خصوصیات، اعضای دادهای هر شیئ هستند. متدها اعمالی هستند که شیئ میتواند انجام دهد و رویدادها اطلاعاتی هستند که زمانیکه اتفاقی در برنامه میافتد یک شیئ به اشیاء دیگر میفرستد یا از آنها دریافت میکند.
این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید