البرمجة ليست كغيرها من المجالات ، فالحقيقة التي لا يخبرك بها أحد أن البرمجة فعلًا صعبة فهي ليست عبارة عن أكواد تحفظها عن ظهر قلب أو أكواد تقوم بنسخها وإلصاقها في محرر أكوادك ، فالحواسيب غبية لا تفهم سوى ال 0  و ال 1 أو الTrue  وال False ،
بل إن البرمجة كما هو معروف يغلب عليها الفهم أكثر من الحفظ ، قد لا تلاحظ تلك الصعوبة في التطبيق على أشياء صغيرة كصفحة ويب بسيطة أو برنامج حسابي بسيط ، بل ستشعر بها عند التطبيقات الكبيرة ...
وهذه الصعوبات والمشاكل التي ستواجهها عند صنع تطبيقاتك وبرامجك هي ما يطور من مهاراتك وقدراتك في حل المشكلات والتحليل ، وهذا ما يجعلك حقًا تعشق البرمجة .
سؤال منطقي ، والإجابة تتوقف على عدة عوامل ، أولها هي مستواك في البرمجة بمعنى لو كانت لغة البرمجة التي ستتعلمها هي الأولى لك ، فحينها ستأخذ وقتًا في فهم العديد من المفاهيم البرمجية كال loop وال Function وال Arrays وال Data Types وغيرهم من المفاهيم التي ستكون غريبة لك لأنك أول مرة تتعرف عليها وبالتالي ستأخذ وقتًا أكبر ، أما لو كانت لديك معرفة مسبقة بلغة برمجية فإن الانتقال من لغة لأخرى سيكون أسهل كونك تعرف قدرًا كبيرًا من الأساسيات والمفاهيم المتعلقة بالبرمجة .

العامل الثاني أن كل لغة تختلف عن الأخرى ، بمعنى أن الوقت الذي تحتاجه لتعلم الJavaScript ليس كالوقت الذي تحتاجه لتعلم الC ، العامل الأخر هو قدراتك الاستيعابية في الفهم والتطبيق كذلك الوقت الذي ستعطيه لتعلم البرمجة ، فتخصيص ساعتين يوميًا ليس كنصف ساعة ... أيضًا قوة المصدر الذي ستتعلم منه فهل هو متمكن ؟! هل هو مصدر شامل أم ضعيف ؟!
-
إذن فليس هناك وقت محدد لتعلم البرمجة فالوقت يعتمد على عوامل ؛ لذا تهرب من الدورات والكورسات التي تخبرك بأنك ستتعلم لغة الJava في ساعة واحدة والمواضيع التي تستغل العناوين المُغرية من أجل جلب زوار .

المعرفة الرياضية البسيطة كالجمع والطرح والضرب والقسمة وبعض المفاهيم الأخرى كافية ، فنجد أطفال من عمر 9 سنوات و 10 سنوات يتعلم البرمجة وهو في الأساس لم يسمع عن التفاضل والتكامل مُطلقًا ، فباختصار لن تحتاج الرياضيات إذا كنت تعمل على برمجة موقع أو تطبيق أندرويد أو iOS مثلًا ، لكن ستحتاج لمعرفة قوية حينما تعمل على تطبيق محاسبة كبير لحل عمليات ومعادلات رياضية معقدة .
-
يربط الكثيرون بين البرمجة والرياضيات لوجوه الشبه الموجودة بينهم في تقديم الفائدة والمتعة العقلية لعشاقهم ، فالرياضيات تنمي لديك القدرة على التفكير والإبداع والإصرار على حل المشكلات ، وكل هذا تعلمك البرمجة إياه  .
في الحقيقة أسأم من النقاشات المطروحة على مواقع التواصل الاجتماعي والشجارات التي يُحدثها بعض المبتدئين حول ما هي أفضل لغة برمجة ... فتجد أحدهم يُجزم بأن البايثون هي أفضل لغة برمجة وأخر يعدد في ميزات الجافا بينما أحدهم يذكر الجافا سكريبت وتطورها ، ومن بين كل هذا يخرج أحدهم ليصدم الجميع بأن الHTML هي أفضل لغة برمجة 😊 .-هذا السؤال غير منطقي تمامًا كأنك تقول مثلًا أن هندسة الميكانيكا أفضل من العمارة أو طب الجراحة أفضل من طب المخ والأعصاب ، لغات البرمجة بمثابة أدوات تُوصلك لما تريد ؛ لذا فلا يوجد لغة أفضل من الأخرى ، لكل لغة مميزاتها واستخداماتها التي تجعلك تفضلها عن الأخرى ... فدعك من هذه النقاشات المختلفة واستمتع بمسيرتك في تعلم البرمجة .
دعنا من أن المصطلحات الموجودة في لغات البرمجة ومفاهيم البرمجة عامةً يُفضل معرفتها بالإنجليزية ، لكن دعنا نتحدث عن خطواتك الأولى في تعلم البرمجة ... يجب أن تعلم أن أغلب المحتوى الموجود على الإنترنت مُقدم باللغة الإنجليزية،
-
لنتحدث عن سوق العمل ... سواءً في الشركات أو في العمل الحر على الإنترنت فإن إتقانك فمعرفتك للغة الإنجليزية سيفتح لك فرص عمل كبيرة بمبالغ محترمة خصوصًا على مواقع العمل الحر الأجنبية ؛ لذا يجب أن تكون لك نظرة مستقبلية وأن تسعى لتعلم الإنجليزية ليس من أجل البرمجة فقط لكن من أجل أن تفتح لنفسك الفرص وتسهل الكثير من الخطوات عليك .
سؤال يشغل الكثير ... لدي شغف وحب وخطة لتعلم البرمجة ، لكن في الحقيقة لا أملك أية مصادر أتعلم منها ، هناك من يفضل أخذ دورة في مكان أكاديمي وأخر يفضل التعلم الذاتي عبر الإنترنت