البرمجة عالم واسع...عالم من الخيال....يطير بنا الى اقصى احلام مستخدمى الكمبيوتر...ألا وهو كيف يمكننا صنع برنامج خاص بنا كيف يمكننا الالتفاف حول برنامج لا نعرف مداخله كيف؟....كيف...؟..كيف...؟عشرات من الاسئلة....لن اطيل عليكم ولكن حاليا اتيحت فرصة نادرة يجب علينا اقتناصها....من لم يتعلم لغات البرمجة...ومن فاتته الفرصة فقد جاءت على طبق من فضة....لقد حان الوقت للانتقال الى الاصدار VB.NET visual basic.net اولاً نقرأ هذا المقال المنقول للفائدة: لقد حان الوقت للانتقال الى الاصدار VB.NET ولكن هذة العبارة الجديدة تمثل للقليلين مصدر تفاؤل بينما تسبب للغالبية العظمى من مبرمجين الاصدار VB6 كابوساً رهيباً يطبق على انفاسهم .. فهم قد عاشوا مع الاصدار القديم سنوات من الصداقة الحميمة التي يصعب تجاهلها بهده السهولة و لكل منا اسبابه المنطقية في نظره لعدم الانتقال ... ويمكن ان تكون الاسباب التي ولدت لدينا الحيرة هي بعض الاستفسارت كالتالي :
1 - انا لا ازال مبتدء في الاصدار القديم فكيف انتقل قبل ان اصل الى مستوى الاحتراف اولاً ؟ 2 - سوف انتظر حتى تنتشر اللغة الجديدة ! 3 - الانتقال يحتاج الى جهد كبير انا في غنى عنه هذة الفترة ! 4 - الاصدار الجديد غير متوافق مع جميع انظمة الوينذوز مثل الملينيوم ! 5 - بما اني سوف انتقل فلماذا لا انتقل الى C#.NET او C++.NET ؟ 6 - ان شركة مايكروسوفت شركة متقلبة فما الضمان من ان تنشئ لغة جديدة بعد ان اكون قد قطعت شوطاً في اللغة الجديدة فلماذا لا انتقل الى لغة مختلفة كلياً كالجافا او الدلفي مثلاً ؟
سؤال جميل واجابته منوطه بك وحدك فلكل لغة ميزاتها ولكن لا تعتقد ابداً ان مايكروسوفت سوف تضحي بقاعدتها الجماهيرية بهذة البساطة وهي لم و لن تخاطر بتغيير منتجاتها ولغات برمجتها دون فائدة ن وارء ذلك ... ويمكنك ان ترى ذلك بوضوح مع اصدارت الفجيوال السابقة فقد كان كل اصدار اقوى بكثير من سابقيه ولم اجد شخص عاقل يقول انه "كان من الافضل ان تبقي مايكروسوفت على الاصدار VB4 بدلاً من ان تأتي بالاصدارت VB5 ثم VB6" طبعاً هذا كلام غير منطقي ابداً فيكفيك ان تعرف انه لم يكن بامكانك ان تصمم ادوات ActiveX في الـ VB4 لهذا كله اقول لك اخي ان كل اصدار حمل لنا مميزات كبيرة جداً عن سابقه ولكنها كانت عبارة عن لغات منفصلة عن بعضها البعض فللفيجوال بيسك دوال واوامر لن تجدها في الفيجوال سي++ وكذلك الحال بالنسبة لدوال و اوامر السي لن تجدها في البيسك .. اما الان مع الاصدار الجديد فالاوامر هي نفسها في جميع اللغات وكذلك الدوال والتغيير الذي تجده فقط في النص البرمجي ... وما اريد قوله هو ان جميع اللغات اصبحت تتشارك نفس الموارد ونفس الادوات والكائنات .... واذا كنت تتسائل ما الفائدة من ذلك فالاجابة هي انه كان في السابق على مايكروسوفت ان تطور ادوات كل لغة لحالها اي ان للبيسك دوال وكائنات وللسي ايضاً دوال وكائنات مختلفة ولهذا كنا نرى دائماً انه يوجد اشياء موجودة لمبرمجي السي وليست لدينا كمبرمجين فيجوال بيسك كما ان مبرمجي السي يجدون تسهيلات لدينا ولايجدوها لديهم اما الان اصبح على مايكروسوفت ان تفكر في تطوير التقنيات والادوات فقط والجميع بعد ذلك سوف يستخدم نفس الميزات نظراً لان البنية التحتية اصبحت موحدة تقريباً (طبعاً هناك امور تختلف فيها اللغات ولكنها ليست كما في السابق) ولهذا فانت من الان وصاعداً ستجد بين يديك العديد من الميزات التي لا حصر لها بين فترة واخرى ... ولهذا فأن الانتقال الذي حصل من الاصدار VB6 الى VB.NET لم يكن لمجرد التسلية بل انه نقلة حقيقة ذات فائدة عظيمة وسوف تتطور من الان بشكل مفيد جداً بعد ان اصبحت لدينا جميع الامكانيات التي كنا نحلم بها فلم يكن باستطاعة احدنا ان يستخدم تقنية الـ OOP في الفجيوال بيسك وماكنا نقوم به هو مجرد تحايل لم يكن يغني من الحق شيئاً ... اما الان فلدينا بيئة رائعة و كائنية التوجه (OOP) بالفعل .... كما اريد ان اللفت نظرك بان لغة الجافا قد اصبحت تشكل تهتدياً واضحاً لميكروسوفت بانتشارها الواسع لهذا نرى ان ميكروسوفت وضعت وبسرعة خطة مضادة لاجتاذاب مبرمجي الجافا وذلك عن طريق ال C# الماشبهة كثيراً للغة الجافا من حيث الصيغ البنائية مما يسهل على مبرمجي الجافا عناء الانتقال اليها في حال رغبتم بذلك ..
وككلمة اخيرة بالنسبة لهذا السؤال ان انتقال مايكروسوفت الى تقنية الدوت نت لم يكن عبطاً وسوف تلمس ذلك اذا بدأت بتجربة التقنية الجديدة بشكل جاد ... كما اني اود ان اللفت انتباهك الى ان الدعم الفني وملفات المساعدة والامثلة المطروحة على الشبكة والتي تهتم بتقنيات شركة مايكروسوفت لن تجد لها مثيل بين قريناتها من الشركات الاخرى مما سيصب في الاخير الى فائدتك انت من توفر المصادر بشكل مكثف في الشبكة ... اعلم انه قد يساروك شعور بان هذا تحيز واضح مني لهذة الشركة ولكني اود ان اعلمك انني كمسلم فأني اتأسى بنصيحة رسولنا الكريم بأن الحكمة ضالة المسلم انى وجدها فأنها له .... فصلى الله عليه وسلم وعلى آله وصحبه اجمعين وجمعني وكل مسلم بهم في جنات النعيم ...
7 - لاتوجد مصادر كثيرة للمعلومات عن الاصدار الجديد كما هو الحال مع الاصدار القديم ؟
هذا كلام جميل وفيه من الحق جانب ولكنك اذا نظرت الى معظم إن لم يكن جميع المواقع الاجنبية من منتديات و مواقع تعليمية لبرمجة البيسك فانك سوف ترى انها قد اضافت اما قسماً او مجموعة كبيرة من الدروس المتعلقة باليجوال بيسك دوت نت ... كما ان معظمها قد جعل اللغة الاساسية التي يدعمها الموقع هي اللغة الجديدة وجعل اللغة الثانوية هي لغتنا الحبيبة VB6 ... وهذا بالنسبة للمواقع الاجنبية واما بالنسبة للمواقع العريبة فقد بدأ الحال ايضاً بالتغيير وبدأت المواقع البرمجية العربية تضاعف دعمها للغة الجديدة وهذا ما اظن ان منتدنا سوف يحمله على عاتقه وهو انه سوف يزيد وبشكل كبير جداً دعمه للغه الجديدة بإذن الله تعالى حتى يوفر لجميع المسلمين غير المجيدين للانجليزية دعماً لايقل كفائة عن نظيرة الاجنبي بإذن الله تعالى ...
8 - استطيع القيام بكل البرامج التي اريدها بالاصدار الحالي فلما اقوم بالانتقال اصلاً ؟
صحيح ان الفجوال بيسك 6 هي عصا سحرية استخدمناها طويلاً في حل مشاكلنا وهي لم تخذلنا إلا في حالات نادرة جداً جداً خاصة اذا تزينت برامجنا ببعض دوال API التي مكنتنا من التحكم بالوينذوز بشكل كبير .. كما انه يحقق سهولة وسرعة في بناء تطبيقاتنا اليومية وهذا شيء لا يختلف عليه اثنان .. ولكن هل اطلعت على مقدار المميزات التي تقدمها الدوت نت ؟ ... اذا كانت الاجابة لا .. فلا عجب من ان يتبادر الى نفسك مثل هذا السؤال فمن اطلع على المميزات الجديدة سوف يجد انها بالفعل ستحتق الانتقال ... ولنفرض الان ان جميع المميزات الجديدة لم ترق لك او انها لاتهمك في مجالك على الاقل .. ولكن هل فكرت ما الذي سيكون عليه الحال بعد فترة وجيزة من الزمن !
اذا لم تكن قد فكرت في ذلك دعني اساعدك بما استطيع .... ان برامج الفيجوال التي اعتدنا عليها دائماً كانت وبشكل اساسي موجهه للحاسب الالي وليست احترافيه في مجال الشبكات ولكن الذي يحصل ان الامور اصبحت تتجه وبشكل سريع الى برمجة الشبكات ومواقع الانترنت وما يقدمه لنا الفجيوال بيسك لا يقارن ابداً معا مايقدمه لنا الدوت نت .... فالميزات كثيرة جداً ومنها على سبيل المثال انشاء خدمات ويب Web Services وفيها يمكنك ان تقوم بتصميم مجموعة من الدوال القوية ثم تضعها في سيرفرات قوية على موقع معين ثم تستدعي هذة الدوال والكائنات من داخل برنامجك او موقعك في اي مكان في العالم وتطبيقات خدمات الوب لاحصر لها ... طبعاً اذا كنت من المبرمجين المخضرمين في الفجيوال بيسك 6 ... فكأني اراك تتهيئ الان لكي تخبرني بانه يمكنك اداء ذلك بفيجوال بيسك ايضاً مع بعض الاستخدامات المتقدمة ... إلا ان ما اريد ان اخبرك به هو كل ذلك يمكنك ان تقوم به ببضع سطور فقط باستخدام الدوت نت بل انه يكفيك سطران من الكود كي تستدعي دالة موجودة في خدمة ويب من اي مكان في العالم بسهولة ويسر ..
في الواقع الميزات كثيرة ولست بصدد ذكرها هنا ولكن يروق لي ان اضرب مثالا بسيطاً عن التشعبات او الـ Threads ... تخيل معي انك تريد من برنامجك ان يقوم بفتح قاعدة بيانات ويستخرج بيانات منها ويعرضها لك بطريقة معينة ثم يفتح بريدك على الانترنت ويحظر لك آخر الرسائل الموجودة فيه ويقوم بفحص القرص الصلب لديك لمعرفة الملفات التي تم حذفها مثلاً ... وهذا كله في الحدث Load للفورم !! ... فما الذي تتوقع حدوثه عندئذ ؟ ... الاجابه هي بطء شديد في ظهور الفورم وتعليق البرنامج .. اليس كذلك ؟ لكن هذا كله بالفيجوال بيسك دوت نت غير موجود حيث يمكنك ان تنشأ تفرع خاص بكل عملية من العمليات ثم تستدعيها جميعاً في نفس الوقت ومع ذلك يمكنك ان تستخدم الفورم الرئيسية دون ان يشعر المستخدم ان هناك اموراً معقدة تدور في الخفاء ... ولهذا فقد اصبح بامكان مبرمج الفيجوال بيسك ولاول مرة ان يتنفذ اكثر من دالة في نفس الوقت دون اي تدخل من دوال الـ API !! ..... وحتى بتدخل الـ API فقد كانت التشعبات هي احد اكبر الاسباب التي تزيد الاخطاء في برامج الفجوال بيسك حيث ان ابسط خطأ غير متوقع يسبب مشاكل كثيرة ... اما مع الدوت نت فقم بعمل كل ما تريد وفي نفس الوقت بدون اي عناء يذكر او ادنى ازعاج للمستخدم (الازعاج المقصود تعليق او تجمد وتأخير تنفيذ البرنامج) ...
ان اهم الاشياء التي قد تغريك في الاصدار الجديد انه يمكنك ان تبني انواع كثيرة جداً من البرامج بواسطة لغتك الحبيبة الفيجوال بيسك (دوت نت طبعاً) ومن هذة الانواع
- تصميم صفحات ومواقع انترنت تفاعلية (ASP) . - بناء خدمات ويب على مستوى عالي من الموثوقية ( يمكن الاطلاع على مقالة للاخ العزيز احمد ابو دقة لمزيد من المعلومات - ابحث عن المقالة في المنتدى ) . - يمكنك ايضا تصميم برامج تعمل في نظام الدوس ! ( Console Applications ) . - هذا كله وغيره الكثير بالاضافة الى جميع انواع البرامج التي كنا نعرفها في الاصدار القديم كا برامج الوينذوز العادية و بناء مكتبات (DLL) وغيرها ..
باختصار شديد تحمل الدوت نت اكثر من الذي كان يتمناه مبرمج الفيجوال بيسك فلا تحرم نفسك من متعة البرمجة بهذة اللغة ...
9 - ارى ان مايكروسوف قد بالغت في التسهيل على المبرمجين لدرجة التي ستدفعهم الى إلغاء عقولهم ... فكل شيء اصبح جاهزاً !
هذا الكلام لايصدر إلا من مبرمج يتذوق السطور البرمجية التي يكتبها تذوقاً ... فهو لايريد السهولة المطلقة بالقدر الذي يحب فيه ان يكتب اكواد برامجه كاملة وان يستمتع في المعاناه التي يجدها في حل المسائل البرمجية المعقدة ... وهو شيء احييك عليه اخي و لا اخفيك اني كنت اخشى مثلك ان اصبح مستخدم دوت نت بدلاً من كوني مبرمج VB6 .... ولكن كل هذة المسائل قد تلاشت الان بعد تجربتي للغة الجديدة فان السهولة التي اضافتها مايكروسوفت هي في الامور التي كانت تشكل اشياء روتينية مملة في الاصدار السابق بينما تركت لك حرية التصرف مع المسائل البرمجية التي تخصك كما يحلو لك ...
ويذكرني هذا الوضع كثيراً بحال المنتقلين من السي++ الى الفيجوال بيسك 6 ... فقد كان مبرمج السي++ قديماً فمثلاً لكي تظهر رسالة خاصة عندما ينقر المستخدم على الفورم التابعة لبرنامجك في السي++ كان يجب القيام بعمل دوران داخل برنامجك للاستماع الى جميع الرسائل التي تصل الى البرنامج من نظام التشغيل بحيث يقوم البرنامج بتحليلها منتظراً ان تصل الرسالة WM_LBUTTONDOWN حتى يقوم بالاستجابة لها ويظهر الرسالة !! بينما في الفجوال بيسك يكفيك ان تقوم تضع الشفرة الخاصة باظهار الرسائل في الحدث MouseDown التابع للفورم وينتهي بذلك كل شيء ..
وهذا هو بيت القصيد فما الفائدة من تكرار عمل الدروان في جميع البرامج التي انشئها كي اقتنص رسائل النظام وعلى الرغم ان الامر ليس نعقداً جداً ولكنه يستلزم الخروج من الغرض الرئيسي للبرنامج لتأدية بعض الامور الروتينية وهذة هي اكثر الامور التي تصيب المبرمج بالملل ..
لهذا فلا تنتظر من الفيجوال بيسك او اي لغة اخرى تقوم هي بعرض الرسالة بدلاً عنك ولكنها قد تعفيك من الالتفات الى الامور التي لا تهمك في بناء برامجك وهذا هو بالضبط ما تقدمه الدوت نت لك فانت الان بيديك كل ما تتمناه فقط حدد متطلبات برنامجك وابدأ بعون الله
|