لماذا تعد Python اختيارًا سيئًا للغة برمجة أولى؟





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

اذا لماذا ...



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







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



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



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



أولاً ، سوف يمنحك فهمًا أفضل لكيفية عمل المعالج والأجهزة الإلكترونية الطرفية في جهاز الكمبيوتر الخاص بك.



ثانيًا ، ستبدأ في فهم رسائل الخطأ في نظام التشغيل.



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



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



ومع ذلك ، انتبه إلى الوضع الحالي للبرنامج. إذا احتجت سابقًا إلى معالج 8 بت لإطلاق قمر صناعي إلى الفضاء ، فلدينا الآن العديد من علامات التبويب في المتصفح مع تباطؤ وحدة المعالجة المركزية 2-4 النواة 64 بت. لذلك ربما السبب هو فقط في المطورين ، وليس في الأجهزة "الضعيفة"؟

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



اكتب في التعليقات إذا كنت توافق على هذه الفكرة؟ أم أنك تتبع نهجًا مختلفًا؟



All Articles