"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل تريد أن تصبح مهندس برمجيات؟ صعوبة التعلم من أعلى إلى أسفل.

هل تريد أن تصبح مهندس برمجيات؟ صعوبة التعلم من أعلى إلى أسفل.

تم النشر بتاريخ 2024-08-06
تصفح:685

Want to be a software engineer? The difficulty of top down learning.

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

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

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

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

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

هذا ما أسميه الآن لعنة التعلم من أعلى إلى أسفل!

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

لم أكن أقدر التجريدات التي كنت أستخدمها!

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

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

أتمنى أن تكون هذه هي الطريقة التي بدأت بها. اتكئ من أخطائي!

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/prismlabsdev/want-to-be-a-software-engineer-the-difficulty-of-top-down-learning-f9p?1 إذا كان هناك أي انتهاك، من فضلك اتصل بـ [email protected]
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3