كيف تتعلم لغة البرمجة

كيف تتعلم أي لغة برمجة


باعتباري شخصًا له خلفية هندسية ميكانيكية ، ليس لدي خبرة برمجية رسمية.

كيف تتعلم لغة البرمجة
كيف تتعلم لغة البرمجة



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

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

من خلال مشاركة تجاربي الخاصة ، سأزودك ببعض النصائح حول كيف يمكنك البدء في تعلم التوليف بأي لغة برمجة بنفسك.


فهم الأساسيات: حزمة المبتدئين

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

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

تجدر الإشارة إلى أن HTML ليس لغة برمجة من الناحية الفنية ؛ وهذا يعني أنه لا يمكنك إجراء حسابات مثلك باستخدام لغة تقليدية. مع CSS ، هذه مجرد لغة للتعامل مع الواجهة الأمامية لصفحة ويب. لكنها تمثل نقطة انطلاق رائعة ، ومن المهم للغاية أن تتعلم قبل إنشاء مواقع ويب أكثر تعقيدًا بلغات مثل PHP و Ruby on Rails و Python .

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


إنشاء مجموعة أدوات التعلم المصغر

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

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

عند تعلم لغة برمجة ، أقوم بإنشاء مجلد أو مستند به أقسام منفصلة لكل أمر جديد أواجهه. هذا هو ما أسميه "مجموعة أدوات التعليم المصغر". هنا ، أدرج جميع الروابط المفيدة (من مواقع الويب مثل Quora أو StackOverflow أو لوحات الرسائل الأخرى المتعلقة بالبرمجة) التي يمكنني العثور عليها في هذا الموضوع مع ملاحظاتي الشخصية.

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


تفسير البرامج النصية في العالم الحقيقي

في تجربتي ، فإن أفضل طريقة للراحة مع تعلم لغة جديدة هي من خلال النظر في الأجزاء الموجودة من الكود على الإنترنت.

دعونا نحاول تعلم بايثون ، على سبيل المثال. لقد اخترت هذا لأنني لم أر قط برنامج Python حتى الآن ، لذلك سأتعلم اللغة أثناء كتابة هذا المقال.

الآن ، المكان الأكثر فائدة لتعلم النصوص في أي لغة هو جيثب . يوفر لك هذا الرابط مئات البرامج النصية المكتوبة بلغة بايثون.

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

بالنقر فوق الملفات المصدر ، ستجد صفحة باسم face_detection_cli.py . من اسم الملف ، يبدو أنه أحد الصفحات الأكثر أهمية للبرنامج.

كيف تتعلم لغة البرمجة


لنبدأ بفهم ما يحاول النص تحقيقه هنا. ستلاحظ أن السطر الأول من التعليمات البرمجية ، والذي يبدأ بعلامة التجزئة (#) ، باللون الرمادي. رمز Grayed-out هو عمومًا تعليق يضاف إلى البرنامج النصي ، حتى نتمكن من تجاهل ذلك. في أي حال ، إذا لم تكن متأكدًا مما إذا كان بإمكانك أو يجب عليك تجاهل سطر التعليمات البرمجية هذا ، فيمكنك تأكيده من Google.

كيف تتعلم لغة البرمجة


نعم ، نحن على صواب في هذه الحالة. دعنا ننتقل إلى الأسطر التالية.

من عمليات الاستيراد المستقبلية print_function ،
انقر فوق
Import os

يحتوي الكثير من لغات البرمجة الحديثة على بناء جملة يسهل فهمه. من الرمز أعلاه ، يبدو أن هذا البرنامج النصي يحاول الاستفادة من البرامج النصية المكتوبة في مكان آخر.

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

ومع ذلك ، __future__ ليس له معنى كبير ، لأننا ما زلنا نتعلم هذه اللغة. يمكن أن تكون قاعدة بيانات أو مجلدًا ، ولكن قد يكون الخطأ هنا.

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

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

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

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


كتابة الطلبات الخاصة بك

تعلم لغة البرمجة لا يكتمل أبدًا دون معرفة كيفية كتابة البرنامج الخاص بك من البداية باستخدام تلك اللغة.

قبل الغوص في كتابة التطبيق الخاص بك ، يعد اختيار هدف البرمجة الصحيح أمرًا بالغ الأهمية. يمكنك دائمًا اختيار البدء برمز "Hello، World" البسيط ، لكن هذا لا يفعل شيئًا لاختبار مهاراتك البرمجية لأن كل ما تفعله هو طباعة سطر من النص.

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

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

العمل تدريجياً على حل مشاكل أكثر تعقيدًا لتصبح مبرمجًا خبيرًا في اللغة الجديدة.


لماذا التعلم التقليدي ليست جيدة بما فيه الكفاية

قبل أن نختتم ، يجب أن أخبرك لماذا ، من تجربتي ، هذه الطريقة أفضل من الأشكال التقليدية لتعلم لغة البرمجة.

كيف تتعلم لغة البرمجة


هناك العشرات من أدلة شاملة للغاية لجميع لغات البرمجة الشعبية. السبب في أنني لا أجدها جيدة بما فيه الكفاية هو أنهم يعلمون الترميز من الألف إلى الياء. تبدأ معظم الكتب في تعليم المتعلم حول كتابة رسالة "Hello، World" وتأخذها بشكل تدريجي عبر العناصر الأكثر تعقيدًا في اللغة.

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

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

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

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



نتمنى لك دوام الصحة والعافية .
ونحن على استعداد لا اي استفسار.
التواصل معنا على الايميل
ahmed@creativity-excellence.com
او اطرح تعليقك اسفل التدوينة
ونحن في خدمتكم
الابداع والتميز
creativity-excellence
طريقك نحو الحقيقة
Ahmed Shammakh
احمد شماخ

تعليقات