• هل انت مطور "Developer" ام مبرمج "Programmer"

    كل واحد منا بيتعلم البرمجة لكنة لا يعرف ان شخصيتة ستؤثر على عالمة البرمجى
    باختصار يوجد مصطلحين لمهنسى البرمجيات
    Developer
    Programmer
    ...يوجد اختلاف شاسع بين الاتنين فى الحياة العامة قبل الحياة البرمجية
    لكى تعرف هل انت تنتمى الى اى نوع من الاتنين جاوب على الاسئلة القادمة
    اولا: اذا تحدث اليك شخص واختلفتم فى النقاش وانت مقتنع تماما بما تقول
    1- اصر على رايى حتى لو رحنا القسم
    2-عادى اخد الموضوع بسلاسة وممكن اغير الموضوع
    ثانيا: اية نوع ملابسك
    1-الكلاسيك
    2-الكاجول
    ثالثا : اية هية تسريحة شعرك
    1-من ايام السبعينات
    2-بحط جل فى شعرى
    اذا كنت من الفئة الاولى فانت 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.
    فهل انت مبرمج ام مطور؟؟
  • 4 comments:

    1. I'm web developer

      ReplyDelete
    2. موضوع رائع جداااااااااااااااااااااااااااااااااااااااااااااااا

      ReplyDelete
    3. It's funny wonderful article :D :)

      ReplyDelete