المقالة للاخ رغيد الطيب ..
السلام عليكم ورحمة الله وبركاته ...
لقد حان الوقت للانتقال الى الاصدار VB.NET , عبارة بدأنا نسمعها كثيراً هذة الفترة ...
ولكن هذة العبارة الجديدة تمثل للقليلين مصدر تفاؤل بينما تسبب للغالبية العظمى من مبرمجين الاصدار VB6 كابوساً
رهيباً يطبق على انفاسهم .. فهم قد عاشوا مع الاصدار القديم سنوات من الصداقة الحميمة التي يصعب تجاهلها بهده
السهولة و لكل منا اسبابه المنطقية في نظره لعدم الانتقال ... ويمكن ان تكون الاسباب التي ولدت لدينا الحيرة هي
بعض الاستفسارت كالتالي :
1 - انا لا ازال مبتدء في الاصدار القديم فكيف انتقل قبل ان اصل الى مستوى الاحتراف اولاً ؟
2 - سوف انتظر حتى تنتشر اللغة الجديدة !
3 - الانتقال يحتاج الى جهد كبير انا في غنى عنه هذة الفترة !
4 - الاصدار الجديد غير متوافق مع جميع انظمة الوينذوز مثل الملينيوم !
5 - بما اني سوف انتقل فلماذا لا انتقل الى C#.NET او C++.NET ؟
6 - ان شركة مايكروسوفت شركة متقلبة فما الضمان من ان تنشئ لغة جديدة بعد ان اكون قد قطعت شوطاً في
اللغة الجديدة فلماذا لا انتقل الى لغة مختلفة كلياً كالجافا او الدلفي مثلاً ؟
7 - لاتوجد مصادر كثيرة للمعلومات عن الاصدار الجديد كما هو الحال مع الاصدار القديم ؟
8 - استطيع القيام بكل البرامج التي اريدها بالاصدار الحالي فلما اقوم بالانتقال اصلاً ؟
9 - ارى ان مايكروسوف قد بالغت في التسهيل على المبرمجين لدرجة التي ستدفعهم الى إلغاء عقولهم ... فكل
شيء اصبح جاهزاً ؟
طبعاً التساؤلات السابقة لم ولن تكون كل التساؤلات التي قد تخطر ببال كل المبرمجين و قد يكون غيرها الكثير ...
ولكن دعوني ابين وجهات نظري في كلاً مما سبق فقد يشاركني الكثير وقد يعارضني اكثر ولأن الله قد من علينا
سبحانه وتعالى بعقول نزن بها الامور فلا اظن ان احداً منا لا يستطيع ان يميز الخطأ من الصواب ... لهذا اذا كنت ممن
تعتريهم الريبة من الاصدار الجديد فقرأ وجهات نظري فيما سبق وخذ منها ما وافق ميلك وهذة تسعة اسئلة (عدد
فردي ) لهذا فالنتائج لابد وان تميل الى احد الجانيبن والاجابة التي تقتنع بها سجل عندها مقتنع والتي لست مقتنع
بها فسجل عندها العكس وبعد ان تفرغ انظر اي الجانبين اقوى جانب الاقتناع ام الجانب الآخر ! ... ثم استفتي قلبك
وتوكل على الله يقول الحق سبحانه وتعالى :
<< وشاورهم في الأمر فإذا عزمت فتوكل على الله إن الله يحب المتوكلين >>
يظهر بوضوح من الاية السابقة ان التشاور هو امر مهم ويكفيه اهميه ان الله سبحانه وتعالى امر به المصطفى صلى الله
عليه وسلم ... ثم بعد ذلك جاء الامر الثاني وهو
فإذا عزمت فتوكل على الله إن الله يحب المتوكلين
ضع تحت هذا الامر خطاً ... فيكفيك بعد ان تتوكل على الله ان تفوز بحب الله تعالى وان كانت خسارتك ليس الفجيوال
بيسك فقط بل لو كانت خسارتك هي كل لغات البرمجة التي عرفتها البشرية ! ...
والان دعنا نجيب على التساؤلات .. مع التنويه بأن كل ما سيأتي هنا هو عبارة عن رأي شخصي لا الزم احد باتباعه
ولكني اذكره فلربما انار لبعض الحائرين طريقاً ...
1 - انا لا ازال مبتدء في الاصدار القديم فكيف انتقل قبل ان اصل الى مستوى محترف اولاً ؟
الاجابة على هذا السؤال لا تحتاج الى فطنة ابداً فإذا كنت مبتدئاً في الاصدار الحالي فما الذي ستخسره من الانتقال
فالخسارة ليست لمن هم مثلي من المبتدئين بل هي للذين هم على قدر كبير من الخبرة والاحتراف حيث سيكلفهم
الانتقال ان يتنازلوا عن مناصبهم الرفيعة بين مبرمجين اللغة الحالية كي ينخرطوا مع فريقنا كمبتدئين تحت لواء الاصادر
الجديد VB.NET ... وان كنت لا اعد هذة خسارة ابداً فكلما زادت خبرة المرء بلغة برمجة كلما سهل عليه اتقان لغات
اخرى بأوقات قياسية والنتيجة هي انه سيكون محترف في لغته الاولى وعلى مستوى جيد في لغته الجديدة مما
سيدفع به بوقت قصير نسبياً الى الاحتراف في اللغة الجديدة بعونٍ من الله وتوفيق ... واما للمبتدى فهي فرصة ذهبية
لاثبات الوجود في عالم يتعبر جديداً على الجميع فبعد ان كان مبتدئاً بين محترفين اصبح الكل سواسيه و الغلبة لمن
اراد له الله ذلك وكان ذو همة عالية و بأس شديد ...
2 - سوف انتظر حتى تنتشر اللغة الجديدة ؟
ان انتظارك لانتشار هذة اللغة حتى تبدء في تعلمها سوف يزج بك الى الخلف كثيراً ففي الوقت الذي تطور نفسك في
امور ستنتهي بعد امد قريب يسعى غيرك الى اكتساب مهارات ستدوم زمناً اطول من المهارات التي ستكتسبها انت
... حيث ان الجهد المبذول في تعلم شيء جديد على الانسان يستلزم جهذ كبير سواء اكان بهذة اللغة ام بتلك فعدم
العلم بشيء سواء .. فلماذا تحرق ساعات ثمينة في تطوير مهارات قديمة يمكنك استغلالها بعد رضا الله في امور اكثر
فائدة مع مهارات افضل في هذة اللغة الجديدة !
3 - الانتقال يحتاج الى جهد كبير انا في غنى عنه هذة الفترة ؟
نعم الانتقال يحتاج الى جهد ولكن ... ان تخصص ايام محددة في الاسبوع لتعلم اللغة الجديدة لن يضرك في شيء بل
انه سوف يفيدك كثيراً على الاقل من ناحية العلم بالشيء فبدلاً من ان تمضي ساعات الفراغ في البحث عن تمضية
للوقت بما يسليك في امور غير مفيدة لم لا تبحث عن التسلية بين سطور اللغة الجديدة ! (لاتنسى ان ذكر الله تعالى
في فراغك اذ يقول سبحانه "فإذا فرغت فانصب#وإلى ربك فارغب" ) ... إضافة الى ذلك فأنك ان
تعلم مثلاً انه يمكنك إستبدال عرض الرسائل MsgBox بواسطه MessageBox.Show في الاصدار الجديد فهي تعتبر
معلومة جميلة ( للعلم فقط ان الامر MsgBox مازال يعمل في الاصدار الجديد) ولم تكلفك هذة المعلومة من الوقت إلا
الثانية او الاثنتين التي استغرقتها في قراءة السطر السابق ... لهذا فتخصيص وقت مهما كان قصيراً لتعلم اللغة
الجديدة سوف يعود عليك بالنفع الكبير بإذن الله تعالى ... وستجد نفسك ذو خبرة لابأس بها مع مرور الوقت .. فلا تنتظر
ابداً .
4 - الاصدار الجديد غير متوافق مع جميع انظمة الوينذوز مثل الملينيوم ؟
صحيح انه يلزمك تنزيل إطار العمل (NET Framewrok.) على انظمة الوينذوز القديمة حتى تعمل برامجك إلا ان إطار
العمل هذا سرعان ما سينتشر ويكون ضمنياً في انظمة التشغيل المستقبلية ... مما سيزيل هذا العائق لهذا فهو
ليس بالعذر الكافي لتضييع فرصة تعلم اللغة الجديدة وتأجيل ذلك بينما يتسابق الكل في انحاء العالم لسبر اغوار هذة
اللغة الجديدة قبل ان تصبح هي اللغة السائدة ...
وفي هذة المرة يكفي تحميل إطار عمل الدوت نت حتى تعمل برامجك بشكل جيد على اصدارات الوينذوز المختلفة و
يمكن ان ترفقه مع برنامجك اذا كنت تنوي توزيعه وتنتهي بذلك المشكلة ...
5 - بما اني سوف انتقل فلماذا لا انتقل الى C#.NET او C++.NET ؟
في الواقع لكل لغة مايميزها و اذا اطلعت على ملفات المساعدة مثلاً فسوف تجد انه ما ان يذكر مثال لكود معين في
لغة الفجيوال بيسك حتى يذكر نفس المثال بلغة #C وسوف تستغرب من تطابق العمليات مع اختلاف صيغة اللغة فقط
.... اما الاوامر و المكتبات التي يمكنك الوصول اليها فهي متساوية في اغلب الاحيان وبالتالي يبقى لديك حرية الاختيار
من بين اللغات .. مع العلم بأن جميع الاكواد تتم ترجمتها جميعاً الى نفس اللغة الوسيطة التي تعتمدها مايكروسوفت
وبالتالي فأنت تكتب الكود باللغة التي تروق لك ثم يتم ترجمتها بنفس الطريقة ولا انسى هنا ان اذكر ميزة محرر الكود
في الفجيوال بيسك فهو يشكل اذكى بيئه تطوير بين جميع اللغات فقد تطور محرر الكود الى الدرجة التي اصبح فيها
يقوم بتكملة بعض الامور بدلاً عنك تسهيلاً في الكتابة والتكرار الممل فمثلاً انت عندما تكتب :
كود:
If I = 4 Thenفبمجرد ان تضغط على الزر Enter عند انتهائك تجد ان المحرر قد اقفل الشرط نيابة عنك وذلك باضافة End If في
الاسفل وكذلك عندما تكتب امر الدوران FOR فانه يكمل الكود عنك بإضافة Next في الاسفل .. ولا تنتهي ميزة المحرر
الجديد عند هذة الامور البسيطة ولكنك باستخدامك اللغة ستلمس ذلك بوضوح ...
ولا انسى ان اذكر احب الاشياء الى قلبي وهي عدم حساسية الاحرف فعندما تعرف متغير بإسم Rgheed انت لا تهتم
بعد ذلك كيف ستكتب اسم هذا المتغير فاذا كتبته بالشكل :
rgheed
او
rghEEd
او
rGheed
او كيفما تشاء فان المحرر سوف يعيده الى صيغته التي عرفته بها مسبقاً وهي Rgheed وهذة الميزة موجودة في
الاصدار القديم من الفجيوال ايضاً ولكنك في اللغات الاخرى سوف تجد ان جميع الصيغ تمثل متغيرات مختلفة فالمتغير
rgheed لايساوي المتغير Rgheed لانهما لا يحملان نفس حالة الاحرف يعني يمكنك كتابة اكتر من متغير بنفس الاسم
مع تغيير حالة الاحرف وهذا يعني بالنسبة لي على الاقل صداع حاد في الرأس عند تتبع كود برنامج معين ...
وبشكل عام فأن الـ VB.NET هو التطور الطبيعي لمبرمجي VB بينما الـ C++.NET هو ايضاً التطور الطبيعي لمبرمجي
++VC .. اما الـ C#.NET فهي وجدت لتنساب المنتقلين من لغات اخرى مثل الجافا او السي++ فهي عبارة عن مزيج
بين لغات برمجة الجافا والـ ++C ...
وكرأي شخصي في هذا السؤال فانا افضل بل لست ارضى عن VB.NET بديلاً ... ولا تنسى انه يمكنك الانتقال الى اي
لغة من اللغات الجديدة فالمهم هنا هو عدم تضييع فرصة الاستفادة من امكانيات بيئة الـدوت نت عليك ابداً فهي مكتبة
قوية جداً يمكنك استغلالها بأيٍ من اللغات السابقة فاختر منها مايروق لك ولا تتردد فقط ابدء مع من تحب فقد اللغيت
معظم الفروق بين اللغات ولم يعد بامكان احد ان يطلق عبارات مثل ان الفجيوال بيسك لغة ضعيفة كما في السابق ..
Bookmarks