2013/01/14

ما الفرق بين لغات البرمجة ؟ ماذا أختار ؟ و كيف أصبح مبرمج محترف ؟

 ما الفرق بين لغات البرمجة ؟ ماذا أختار ؟ كيف أصبح مبرمج محترف ؟

أي شخص منا يفكر في تعلم لغة البرمجة يطرأ في ذهنه عدة تساؤلات يحتار في الإجابة عنها فلا بد له ان يختار الطريقة الصحيحة و السليمة لتعلم أي لغة من لغات البرمجة،من بين هذه التساؤلات التي ربما لا توجد لها أجوبة منطقية لكني سأذكر لكم تفاصيل كل سؤال.

مبرمج لغة لغات البرمجة برنامج ما هي أسهل لغة برمجة ؟ 

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

و ما هي أفضل لغة ؟

قد تكون اجابتي غريبة لهذا السؤال لكن لا توجد أفضل لغة برمجة كل لغة لها مزاياها و عيوبها وكل لغة برمجة تكون أفضل من لغة أخرى في مجال معين و أسوأ في مجال آخر.

اذا ما هي اللغة التي أختار ؟ ما الفرق بين لغات البرمجة ؟

أولا اذا لم تبدأ بعد يتعلم أي لغة برمجة فيجب أولا أن تضع هدفا لك لكي تستطيع اختيار اللغة المناسبة لك و ذلك باتباع المعايير التالية:
 هل تريد ان تبرمج برامج لنفسك ام  تريد ان تبرمج لشركات أي حسب الطلب أي من أجل المال ، فهناك مثلا من يريد برمجة برامج مكتبية للوندوز فهنا أنصحك باختيار لغة البرمجة سي شارب c# sharp فهي تتميز بسهولة في التعامل مع النوافذ و قواعد البينات كما أنها تحتوي على عدد كبير من الدوال الجاهزة ، طبعا انا أتحدث هنا عن C#.Net .
كما هناك أيضا من يريد برمجة تطبيقات للهواتف خصوصا في وقتنا الحالي مع الإنتشار الكبير للهواتف الذكية و تطبيقاتها 
فهي المسيطرة على السوق تقريبا ، خصوصا مع نظام التشغيل المجاني الأندرويد android الذي يتيح لك بكل سهولة تطوير تطبيقات بعدة لغات برمجة ، مثل java و c++ ايضا يمكنك البرمجة ب c# .
الخاصية المميزة في البرامج  المبرمجة بلغة java هي أنك تستطيع تشغيلها على جميع انظمة التشغيل. كما ل c++ نفس الميزة تقريبا الا انك يجب أن تحول الكود البرمجي من C++ الى برنامج في النظام التي تريد ان يعمل عليه البرنامج.

كيف أصبح مبرمج محترف ؟

أثناء تجولي في مواقع الأنترنت عثرت على هذه المقالة التي أعجبتني كثيرا لأنها تجيب عن معظم الأسئلة الشائعة :  

       اذا قمنا بتحديد السمات الأساسية للمبرمج المحترف سنجدها كما يلي :
أصبح وجود المبرمج المحترف الذى يصلح أن يطلق عليه هذا اللقب نادرا جدا خاصة فى تلك الأوقات وذلك لسعى الجميع وراء المكاسب المادية وعدم سعيهم الى الاحتراف .
فأصبح من يقوم بتعلم لغة ما برمجيه يطلق على نفسه مبرمجا محترفا متجاهلا المعايير التي يجب أن يأخذ بها لكي يطلق على نفسه مبرمجا محترفا .
يستحضرني موقف ضحكت عليه كثيرا وهو شخص أطلق على نفسه مبرمجا عندما قام ببرمجه قطعتان من الماكرو .فهو أطلق على نفسه مبرمجا لمجرد كتابته لقطعتان من الماكرو وعندما سألته هل تنوى ان تتعلم لغات أخرى رد على بثقه شديده وقال : " لقد وصلت الى البرمجة الى هذا بدرجة الاحتراف ولا أريد درجه اعلى منها ".

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

1- يستخدم أسلوب حل المشاكل لحل أي مشكله برمجيه تقف امامه ويتتبع أقصر الطرق لكتابة الكود البرمجي الذى يريده فلا يوجد أي داعى لتعقيد الأسطر البرمجية الخاصة بك فهي فى البداية والنهاية لك فجعلها بسيطه يسهل عليك عملية تديلها واضافة المزيد من الخواص لها .

2- لا يقتصر علمه على لغه واحده فقط فطالما هو مبرمج هو يتعلم لغات أكثر وأكثر فهو على على ودراية تامه أن الانتقال من لغة برمجه الى لغة أخرى هو أمر فى غاية السهولة ولا يحتاج الى وقت كبير مقارنه بتعلم لغة برمجه من البداية .

3- يعلم ما هي لغة الآله وما هي اللغة الأصل للغة التي يستخدمها فهو على علم ودراية أنه لن يستخدم لغة الآله فى عمله ولكنها تعمل على توسيع مداركه وفهمه لطبيعة عمله كمبرمج فمثلا اذا كنت مبرمجا بلغة الكوبول أو لغة الفيجوال بيسك فدرايتك بلغة الآله هو أمر ثانوي بالنسبة لك ولكنه سيعني كثيرا من التغيرات بالنسبة بينك وبالنسبة لأي مبرمج آخر . واذا كنت مبرمجا بلغة php فالمصدر الأصلي لها مكتوب بلغة السي والسي ++ ودرايتك وعلمك بتلك اللغتان يعنى بعض التغيرات بينك وبين المبرمج التي لا يعلمهم . فأنت بذلك تقوم بتوسيع مداركك كمبرمج وتوسيع دائرة تفكيرك فى طرق حل المشاكل وتعطى لك الاحساس بما يحث داخل الآله عند تنفيذ برنامجك .

4- يتعامل المبرمج المحترف بشكل مألوف مع عدد من الأدوات والطرق البرمجية وعلى قدرة تامه لاختيار أفضل الأدوات لكل وظيفة يريد أن يطبقها وعلى استعداد تام لتعلم الجديد من الأدوات والطرق اذا استدعى أمره لذلك .

5- "كافة الطرق تؤدى الى روما" كما قلنا أن المبرمج المحترف يتبع أقصر الطرق فلا يوجد أي مانع من استخدام الأكواد الجاهزة فى تطبيقاته فهي تقوم بانجاز العملية المطلوبة فى وقت قصير وكفائه عاليه فلا مانع من استخدام الكلاسس الجاهزة أو استخدام الأدوات الجاهزة المنتشرة بكثره . فالمبرمج المحترف لا يتعب نفسه بكتابة الكود البرمجي كاملا من الألف الى الياء ولكنه كما قلنا يتبع أقصر الطرق .

6- كمبرمج محترف تعلم لغة برمجه جديده أو تعلم أداه جديده أو طريقة جديده من طرق البرمجة لشئ معين يجب أن يكون عادة يوميه أو عادة متكرره بشكل متتابع لا ينقطع ويجب عليك أيضا كمبرمج محترف ان تقوم باسترجاع ما قمت بتعلمه قبل ذلك بصفه دوريه واتخاذ بعض النقاط الخاصة بك للرجوع لها مره أخرى وعملها كملاحظات فى دفتر يختص بك يمكنك الرجوع اليها عند احتياجك لها أثناء عملك .

7- " العلم بالشئ أفضل من الجهل به " كثيرا من مبرمجي ميكروسوفت لا يملكون أي أدنى معلومات عن أنظمة اللينكس وأيضا كثيرا من مبرمجي البى اتش بي لا يملكون أدنى معلومات عن لغة asp او asp.net وكذلك كثيرا من مبرمجي php لا يعلمون Object Oriented Scripting وكيف هي بدرجه عاليه من السهولة وقادره أن تختصر الوقت بدرجه عاليه .

8- مبرمجي لغات المصدر المفتوح هم أكثر تفتحا من مبرمجي لغات المصدر المدفوع ففى لغات المصدر المفتوح كل شئ هو واضح ومفتوح وكثير من المبرمجين يفضلون هذا النوع عن غيره .

9- أعلم دائما أن الله مطلع عليك وأن ما توفيق لك الا بيد الله فأطع الله وحافظ أن تكون علاقتك به بشئ من الاتصال الدائم بدون انقطاع وراع وجه الله فى عملك ولا تعمل أي شئ يغضبه



12 تعليقات :

  1. غير معرف20/1/13 16:25

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

    ردحذف
    الردود
    1. العفو أخي و شكرا على التشجيع.
      البرمجة هي حلول المشاكل التي تواجهنا يوميا فكل شخص يحتاج الى برمجة وقته مثلا، لذا فكلنا نحتاج الى تعلم البرمجة سواء الميكانيكي أو الطبيب أو الكيميائي.
      لتتعلم البرمجة بطريقة جيدة لا تحاول أن تتعلمها بسرعة بل تععلمها خطوة خطوة و كرر الدروس كلما كان لديك الوقت لذلك

      حذف
    2. غير معرف16/2/13 09:31

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

      حذف
  2. غير معرف25/2/14 15:36

    اشكرك كثير علي هذه المقاله الرائعه واتمني من الله سبحانه وتعالي ان يزيدك من علمه لكي تنفع بها اخوانك في الله
    كما اتمني ان اكون مبرمج محترف
    فاذا كان عندك معلومات تسطتيع ان تنفعني بها فتواصل معي علي الايميل الخاص بي ولك جزيل الشكر وجزاك الله كل خيرabdo_foxlove@yahoo.com

    ردحذف
  3. غير معرف11/10/14 15:12

    شكرا لك على هذه المعلومات المفيدة
    وسؤالي: أني لم أدخل عالم البرمجة قط ولا أعرف عنها شيئا، فلذا سأبدأ من الصفر لتصميم موقع خاص بي، لكنه يعتمد على صفحات تواصلية (تفاعلية) كسؤال وجواب، وراسلنا...الخ
    فأي لغة تنصحني بتعلمها؟ وهل وورد برس يفي بالطلب؟
    أرجو مساعدتي جزاكم الله خيرا

    ردحذف
    الردود
    1. اهاااا الوردبرس تفي بالغرض

      حذف
    2. اهاااا الوردبرس تفي بالغرض

      حذف
  4. مشكوووووووور جداااا علي هذه المعلومات المفيدة والأكثر من رائعة

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

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

    ردحذف
  7. جزاك الله كل خير. انا بشتغل network admin و اريد البدا في البرمجه و تاريبن هبدا منweb develope هل ده تمام ولا في افكار تانيه و شكراا

    ردحذف