زبانهای برنامه نویسی

تاريخچه ويژوال بيسيك .NET

 ويژوال بيسيك .NET توسعه يافته BASIC مي باشد. BASIC توسط پروفسور John Kemeny و Thomas Kurtz از كالج Dartmouth براي نوشتن برنامه هاي ساده ايجاد شد و اين طراحي از اواسط دهه ۱۹۶۰ آغاز گرديد.

هدف از BASIC اوليه, آموزش برنامه نويسي بود. BASIC توسط انواع متفاوتي از كامپيوترها مورد استفاده قرار گرفت و سرمشق ساير زبان ها شد. با توسعه واسط گرافيكي كاربر (GUI) توسط ميكروسافت, در اواخر دهه ۱۹۸۰ و اوايل ۱۹۹۰ بيسيك تكامل تدريجي خود را به سوي ويژوال بيسيك انجام داده بود كه توسط گروه ميكروسافت در سال ۱۹۹۱ انجام  پذيرفت. در زمانيكه ويژوال بيسيك در مرحله ظهور بود, توسعه برنامه هاي كاربردي تحت ويندوز ميكروسافت عملي طاقت فرسا بود. با آمدن ويژوال بيسيك ايجاد برنامه هاي كاربردي تحت ويندوز بسيار آسان شد.

ويژوال بيسيك زبان برنامه نويسي ميكروسافت ويندوز است. برنامه هاي ويژوال بيسيك در محيط توسعه يافته مجتمع (IDE) طراحي و ساخته ميشوند. IDE به برنامه نويس اين اجازه را مي دهد كه برنامه هاي خود را به صورت مناسب و راحت ايجاد, اجرا و خطا يابي كند. پردازش مربوط به توليد سريع يك نرم افزار كاربردي را اغلب RAD (Rapid Application Development) مي نامند.

ويژوال بيسيك يكي از زبانهاي RAD بوده و بطور وسيعي در دنيا مورد استفاده مي باشد. ويژوال بيسيك .NET مشتق شده از زبان برنامه نويسي BASIC است. ويژوال بيسيك خصيصه هاي متمايز كننده تري نسبت به ساير زبان ها برنامه نويسي دارد مانند واسط گرافيكي كاربر, رسيدگي به رويداد (event handling), دسترسي به .Win32 API ويژگي هاي شيي گرا, رسيدگي به خطا, برنامه نويسي ساخت يافته و ساير موارد.

زبان ويژوال C

اين زبان كامپايلر قدرتمندي است كه بااستفاده ازآن ميتوان برنامه هاي بزرگ وپيچيده رادر زمان اندكي ايجاد كرد . محيط ويژوال C + + محيط يكپارچه اي است كه درآن ميتوان برنامه را ايجاد,ترجمه,اجرا وعيب يابي كردبه عبارت ديگر پكيج C+ + حاوي مولفه هايي مانند ويراستار,كامپايلر,پيوند دهنده,برنامه هاي سودمند ,عيب ياب وسايرابزارهايي است كه براي طراحي برنامه در محيط WINبكار مي روند.

محيط توسعه پكيج C بنام DEVELOPER STUDIOاست كه آنرابه اختصار محيط توسعه مي ناميم تمام ابزارهاي ديگر ويژوال C + +را جامعيت مي بخشدوبه برنامه نويس اجازه ميدهدتا فرايند توسعه برنامه را از طريق پنجره ها, كادرهاي محاوره اي ,منوها,نوارهاي ابزار,كليدهاي ميانبروماكروها ببيندوكنترل كنديعني اين محيط هماننديك اتاق كنترل است.

انواع فايلهادر ويژوال C

فايل محيط برنامه(DSW ) :اين فايل براي نگهداري محيط كاري پروژه بكار مي رود.

فايل برنامه: براي نگهداري برنامه ويژوال C + + بكار ميرود.

فايل ( HEADER) : آنرافايل سرايندمي گويند كه محتويات آنهادربرنامه هاي ديگر قابل استفاده است .

فايل بيت نگاشت( BMP): براي نگهداري تصاوير (BMP ) بكار مي رود .

فايل ايكن (ICO ) :براي نگهداري ايكن.

فايل ترجمه شده (OBJ): پس از كامپايل كردن در برنامه ايجاد مي شودوحاوي دستورات ماشين است .

فايل اجرائي (EXE ): حاوي برنامه اجرايي است .

فايل اكتيوايكس(OCX) : براي نگهداري اكتيوايكسهاي ويژوال C++بكار ميرود.

اكتيوايكس قلب محاسبات توزيع شده مايكرو سافت است كه كامپيوتر مارا در اينترنت واينترانت قرار مي دهد.

ويژوال بيسيك ۶

اين برنامه در برگيرنده ابزارهاي متعددي است كه با همكاري يكديگر امكان توسعه برنامه هاي كاربردي را فراهم مي آورند. اين ابزارها به كاربر امكان مي دهند تا بطور كامل از ظاهر برنامه خود به هنگام اتمام آن اطلاع يابد, چرا كه اين زبانها تازماني كه برنامه بطور كامل به پايان نرسيده باشد ظاهر برنامه را به نمايش در نمي آورد.

ويژوال بيسيك بسرعت در حال تبديل شدن به يكي از اصلي ترين زبانهاي برنامه نويسي كاربردي است در حاليكه رقيبان آن مانند POWER BUILDER بسختي در تقلا هستند تا فاصله خود را با ويژوال بيسيك حفظ كنند.

با ارائه هر نسخه جديد توسط ماكروسافت قابليتهاي VB به توسعه دهندگان امكان ايجاد برنامه هاي كاربردي تطبيق پذيرتر ميدهد.

VB5در واقع چاشني انفجاري در بازار كنترلهاي اكتيوايكس بودو VB6توازني مابين DTMLوتوسعه برنامه هاي كاربردي مبتني بر COM ايجاد كرد.

نظري اجمالي بر delphi

دلفي بسته نرم افزاري نسبتا” جديدي مي باشد كه به جهان كامپيوتر عرضه شد وامكانات برنامه نويسي پيشرفته و قدرتمندي را براي استفاده كنندگان سيستمهاي كامپيسوتري به ارمغان آورده , مترجم سريع وقدرتمند آن امكان ترجمه سريع برنامه ها را فراهم آورده .

دلفي يكي از پركاربردترين زبانهاي موجود در دنياي نرم افزار است كه امروزه در زمينه هاي مختلفي از جمله برنامه هاي گرافيكي , چندرسانه اي ,پايگاه داده ها ,و… بخوبي از آن استفاده مي شود .

ويرايشهاي مختلق دلفی 

 ۱-STANDARD

۲- PROFSSIONAL 

 ۳- ENTERPRISE

كه هر كدام داراي امكانات وويژگيهاي خاصي بوده و براي مقاصد خاصي طراحي شده اند.

اما همه آنها داراي ويژگيهاي مشابه ومشتركي نيز هستند و مي توانند براي مقاصد عمومي مورد استفاده قرار گيرند.

برنامه نويسي شئ گرايي كه در دلفي وجود دارد مجموعاي است از عبارات شئ گرا كه در پاسكال استاندارد تعبير شده و به آن object pascal گفته ميشود.

ويژوال فاكس پرو

اين برنامه همان فاكس پرو است كه بجاي تحت dos بودن تحت win است ,يك محيط شئ گراي قدرتمند است وبراي ساخت بانك اطلاعاتي وبرنامه هاي كاربردي بكار ميرودو همه ابزارهاي لازم براي مديريت داده ها را فراهم ميسازدبطوريكه ميتوانيم

۱-جداول حاوي اطلاعات را سازماندهي كنيم .

۲- پرس و جو كنيم

۳- سيستم بانك اطلاعاتي يكپارچه اي ايجاد كنيم

۴- برنامه كاربردي كامل براي مديريت داد ها جهت استفاده كاربران بنويسيم

آشنايي با ويژوال بيسيك ۲۰۰۵

در اين مقاله علاوه بر آشنايي با قابليت هاي ويژوال بيسيك دات نت ۲ كه ويژوال بيسيك ۲۰۰۵ نيز ناميده مي شود،باويژگي هاي مهم نرم افزاري ويژوال استوديوي ۲۰۰۵ نيز آشنا خواهيد شد. اين ويژگي ها كم و بيش در ساير زبان هاي دات نت ۲ حضور دارند. در اين مقاله فرض بر اين است كه شما قبلا با زبان برنامه نويسي ويژوال بيسيك دات نت آشنا هستيد و اكنون مايليد بدانيد نسخه جديد چه ويژگي هايي نسبت به نسخه فبلي دارد. در اين مقاله تغيير وتحولات زبان ويژوال بيسيك دات نت در دو گروه از پيشرفت ها بررسي شده است. اين دو دسته عبارتند از : پيشرفت هاي مربوط به ويرايشگر كد(Code Editor) و IDE، قابليت هاي جديد زبان برنامه نويسي ويژوال بيسيك دو گروه از قابليت هاي جديد و مهم ديگر هم وجود دارند: يكي امكانات جديدي كه ويژوال بيسيك۲۰۰۵براي ساختن برنامه نصب و انتشار از طريق وب تعبيه كرده است و ديگري قابليت هاي بهبود يافته IDE براي كار باSQL Server كه اميدواريم هر يك از اين دو را مفصلا در مقالات جداگانه اي در شما ره هاي آينده تشريح كنيم. منبع اصلي براي نگارش اين مقاله سايت MSDN و مقالات آن بوده است؛هر چند براي بررسي دقيق تر قابليت هاي مورد بحث ،نرم افزار ويژوال بيسيك ۲۰۰۵ را نصب كردم تا از نزديك كارايي اين قابليت ها و امكانات را بيازماييم.

هم قوي تر ،هم آسان ترزبان ويژوال بيسيك از قديم به آسان بودن معروف بوده است. بسياري از برنامه نويسان به اين دليل به سمت ويژوال بيسيك روي آوردند كه مايلند از امكانات يك زبان برنامه نويسي خوب استفاده كنند:بدون اينكه مجبور باشند با سطوح پيشرفته و پيچيده برنامه نويسي كه در زبان هاي ديگر وجود دارد،در گير شوند. به همين دليل نسخه ۶ ويژوال بيسيك به آسان بودن معروف بود. در حالي كه اغلب برنامه نويسان حرفه اي ،زبان C و جاوا را براي كارها و پروژه هاي پيشرفته ترجيح مي دادند. با ورود پلتفرم دات نت به دنياي سيستم عامل ويندوز ،در اين وضعيت تغييرات اساسي به وجود آمد. به طوري كه برنامه نئيسان پس از گذشت چند ماه از معرفي رسمي زبان هاي ويژوال بيسيك دات نت و سي شارپ متوجه شدند كه اين دو زبان از نظر قابليت هاي برنامه نويسي تقريبا برابرند و هر دو حتي از C++ هم بهتر نتيجه مي دهند. اما برنامه نويسان ويژوال بيسيك۶ خيلي زود به دشوار بودن مهاجرت از يك زبان غير شي گرا به يك زبان واقعا شي گرا مانند VB.NET  پي بردند. ب

ا اين حال برنامه نويساني كه اين مرحله انتقالي را طي كردند و به اين نتيجه رسيدند كه ويژوال بيسيك دات نت باز هم زبان  آسان و جذابي است؛ هر چند برنامه نويس را مجبور مي كند خود را به سطح بالاتر و پيشرفته از برنامه نويسي،يعني دنياي برنامه نويسي شي گرا برساند. اكنون آن دسته از برنامه نويساني كه سرانجام باVB.NET خو گرفته اند از خود مي پرسند: زبان VB.NET 2.0 واقعا چه مزيتي نسبت به نسخه قبلي دارد؟ آيا باز هم بايد طي يك روند دشوار ،به نسخه جديد مهاجرت كنيم؟ يا اين كه ويژوال بيسيك ۲۰۰۵ اساسا نسبت به VB.NET ارتقاي مهمي محسوب نمي شود؟ اگر اين مقاله را تا انتها دنبال كنيد،متوجه خواهيد شد كه مايكروسافت در نسخه ۲۰۰۵ويژوال استوديو(كه شامل ويژوال بيسيك دات نت ۲ نيز هست) كوشيده است در كنار ارتقاي كيفيت عملكرد Framework 2.0 بار ديگر آن فضاي دوست داشتني و دلچسب دوران ويژوال بيسيك۶ را به عرصه برنامه نويسي بازگرداند. بنابر اين آنچه كه بايد در VB.NET منتظرش باشيد،يك IDE قدرتمند تر است كه برنامه نويسي را از پيش آسان كرده است.

به ويژه بايد به مايكروسافت به دليل دلنشين كردن و ساده تر كردن كار با ابزار هاي اشكال زدايي(Debugging) و نيز آسان سازي روند مديريت خطا ها (Exception Handlind) كه تسياري از برنامه نويسان تازه كار از آن فراري هستند، تبريك گفت. در حقيقت مايكروسافت در نسخه جديد سعي كرده است برنامه نويسان را به كمك يك دو جين ابزار جانبي سودمند با پيچيده ترين تكنيك هاي برنامه نويسي شي گرا آشتي دهد و اهميت ويژوال استوديوي ۲۰۰۵  نيز در همين موضوع نهفته است.مجموعه ابزارها و امكانات جديد ويژوال بيسيك دات نت۲ در راستاي تعهد مايكروسافت به نظريه و رهيافت RAD (Rapid Application Development) كه زبان برنامه نويسي ويژوال بيسيك اساسا براي تحقق آن پديده آمده است،قابل توصيف هستند.

قابليت هاي جديد

ويژوال بيسيك دات نت ۲ در بر گيرنده چند قابليت هيجان انگيز ،سودمند و مهم است كه مسلما مورد توجه برنامه نويسان علاقمند به اين زبان قرار خواهد گرفت .قابليت اول اين است كه اگر معتقد بوديم كه زبان هاي ويژوال بيسيك دات نت و سي شارپ حدود ۹۰ درصد مشابه يكديگرند،اكنون همان اندك تفاوت ميان قابليت هاي اين دو در نسخه دوم دات نت از ميان رفته است و به جرات مي توان گفت هيچ تفاوت مهمي ميان اين دو زبان وجود ندارد؛جز اينكه برخي برنامه نويسان گرامر و Syntax زبان سي شارپ را كه (شباهت زيادي به جاوا دارد)بيشتر مي پسندند. دو مورد از تفاوتهاي جزئي اين دو زبان كه در نسخه اول دات نت وجود داشت و اينك به مجموعه قابليت هاي ويژوال بيسيك افزوده شده است عبارتند از:امكان مستند سازي سورس كد با استفاده از XML و قابليت Overloading Operator  يا تعريف عملگر هاي اضافي.

XMLDocumentation
به كمك اين قابليت مي توانيد اجزاي مختلف سورس كد برنامه خود را با فرمت XML مستند كنيد. اين مستندات قطعه قطعه بعدا مي توانند يك سند راهنماي كامل در باره سورس كد بسازد. ويژگي مذكور در ويژوال سي شارپ ۲۰۰۳ وجود دارد، اما ويژوال بيسيك۲۰۰۳ فاقد آن است. اكنون اين فابليت در نسخه جديد افزوده شده است. استفاده از اين فابليت بسيار آسان است. مثلا اگر تابعي بنويسيد و بالاي اولين خط آن (قبل از نام تابع) سه بار كاراكتر كوتيشن را تايپ كنيد و سپس Enter كنيد،با توجه به نام تابع و پارامتر هاي آن يك قطعه راهنماي خالي با فرمت XML درج مي شود كه مي توانيد آن را اصلاح و كامل كنيد.

<param name=”param”> </param>

“` <remarks></remarks>

Sub Testsub(ByVal  param1 As Integer)

End Sub

OperatorOverloading
يكي ديگر از قالبيت هاي سودمندي كه ويژوال بيسيك ۲۰۰۳ از آن محروم بود،امكان تعريف كردن عملگرهاي عمومي رياضي (۴ عمل اصلي )، عملگر هاي منطقي (NOT , OR, AND) و عملگر هاي مقايسه اي (مثل >,<,=) براي انواع داده ها،كلاس ها و اشياي تعريف شده توسط برنامه نويس بود. چنان كه مي دانيد در حالت عادي از عملگري مانند + فقط مي توان براي جمع زدن دو عدد يا متغيير عددي استفاده كرد. اما قالبيت Operator Overloading كه در دل منطق شي گرايي پلتفرم دات نت وجود دارد،امكان پيوند دادن دو مقدار رشته اي را از طريق اين عملگر فراهم مي سازد. مثلا مي توانيد يك متغير رشته اي با مقدار I am را با يك متغير ديگر با مقدار a developer به وسيله علامت + جمع بزنيد. در اين صورت آن عبارت به صورت I am a developer خواهد بود. اين ويژگي در برخي از كلاس هاي ديگر چارچوب دات نت نيز وجود دارد. اما متاسفانه در VB.NET برنامه نويس نمي توانست براي كلاس ها و اشيايي كه خود مي سازد،از اين قابليت استفاده كند. اين محدوديت در VB.NET 2.0 برطرف شده است. مثلا شما مي توانيد يك نوع داده جديد(Type) تعريف كنيد كه شامل يك آرايه دو بعدي باشد(مثل يك نقطه در فضاي برداري x-y) و براي اين كلاس يك عملگر + مخصوص تعريف كنيد كه وقتي دو متغير از اين نوع را با هم جمع مي زنيد،مقدارهاي بعد اول (X)با هم و مقدارهاي بعد دوم (Y) نيز به طور جداگانه با هم جمع شوند.

RegFreeCOM
قابليت بسيار مهم و جالبي كه به ويژوال بيسيك ۲۰۰۵ افزوده شده است،تكنيك Reg – Free COM نام دارد كه حتما بسياري از برنامه نويسان دات نت منتظر آن بودند.اغلب برنامه نويسان ويژوال بيسيك۶ به خاطر مي آوردند كه يكي از دردسرهاي مهم برنامه نويسي براي سيستم عامل ويندوز ،ساختن برنامه نصب (Installation) و ثبت كامپوننت هاي عناصر اصلي  برنامه در رجيستري ويندوز بود. دو كابوس هميشگي برنامه نويسان ،نحوه نصب عناصر ActiveX وDLL هاي حاوي اشيا COM وCOM+ بود. اين مشكل چندان اهميت داشت كه برنامه نويسان به شوخي نام DLL Hell يا جهنم DLL را بر آن نهاده بودند.

خوشبختانه پلتفرم دات نت اين مشكل را به طور عمده حل كرد؛زيرا به دليل حضور چهارچوب دات نت در سيستم عاملي كه قرار است يك برنامه نوشته شده با Visual Studio.NET روي آن اجرا شود، ديگر نيازي به رجيستر كردن كامپوننت ها و اشياي برنامه نيست و عمل نصب برنامه خيلي ساده با كپي كردن فايل هاي نرم افزار داخل پوشه روي هارد ديسك انجام مي شود. با اين حال عيب كار در اينجا بود كه برنامه نويسي كه با هزار زحمت توانسته بودند يك شي COM يا ActiveX بي درد سر و بي عيب بسازد،در صورت مهاجرت به پلتفرم دات نت مجبور بودند يا به كلي از خير اين اشيا استفاده مي كردند،همچنان ناگزير از نصب اين اشيا به روش قديمي (به رقم نصب آسان ساير قسمت هاي ساخته شده بر اساس چارچوب دات نت ) بودند.

اكنون ويژوال بيسيك ۲۰۰۵ با معرفي تكنيك Reg –Free COM اين معضل را به طور عمده از پيش روي برنامه نويسان برداشته است. به كمك اين تكنيك مي توانيد اغلب اشياي COM  و ActiveX سابق خود را با يك اينترفيس دات نتي بپوشانيد. به طوري كه بتوان آن ها را مانندDLL هاي توليد شده بر اساس دات نت خيلي ساده داخل پوشه برنامه كپي كرد و بدون نياز به ثبت در ريجيستري ويندوز مورد استفاده قرار داد. براي استفاده از اين قابليت كافي است در قسمت Refrence هاي پروژه به DLL حاوي ActiveX يا COM ارجاعي تعريف كنيد. سپس در پنجره Properties   گزينه Isolated را معادل ‏True قرار دهيد. البته اين قابليت محدوديت هايي هم دارد:يكي اينكه به ويندوز XP يا نسخه هاي بالا تر نياز دارد. ديگر اينكه فقط براي كامپوننت هاي in-proccess قابل استفاده است . اين قابليت همچنين براي آن دسته از اشياي COM كه جزيي از سيستم عامل ها هستند كار نمي كند و نهايتا اين كه نمي توانيد از قابليت مذكور براي آن دسته از اشياي COM  و ActiveX كه به حضور نرم افزارهاي بزرگي مثل Word وابسته هستنداستفاده كنيد. اين گونه ActiveX ها فقط وقتي كار مي كنند كه نرم افزار مربوطه (مثلا اكسس) قبلا روي كامپيوتر نصب و رجيستر شده باشد.