بتـــــاريخ : 2/4/2011 11:16:28 PM
الفــــــــئة
  • الحـــــــــــاسب
  • التعليقات المشاهدات التقييمات
    0 1167 0


    لماذا يهمل المبرمجين لغة الاسمبلى ؟!؟

    الناقل : elmasry | العمر :42 | الكاتب الأصلى : احمد غريب | المصدر : www.arabteam2000-forum.com

    كلمات مفتاحية  :
    مبرمجين لغة الاسميلي برمجة لغة

    السلام عليكم

    فكرت اين اضع هذا الموضوع ولم اجد له مكان انسب من قسم المقالات لانه يهم جميع المبرمجين...

    للاسف الشديد يعتقد الكثير من المبرمجين ان لغه الاسمبلى هى لغه إختياريه, يستطيع المبرمج الاستغناء عنها طالما اجاد لغه اخرى مثل VB او سى بلس بلس الخ...
    ولكن فى الواقع المبرمج لايتعبر مبرمج إذا لم يتقن لغة الاسمبلى, ولن يستطيع الاستمرار فى حقل البرمجه طويلاً لان هناك مشاكل لايمكن حلها إلا إذا عرفت لغة الاسمبلى..
    طبعاً الذى يقراء هذا الكلام يعتقد اننى من المتعصبين للغه الاسمبلى ومستعد ان احارب الناس حتى اجبرهم على تعلمها, بالظبط مثل جماعة اللينكس ;)

    ولكن الامر ليس كذلك دعونى اسرد عليكم بعض الحالات التى لاغنى للمبرمج عن لغة الاسمبلى فيها.

    المثال الاول.
    افرض انك ضمن فريق وقمتم بكتابة برنامج ضخم حجمه 100 ميجابيت, وربنا فتح عليكم وبيع من البرنامج 1000 نسخه, ولكن بعد شهر من إصدار البرنامج اكتشفتم فيه خلل لابد من إصلاحه وإلا سيفقد المشترى الثقه فى الشركه المنتجه ما هو الحل ؟!؟!؟

    قد تكون المشكله مشكله منطقيه فى الخوارزميات او قد تكون مشكله برمجيه, يعنى مثلاُ احد المبرمجين اعطى احد المتغيرات قيمه خاطئه...

    طبعاً الحل هو, اولاً إيجاد المشكله فى البرنامج, ثانياً ايجاد حل لها, ثالثاُ ارسال الحل للمستخدم..

    دعونا ننظر كيف يحل مبرمج الـVB و السى بلس بلس هذه المشكله..
    يجتمع المبرمجين ويمرو على الكود خطوه خطوه على امل ان يعثرو على الخلل..
    لنفترض ان الحظ حالفهم ووجدو الخلل, الخطوه التاليه هى حل المشكله فى الشفره...
    عمل كمبايل للبرنامج من جديد
    تجربة البرنامج وإذا بالفعل حلت المشكله يرسلو البرنامج 100 ميجابيت لكل مستخدم يعنى 1000 سى دى جديد..
    طبعاً ليس الجميع من يفعل ذلك هناك من تغلب على المشكله الاخيره وإستطاع إنشاء batch عن طريق برامج وإرسال الـbatch للستخدم بدلاُ من إرسال 100 ميجابيت..

    تخيل معى لو ان مايكروسفت اضطرت إلى إرسال وندوز جديد معى كل تحديث لها كيف كان الحال بالنسبة للمستخدم, يعنى المفروض كنت نصبت الوندوز خمسين مره على الاقل فى السنه..
    الحل بالنسبه لمن يتقن الاسمبلى بسيط جداً وقد لا يستغرق اكثر من بضع ساعات..
    افتح البرنامج فى debugger ضع بعض نقاط التوقف, شغل البرنامج وتابع ما يحدث فى الـdebugger, عندما تعثر على الخطاء غير بحيث يعمل البرنامج بالطريقه المطلوبه, ضع التغيرات فى ملف batch ارسله إلى المستخدم...

    ماهو الفرق ؟!؟

    طبعاُ الفرق كبير جداُ, فى حالت الاسمبلى لن تحتاج إلا لمبرمج واحد يقوم بالعمل, وإذا كان محترف سيقوم بالمهمه فى ظرف ساعات لو المشكله مستعصيه, او فى ظرف دقائق لو المشكله بسيطه..

    لن تحتاج إلى عمل كمبايل من جديد من ما يوفر عليك الوقت.

    العثور على المشكله سهل إذا لم تكن مشكله منطقيه فيه تكوين البرنامج نفسه, وإذا كانت المشكله مشكله منطقيه فى احد الخوارزميات سيتم إكتشافها بسهوله ولكن حلها سيكون اصعب من المشاكل البرمجيه..

    المثال الثانى.
    تخيل نفس الموقف السابق ولكن المستخدم طلب منك إضافة وظيفه جديده للبرنامج, ولنقل مثلاُ زرار يقوم بطبع المحتوى.

    الله يكون فى عون مبرمجى السى بلس بلس والـVB طبعاُ ستضطر إلى فتح شفرة البرناج وكتابة كود جديد وعمل كمبايل ثم تستخدم الطريقه السابقه لتجربة ومن ثم إرسال البرنامج للمستخدم.

    بالنسبه للاسمبلى كل ما عليك هو إستخدم الـdebugger إضافة الشفره وبعد ذلك تقوم بعمل batch للتغيرات التى قمت بها وترسل الباتش للمستخدم..

    فى مثل هذه الحالات يكون حجم الباتش صغير جداُ ولا يتجاوز عدة مئات من الكيلوبايت ...

    طبعاُ الخبراء فى لغة السى بلس بلس سيعترضو ويقول انه يوجد debugger فى السى بلس بلس.. طيب جميل ولكن هذا الdebugger يعتمد إلى حد كبير فى فهم لغه الاسمبلى, وبالاضافه لذلك فهو ضعيف مقارنة بالdebugger الحقيقى مثل IDA PRO مثلاُ, اما بالنسبه لمبرمجى الVB فلا اعرف إذا كان هناك debugger اصلاً او حتى إذا كانو قد سمعو بهذا المصطلح من قبل.. معى الاعتذار الشديد لاخونا إبراهيم الطيب ..

    للاسف الشديد سمعة لغة الاسمبلى اصبحت سيئه لان الكثيرين يعتقدون انها لغة لإختراق البرامج والبعض الاخر يرى انها لغة صعبه ولا تستحق لك هذا الجهد والعناء..
    ولكن من خلال تجاربى ارى انها اسهل من السى والسى بلس بلس وحتى الـVB لانك فى لغه الاسمبلى تعرف مايحدث جيداُ بعكس باقى اللغات, وإذا كنت لا تعرف ما يحدث خلف الكواليس فمن الصعب عليك حل المشكله دون الجوء للمساعده من قبل الخبراء.

    واخيراً انا لم اكتب هذا الموضوع لاتهجم على مبرمجى السى بلس بلس او حتى على حبايبنا بتوع الـVB ولكن كتبه لانى ارى عدم إهتمام بها..

    ربما يخاف الكثير من المبرمجين من هذه اللغه لان البدايه صعبه ولكن صدقونى الوضع تغير كثيراُ معى ظهور الاسمبلى فى بيئة الوندوز, علماً بان البدايه صعبه لإحتراف اى لغة كانت حتى لغه الHTML فى بدايتها صعبه ولكن إذا اتقنتها وعرفت طريقتها فإنها تصبح سهله...

    والسلام عليكم

    كلمات مفتاحية  :
    مبرمجين لغة الاسميلي برمجة لغة

    تعليقات الزوار ()