الفرق بين المبرمج Programmer و المطور Devloper

الموضوع في 'البرمجة والتطوير' بواسطة ضفاف الروح, بتاريخ ‏29 مارس 2010.

  1. ضفاف الروح

    ضفاف الروح .:. الإدارة العليا .:.

    ،




    المبرمج Programmer والمطور Developer تمثلان (في الغالب) مرادفان يحملان نفس المعنى،

    ولكن عند مهندسي البرامج فهناك اختلاف (ليس بالبسيط) بينهما.


    • تعريف مبدئي:

    المبرمج: هو شخص يقدر الاكواد بشكل جنوني، وجل وقته وكل اهتماماته وتركيزه في كتابتها.

    أسعد لحظات حياته عندما يقرأ كود لشخص آخر او فك شيفرة مصدرية لتطبيق شهير. يميل

    المبرمج إلى التصميم منخفض المستوى Low Level Design ككتابة الدوال Functions

    والبارامترات وكل عبارات التكرار وجمل الشرط التي بداخلها. ويثير غريزته الفطرية الاحتكاك

    واللعب مع الذاكرة Memory كثيرا.


    المطور: الكود يكون شيء ثانوي دائما في حياته، وفكرة الكود هي الأهم. أسوأ لحظات عمره

    عندما يطلب منه تنقيح كود Code Debugging وقراءته (فهو يكره حتى قراءة الشيفرات التي

    كتبها!). يميل المطور الى التصميم عالي المستوى High Level Design، ويعطي جل اهتماماته

    في التصميم الكائني Object Oriented Design او المعماري Architecture Design،

    كما يحب أن يرى التطبيق من الخارج اكثر من الداخل.




    • في البرمجة:

    المبرمج: يكتب الكود دائما بطريقة احترافية وممتازة ومختصرة جدا وعالية الكفاءة Optimized

    أيضا، كما انه يستهلك جميع إمكانيات اللغة بكافة مكتباتها التنفيذية. ولكن لو قرأت شيفراته

    المصدرية، فهي ليست منظمة ويصعب فهمها او تتبعها (كما لو أنها مخطوطة فرعونية).


    المطور: يكتب الكود بطريقة احترافية لكنها اقل اختصارا واقل كفاءة من المبرمج.

    تنظيمه للشيفرات ممتاز، ولو تقرأ كوده ستفهمه بسرعة (كما لو أنها قصة أطفال).



    • في كتابة التعليقات:

    المبرمج: ذكرت قبل قليل ان المبرمج دائما ما يستهلك ويستفيد من جميع إمكانيات اللغة،

    ولكن التعليقات Comments هي الميزة الوحيدة في اللغة التي لا يستخدمها!


    المطور: لا يكتب التعليقات وحسب بل يهتم كثيرا في صياغتها وتنسيقها

    (خاصة في أعلى الملف)، لدرجة أنك قد تجد سطور اللون الأخضر اكثر بكثير

    من سطور الألوان الأخرى!


    • اختيار اللغات:

    المبرمج: يحب اللغات ((الغير)) مستخدمة بكثرة والتي يبتعد عنها أكثر الناس، كلغة التجميع

    Assembly او C، وإن تطور أكثر وأراد ان يخفف الضغط على نفسه، تعامل مع C+‎+‎ أو Delphi.


    المطور: يفضل اللغات التي تزيد من إنتاجيته Productivity، لغة Visual Basic هي أول وآخر

    اهتماماته، والـ Java اختيار ممتاز بالنسبة له أيضا. ولو تعامل مع لغات معقدة اكثر،

    فتأكد وثق ثقة تامة ان له حاجة ما في نفس يعقوب ولن يستخدمها في مشروعه الحقيقي!



    • بيئات التطوير:

    المبرمج: المفكرة Notepad اختياره الأول، ويفضل الادوات التي تعمل على DOS Prompt

    (او حتى التي تحاكيها على Windows Environment).


    المطور: Visual Studio 2005 من افضل الخيارات لديه (حاليا)، أو اي بيئة تطوير تزيد

    من إنتاجيته وتقدم له خدمات 5 نجوم 5‎ Stars.


    • نوعية المشاريع:

    المبرمج: يعشق المشاريع الدنيا Low Level كمشاريع النظم System Projects، او كتابة

    المشغلات Devices، او تلك البرامج التي تتعامل مع الموارد System Resources

    بشكل جريء. كما يعتبر الشخص المناسب لمشاريع الالعاب او الوسائط المتعددة.


    المطور: تطبيقات الأعمال Business Applications (والتي ركن من اركانها التعامل مع قاعدة

    بيانات Database) هي حلمه وشغله الشاغل فقط -ولا يريد سواها. ومع تطور خدمات


    ويب Web-Services، اصبح من عشاقها.


    • في كتابة المستندات Documents:

    المبرمج: من عاشر المستحيلات! وقد يقدم استقالته إن طلبت منه ذلك.

    المطور: يكره كتابة المستندات (كثيرا)، ولكنه لن يقدم استقالته إن طلب منه ذلك.



    • إن سألته سؤال:

    المبرمج: يظن أنك تقرأ أفكاره وتفهم كثيرا في الأمور الفنية وقد تسمع عبارات

    مثل: لا أستطيع ارسال قيمة المؤشر Pointer مع مكتبة DLL بسبب خروجها عن مساحة

    العنونة Address Space خاصة ان كانت خارج العملية المنفذة Running Process

    (او حتى بحقن المكتبات DLL Injection) والتي قد تسبب خطأ Fatal Error في حالة تطبيق

    رد CallBack او اعتمادي على خطف الرسائل Message Hooking بسبب مسالة

    الـ Protected Mode!


    المطور: يحاول قدر الإمكان تبسيط الأمور وعدم التوغل في التفاصيل التقنية (فحتى هو لا يريد)،

    وقد تسمع منه عبارات مثل: عندما تريد إضافة سجل في جدول العمليات، لابد ان يكون العميل

    مسجلا في جدول العملاء، والسبب ان احد متطلبات جدول العمليات تعبئة قيمة حقل تمثل

    رقم العميل.



    • في المظهر الخارجي:

    المبرمج: تجده صاحب قصات شعر غريبة وليست تقليدية كما لا يحب الملابس الرسمية Uniform.

    المطور: يعطي مظهره الخارجي اهتمام لا بأس به، صحيح أنه لا يصل لاهتمام مسئولو

    خدمات العملاء ولكنه يستعمل العطور أيضا.


    • في التعامل:

    المبرمج: قليل الابتسامة، وعندما تتحدث معه فلا ينظر إليك بالعادة، وتجده يراقب شاشته

    او أي شيء آخر في قاعة الاجتماعات.

    المطور: يبتسم لك (حتى لو كان لا يطيقك)، وعندما تتحدث معه فلا تنزل عينيه من وجهك.


    • أكثر موضوع يتجنبه ولا يفقه:

    المبرمج: المواضيع التي تتحدث عن هندسة البرامج وتصميم التطبيقات كنماذج التصميم

    Design Pattern او حسابات التكلفة Cost Managment او أوقات التسليم Deadlines.

    المطور: يقدر المواضيع السابقة ولكنه لا يطيق التحدث عن الأمور الدنيا كالمسجلات في

    المعالج Registers in the Proccessor ولغة الـ Assembly، او ادارة الذاكرة Memory Managment

    وتطوير النظم Systems Development، او جتى اجراءات Windows API.


    • أكبر عيبوبه:

    المبرمج: عنيد وجرئ، ان لم يقتنع في مسالة معينة فلا تتوقع انه سيتنازل من أجلك.

    التفاوض Negotiation صعب جدا معه.

    المطور: يناقشك وقد يحاول اقناعك بحلول اخرى، ولكن ان وجد منك العناد،

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










    ،
     
  2. Dr.cute

    Dr.cute New Member


    ملكة سبأ

    اشكرك على هذه التوضيحات والمعومات القيمه


    ولا تحرمينا جديدك

    لكِ حبي :v34:
     
  3. الامير

    الامير مشرف

    شكرا [blink]ملكة سبأ[/blink] على المعلومات القيمة والمفيدة​
     
  4. رد: الفرق بين المبرمج Programmer و المطور Devloper


    شكرا لك على التوضيح الجميل والراقي والمتميز

    لكنني أأمل ان يكون هنا قسم للبرامج المتوحة المصدر من لغات البرمجة وقواعد البانات

    وان شاء الله ينال استحسان الجميع
    كما نامل ان يكون فيه قسم طلبات للبرامج

    لك التقدير
     
  5. رد: الفرق بين المبرمج Programmer و المطور Devloper

    ملكة سبأ
    موضوع رائع وجميل
    كنت أجهل مثل هذه الأمور
    فأستفدت منها
    أنرتي بصائرنا بمثل هذه المعلومات
    لك كل الشكر والتقدير
     

مشاركة هذه الصفحة