كيف تتعلم أي لغة برمجة في زمن قياسي وبدون خبرة مسبقة

omar235

عضو جديد
إنضم
14 أكتوبر 2020
المشاركات
2
مستوى التفاعل
11


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

1- تعلم اللغة الإنجليزية بشكل جيد


قد يكون هذا الأمر بديهياً لكنه ما يزال غير واضح لكثير من الناس فبعض الأشخاص بعتقدون أنه من غير المهم تعلم اللغة الإنجليزية لتصبح مبرمجاً لكن دعني أسألك سؤالاً: بأي لغة تكتب لغات البرمجة الأشهر والتي تريد تعلمها. ربما تجاهل هذا السؤال ودعني اسألك سؤال آخر: هل تعلم أن 90% من مصادر تعلم البرمجة متوفرة باللغة الانجليزية؟ وهل تعلم أنك غالباً لن تجني شيء من تعلمها من المصادر العربية. هناك عدد لا نهائي من الاسألة التي يمكن أن أطرحها الآن لكنني سأكتفي بهذا كي لا أصيبك بالملل. ودعنا ننتقل لشيء أهم. مكون أساسي من لغات البرمجة هي ال Keywords او الكلمات المفتاحية وهذه الكلمات هي اختصارات لجمل وعبارات انجليزية شائعة وعلمك باللغة سيسهل عليك كثيراً تعلم هذه الكلمات وتذكرها لا وبل سيسهل عليك فهم المنطق في عمل اللغة. ويمكنني أن أذكر لك مئات الأسباب المشابهة والتي ستعيقك في تعلم اللغة في حال لم تكن لغتك الانجليزية جيدة نوعاً ما. وفي حال كنت تفكر الآن بطريقة لتعلم اللغة فأنصحك أن تبدأ بتطبيق دولينجو Duolingo. وفي حال اكملت كل ما في هذا التطبيق فأنا واثق انك ستكون قادراً على ايجاد مصادر اوسع ولكن هو الأفضل كبداية.

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

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


لغة بايثون تعتبر لغة جديدة نوعاً ما فقد تم اطلاقها لأول مرة في عالم 1991 ومنذ ذلك الوقت ولغة بايثون تعتبر من اسهل اللغات للمبتدئين إذ أن هذه اللغة تعتبر أبسط من أي لغة أخرى مثل جافا او C++ فهي تتميز بمكونات بسيطة لا تتضمن التعقيد الموجود في غيرها من اللغات ولا تتطلب فهم عميق لطريقة عمل الكود او طريقة جريان البرنامج وسيكون من الأفضل لأي شخص جديد أن يبدأ بها. ناهيك عن أن هناك ملايين لا بل مئات ملايين المصادر المجانية لتعلمها وهناك عدد كبير جداً من الموقع التي يمكن أن تساعد أي شخص جديد ان يتعلمها ويسأل في حال واجهته مشاكل. لذلك فهي خيار رائع وسأذكر لك الآن بعض المصادر التي استفدت منها شخصياً.
1- تطبيق Solo Learn Python
Image result for Sololearn

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

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

3- موقع Coursera

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

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

4- دون النصائح التي يعطيك إياها مقدم الكورس
إحدى أفضل الطرق التي ساعدتني في تعلم البرمجة هي تدور نصائح المبرمجين المتمرسين والذين تعلمت منهم ففي بعض الأشياء أن فقط بحاجة الى ان تغير طريقة تفكيرك فكما هو معروف المنطق الخاص بالبرمجة مختلف عن المجالات الأخرى ومختلف عن طريقة تفكيرنا في الواقع. واحدة من النصائح التي أفادتني وسهلت علي الأمور هي عندما أخبرتني إحدى المحاضرات في الجامعة أن أقوم بالإبطاء من تفكيري. لقد قالت "أبطئ عقلك". لا أعتقد ان هذا الأمر واضح لك الآن إلا اذا كنت قد بدأت عملية التعلم بالفعل لكنني سأحاول الشرح بشكل بسيط. عندما تفكر بطريقة عمل البرنامج فيجب ان تفكر ببطء كي تفهم كيف تحدث العملية داخل التطبيق او البرنامج.
تخيل أنك تريد أن تحضر تفاحة من الثلاجة! كيف يمكنك أن تقوم بذلك في العالم الواقعي؟
بالطبع ستذهب الى الثلاجة وتحضرها لكن في عالم البرمجة يتم الأمر بهذا الصورة.
1- ستحدد موقعك الحالي واتجاه الثلاجة
2- ستحرك قدميك بخطوات بذلك الاتجاه حتى تصل
3- ستحدد الآن مكان مقبض باب الثلاجة وتحرك يدك باتجاها
.......الخ

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

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

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