هذا نص رسالة أرسلتها للأخ HGB أستشيره فيها عن عدة مواضيع مبينة أدناه - و بما أن معظم الشباب و الصبايا يمكن أن يكونوا يعانوا مما أعانيه لذلك قررنا أنا و الأخ هيثم أن ننشر هذا الموضوع بالمنتدى حرصا على المصلحة العامة و لكي تعم الفائدة لذلك نرجو من الجميع أن يدلوا بآرائهم و مشكوين .
نص الرسالة :
إقتباس
السلام عليكم و رحمة الله و البركات ..... كيف أحوالك أخي هيثم ، آمل من الله أن تكون بصحة و عافية .... و بعد :
إذا كنت مشغول أو على عجلة من أمرك فأرجو أن لا تجب على رسالتي لأنني سأتثاقل عليك كثير .
كما ذكرت لك سابقا انا لست اختصاصيا بمجال البرمجة انما هي هوايتي المفضلة منذ زمن بعيد . لن أطيل كثيرا بالكلام لأنني أعلم أنه لا وقت لديك ( و كذلك أنا ) بسبب الامتحانات .
عندما طرحت السؤال سابقا في منتدى SQL ( لا أدري ان كنت تذكر ) حول برمجة الشبكات أجبتني أنه أفضل لغة لتلك المتطلبات هي ASP.net و أنه بما أنني سأدرسها يجب علي ( بالطريق ) تعلم C# ....... و سؤالي هو أنني أصبحت محتارا لهذا الأمر و ذلك بسبب :
سلبيات اللفة لدي من ناحية VC++ :
-----------------------------------------
- معظم البرامج التي أكتبها من نوع Dialog Based لأنني وجدت SDI أو MDI مزعجة جدا اللهم في حالات نادرة أحتاج للبرمجة بها
- عدم اعتنائي بجمالية واجهة التطبيق بسبب طول الكود الذي يؤدي لذلك الغرض ( بالـDelphi بنقرة زر على خصائص الفورم يتم تغيير لونه أما بالـ VC++ فأحتاج على الأقل الى خمسة أو أربعة أسطر من الكود لذلك )
- حسب معلوماتي لا يمكن استعمال قواعد البيانات بسهولة في برامج Dialog Based ( و التي أحبها )
- لم أفهم حتى الآن استخدام قواعد البيانات في تطبيقات SDI أو MDI
- لم أستطع العثور على مراجع تهتم أو تتكلم عن برمجة تطبيقات CDhtmlDialog Based ( بسبب أنها ترتكز على ملف الواجهة من نوع HTML و الذي يمكن بسهولة وضع صور GIF , JPG .... الخ و التي يمكن مشاهدتها أثناء التصميم الرسومي للبرنامج ) لسبب الواجهة الرسومية كما ذكرت مسبقا
ايجابيات اللغة لدي من ناحية VC++ ( كثيرة جدا لا يسعني ذكرها الا أنني سأذكر أكثر ما أحبه بها )
-----------------------------------------
- العبارة المشؤومة و التي تظهر كثيرا في تطبيقات VB لقواعد البيانات "RunTime ERROR" و التي هي نادرة الوجود في VC++
- ترتيب كتابة الكود من ناحية التنظيم Header Files & Source Files كل منه مستقل عن الآخر و بذلك تسهل قراءة البرنامج حتى و لو تركته لسنة ثم راجعته مرة أخرى
- التواصل الوثيق و الرائع للـMFC و توابع API ( في VB تحتاج لكتابة تصريح طوله حوالي الكيلومتر لاستخدام تابع API )
- مكتبة MFC بذاتها اسطورة قائمة - أحس بأنها سهل ممتنع
تخّوفي من الانتقال للـC# بسبب :
--------------------------------------
- أنها لا تعمل على أنظمة Win9X الا بعد تنصيب حزمة MS.net
- و كذلك لاحظت عدم الترتيب بالكود ( حسب معلوماتي ) كما هو موجود في VC++
- عدم انتشارها بالمستقبل و بالتالي تصبح لغة منقرضة
- الدخول بمتاهات عدم الحصول على المراجع المطلوبة و بالتالي أضعت الوقت سدى فاضطر للعودة لـ VC++
ما أعجبني في C# :
-----------------------
- المزيج الرائع بين قوة C++ و سرعة التطوير كما هو في الـDelphi
- التصميم الرسومي لواجهة التطبيق ممتازة مقارنة بما أعانيه في VC++
- استطعت بسهولة و من أول مرة أطلع فيها على اللفة انشاء Data Form بواسطة الـWizard أنشأت من خلاله استعلام لقاعدة بيانات ( حسب معلوماتي في VC++ أحتاج الى ما يقل على عشرة أسطر كود مع ما يقارب 15 بارامتر للـMethods )
- استخدامها لتوابع .net و الموجودة نفسها في ASP.net
هذه هي أهم الأفكار لدي حول اللغتين و التي بسببها أصبحت بحيرة من أمري لا أعرف أأنتقل الى C# و أترك VC++ خلف ظهري أم أستمر في VC++ و أعاني ما أعانيه من مشكلات مما سبق .
مع ملاحظة أنني أنا و أخي بدأنا بالبرمجة بنفس الوقت أنا توجهت الى C++ ثم VC++ أما هو توجه الى Pascal ثم Delphi و ياللمفاجئة ....!!!!!
هو أصبح ينتج برامج ضخمة نوعا ما أما أنا فلا و اعتقادي أن السبب هو أن Delphi ( كذلك VB نوعا ما ) توفر تحكمات جاهزة قابلة للتعديل و بذلك تسمح للمبرمج بتركيز اهتمامه على فحوى البرنامج أما VC++ فهي تعطيك تحكمات قابلة و التطوير بشكل عميق و رهيب و لكن ذلك يؤثر على المبرمج و يجعله يضيع وقته على هذه التحكمات من أجل اظهار المطلوب
فأنقذني عسى الله أن ييسر عليك و علي ( أرجو أن تكون الاجابة مفصلة لأن الأمر مصيري بالنسبة لي فأنا أحاول تقوية نفسي بلغة برمجة لأنه لدي أفكار كثيرة بشأن اختصاصي الدراسي سأحاول تنفيذها عندما سأنتقل الى السنة الثالثة - اذا الله أمددني بالعمر و نجحت -
أخوك أبو أحمد النعيمي
إذا كنت مشغول أو على عجلة من أمرك فأرجو أن لا تجب على رسالتي لأنني سأتثاقل عليك كثير .
كما ذكرت لك سابقا انا لست اختصاصيا بمجال البرمجة انما هي هوايتي المفضلة منذ زمن بعيد . لن أطيل كثيرا بالكلام لأنني أعلم أنه لا وقت لديك ( و كذلك أنا ) بسبب الامتحانات .
عندما طرحت السؤال سابقا في منتدى SQL ( لا أدري ان كنت تذكر ) حول برمجة الشبكات أجبتني أنه أفضل لغة لتلك المتطلبات هي ASP.net و أنه بما أنني سأدرسها يجب علي ( بالطريق ) تعلم C# ....... و سؤالي هو أنني أصبحت محتارا لهذا الأمر و ذلك بسبب :
سلبيات اللفة لدي من ناحية VC++ :
-----------------------------------------
- معظم البرامج التي أكتبها من نوع Dialog Based لأنني وجدت SDI أو MDI مزعجة جدا اللهم في حالات نادرة أحتاج للبرمجة بها
- عدم اعتنائي بجمالية واجهة التطبيق بسبب طول الكود الذي يؤدي لذلك الغرض ( بالـDelphi بنقرة زر على خصائص الفورم يتم تغيير لونه أما بالـ VC++ فأحتاج على الأقل الى خمسة أو أربعة أسطر من الكود لذلك )
- حسب معلوماتي لا يمكن استعمال قواعد البيانات بسهولة في برامج Dialog Based ( و التي أحبها )
- لم أفهم حتى الآن استخدام قواعد البيانات في تطبيقات SDI أو MDI
- لم أستطع العثور على مراجع تهتم أو تتكلم عن برمجة تطبيقات CDhtmlDialog Based ( بسبب أنها ترتكز على ملف الواجهة من نوع HTML و الذي يمكن بسهولة وضع صور GIF , JPG .... الخ و التي يمكن مشاهدتها أثناء التصميم الرسومي للبرنامج ) لسبب الواجهة الرسومية كما ذكرت مسبقا
ايجابيات اللغة لدي من ناحية VC++ ( كثيرة جدا لا يسعني ذكرها الا أنني سأذكر أكثر ما أحبه بها )
-----------------------------------------
- العبارة المشؤومة و التي تظهر كثيرا في تطبيقات VB لقواعد البيانات "RunTime ERROR" و التي هي نادرة الوجود في VC++
- ترتيب كتابة الكود من ناحية التنظيم Header Files & Source Files كل منه مستقل عن الآخر و بذلك تسهل قراءة البرنامج حتى و لو تركته لسنة ثم راجعته مرة أخرى
- التواصل الوثيق و الرائع للـMFC و توابع API ( في VB تحتاج لكتابة تصريح طوله حوالي الكيلومتر لاستخدام تابع API )
- مكتبة MFC بذاتها اسطورة قائمة - أحس بأنها سهل ممتنع
تخّوفي من الانتقال للـC# بسبب :
--------------------------------------
- أنها لا تعمل على أنظمة Win9X الا بعد تنصيب حزمة MS.net
- و كذلك لاحظت عدم الترتيب بالكود ( حسب معلوماتي ) كما هو موجود في VC++
- عدم انتشارها بالمستقبل و بالتالي تصبح لغة منقرضة
- الدخول بمتاهات عدم الحصول على المراجع المطلوبة و بالتالي أضعت الوقت سدى فاضطر للعودة لـ VC++
ما أعجبني في C# :
-----------------------
- المزيج الرائع بين قوة C++ و سرعة التطوير كما هو في الـDelphi
- التصميم الرسومي لواجهة التطبيق ممتازة مقارنة بما أعانيه في VC++
- استطعت بسهولة و من أول مرة أطلع فيها على اللفة انشاء Data Form بواسطة الـWizard أنشأت من خلاله استعلام لقاعدة بيانات ( حسب معلوماتي في VC++ أحتاج الى ما يقل على عشرة أسطر كود مع ما يقارب 15 بارامتر للـMethods )
- استخدامها لتوابع .net و الموجودة نفسها في ASP.net
هذه هي أهم الأفكار لدي حول اللغتين و التي بسببها أصبحت بحيرة من أمري لا أعرف أأنتقل الى C# و أترك VC++ خلف ظهري أم أستمر في VC++ و أعاني ما أعانيه من مشكلات مما سبق .
مع ملاحظة أنني أنا و أخي بدأنا بالبرمجة بنفس الوقت أنا توجهت الى C++ ثم VC++ أما هو توجه الى Pascal ثم Delphi و ياللمفاجئة ....!!!!!
هو أصبح ينتج برامج ضخمة نوعا ما أما أنا فلا و اعتقادي أن السبب هو أن Delphi ( كذلك VB نوعا ما ) توفر تحكمات جاهزة قابلة للتعديل و بذلك تسمح للمبرمج بتركيز اهتمامه على فحوى البرنامج أما VC++ فهي تعطيك تحكمات قابلة و التطوير بشكل عميق و رهيب و لكن ذلك يؤثر على المبرمج و يجعله يضيع وقته على هذه التحكمات من أجل اظهار المطلوب
فأنقذني عسى الله أن ييسر عليك و علي ( أرجو أن تكون الاجابة مفصلة لأن الأمر مصيري بالنسبة لي فأنا أحاول تقوية نفسي بلغة برمجة لأنه لدي أفكار كثيرة بشأن اختصاصي الدراسي سأحاول تنفيذها عندما سأنتقل الى السنة الثالثة - اذا الله أمددني بالعمر و نجحت -
أخوك أبو أحمد النعيمي
