Friday, February 3, 2017

كيفية تعلم البرمجة من الصفر, الطريق الامثل لتعلم البرمجة

تعلم البرمجة
إضافة تسمية توضيحية

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

اي لغة اختار لاتعلم؟ وكم لغة احتاج لاصل الي الاحتراف ؟
في علوم الحاسب يعتبر كُل مبرمج نفسه خبيراً بأغلب لغات البرمجة (إذا لم تكن كلها). حتى تلك اللغات التي لم يسمع عنها ابداً. قد تسأل لماذا؟ وكيف؟ لأن هندسة البرمجيات ليست مجرّد لغة أو (لغات). فعندما تعرف منطقها! من خلال المنطق فحسب، تستطيع ان تتعامل مع أي لغة برمجة. مع العلم اننا لانعتبركل لغة لها علاقة بالحاسب لغة برمجة فهناك لغات حوسبة مثل لغة C
HTML وهناك لغات تصميم مثل لغة
فلغات البرمجة سهلة جداً اذا كنت تعرف المنطق الاساسي الذي تشترك به كل لغات البرمجة.  إذاً ماهو المنطق الاساسي للبرمجة ؟ وكيف يمكن تعلمه ؟
 بسهولة هي أوامر ثابته لابد وأن تجدها في كل لغة برمجة. فعندما تعرف كيف يعمل كل برنامج فانت مبرمج.
 C++ولا يستعجل على النتائج فالتعامل مع لغة  C++ لذا أنصح المبتدئ بتعلم
نتائجها مبدئياً شاشة سوداء ولكن ستلاحظ انك بفترة وجيزة استطعت معرفة المنطق المقصود.
 كم لغة تحتاج؟ الجواب هو (المنطق فحسب). وتكون محترف بعدما تتعلم المنطق في تعلم الخوارزميات

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

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

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

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

هل المبرمج الاجنبي افضل من المبرمج العربي ؟
كشفت دراسات كثيرة أن نسبة المحتوى العربي على الانترنت لاتتجاوز 3% وتحتل اللغة العربية المركز السابع عالمياً من حيث الانتشار على الانترنت. تعلوها اللغة اللغة الألمانية بما يزيد عن نمو 0.3% مقارنتاً باللغة العربية. وأتوقع انا تفوق اللغة العربية بالانتشار على الألمانية بحكم عدد مستخدمين الانترنت العرب في السنوات المقبلة. علماً بأنه يقدر عدد مستخدمين الأنترنت العرب تقريبا 350 مليون مستخدم (احصائية 2011) بينما عدد المستخدمون الألمان تقريبا 100 مليون مستخدم (احصائية 2011). وتحتل المركز الأول اللغة الأنجليزية بنسبة 26.8% من محتوى الأنترنت وبمعدل نمو يكبر قليلاً عن منافستها اللغة الصينية التي هي بالمرتبة الثانية. رغم عدد متكلمي اللغة الصينية يفوق عدد المتكلمين باللغة الانجليزية وسبب تفوق اللغة الانجليزية هو اعتمادها كلغة اخرى لدى كثير من الشعوب واعتمادها ايضاً في المنظمات التعليمية في أغلب البلدان.
وذلك يعني ان معدل تطور الباحث العربي، يزيد بنسبة كبيرة لو أنه يعرف اللغة الانجليزية ويكون محدود! لو لم يكن يعرف اللغة الانجليزية وهذه حقيقة. ولا أنكر انك تستطيع تعلم الكثير باللغة العربية! فهناك محتويات كثيرة ومفيدة حقاً ورائعة وجهود بنّاءة، ولكن المحتوى باللغة الانجليزية أكثر واوفر للمتعلمين الباحثين. واثراء المحتوى العربي ستظهر نتائجة  إيجابياً بإذن الله ولكنه يحتاج وقتاً طويلاً إذا لم أكن مخطئاً حتى يصل الى ماوصل إليه المحتوى الانجليزي. كذلك لو تلاحظ ان كثير من المحتوى العربي مترجم. لذلك المحتوى الانجليزي اسبق واوفر. ولا يعني اثراء المحتوى العربي الغاء اهمية تعلم اللغة الانجليزية.

هل اي شخص يستطيع تعلم البرمجة ؟
البرمجة ليست موهبة بل هي مهارة مكتسبة عن طريق التعلم المستمر لها لكن يشترط قبل تعلمالبرمجه ان تكون محبا للبرمجه

0 التعليقات:

Post a Comment