اهم ما يمييز لغة البرمجة بايثون هو كثرة مكتباتها وروعتها ومدى فائدتها. فَكر بأي فكرة وستجد هناك مكتبة تسهل عليك 60% من المجهود ومن الوقت. وماجعل الامر افضل هو ان بايثون سهلت علينا طريقة تنصيب وادارة هذه المكتبات عن طريق مدير للمكتبات اسمه pip. هذا بكل بساطة ممكن يساعدك بالتنصيب ، تحديث وازالة المكتبات. قمت بعمل شرح كامل لـ pip manager يمكنك الاطلاع على الشرح الذي يحوي مثال عملي:
هناك أربع مبادئ رئيسية في البرمجة الكائنية التوجه Abstraction, encapsulation, inheritance and polymorphism في هذه التدوينة سأتكلم عن التجريد abstraction المفهوم ببساطة هو التجرد من التعقيدات والتفصيلات الدقيقة التي لا يهمني معرفتها كي اقوم بتنفيذ ميثود معين داخل كلاس كتبه مبرمج آخر! يعني مثلا لا يهمني اني اعرف كيف تم عمل 'dcba'.sort() كيف رتبت هذه الميثود الموجودة في كلاس String مابهمني هو فقط أتأكد بأن وظيفتها تطابق حاجتي وكيف اقوم باستخدامها ك(كيفية الاستدعاء، عدد العوامل الحقيقة التي يجب ارسالها عند الاستدعاء) هذا سيفتح باب واسع جدا البناء السريع على خبرات بعضنا البعض وعدم الوقوع في دوامة انك يجب أن تعرف كل تفصيلات النظام المعقد! اغلب الشركات العظمى حالياً تستخدم مكتبات برمجية جاهزة مثل مكتبات الذكاء الاصطناعي scikit learn and tensor flow ومكتبات الويب مثل Django and flask لذلك ياصديقي لا تحمل نفسك اكبر من الوقت الذي لديك ولا الجهد لتدخل نفسك بكل التفاصيل الصغيرة الغير مؤثرة ودع جمالية التجريد تسهل عليك عملك 🙂👍🏼
من اكثر المفاهيم البرمجية المزعجة لنا كمبتندئين هي البرمجة الكائنية التوجه. ودائما ما كنا نشعر بعمد اهميتها بل نستطيع ان نبني اي شئ بدون ان نصدع رؤوسنا بمفاهيم البرمجة الكائنية وشروطها. لكن عند تقدم خبراتك البرمجة وتقدم مستوى البرمجيات التي تعمل عليها وحاجتك الى فريق عمل برمجي متكامل تظهر الحاجة الى هذه الكبسولات البرمجية التي تسمى Class. الكلاس البرمجي هو وحدة برمجية منفصلة من ناحية الكود التفنيذي (دوال) وفي البيانات. ويوُصي احد مبادئ البرمجة الكائنية وهو التغليف بأهمية ان تكون الكلاس مغلفة كوحدة برمجية مستقلة من اي امكانية تدخلات خارجية على محتوى الكلاس. هذا المفهوم ساهم في تقليل التعقيد الحاصل من كمية الاتصالات بين اجزاء النظام. وجعل فقط الكلاس نفسه قادر على التحكم باجزاءه الداخلية.
تعليقات
إرسال تعليق