عند دخولي لمجال البرمجة، رشح أصدقائي من أصحاب الخبرة عدة لغات برمجية، وكانت من ضمن الاختيارات لغة بايثون، اللغة التي أصبحت من أكثر اللغات البرمجية شيوعًا اليوم، نعم هي اللغة التي يستخدمها الجميع، من مطوري الويب إلى مطورين سطح المكتب إلى علماء البيانات، وحتى الأشخاص العاديين بشكل متزايد. بل باتت جزءً أساسيًا في المناهج الدراسية للطلاب في الكليات المتخصصة مثل كلية علوم الحاسوب في بعض الدول وذلك لمميزاتها الكثيرة والتي لامستها فعليا منذ استخدامها وهي كالتالي:
- بايثون لغة سهلة التعلم والكتابة(Python is an easy language to learn and write): فهي لغة برمجية عالية المستوي ، ولها بناء برمجي يشبه اللغة الإنجليزية ؛وهذا يجعل من السهولة قراءة وفهم الكود .
- تحسين الإنتاجية(Productivity improvement): فبايثون لغة منتجة للغاية بسبب بساطتها يمكن للمطورين التركيز على حل مشكلة ولست بحاجة الي الكثير من الوقت في فهم بنية أو سلوك لغة البرمجة .
- لغة مفسرة (interpreted language): فبايثون لغة مفسرة يعني تنفذ الشفرة البرمجية مباشرة سطر بسطر ؛ وهي تعني في حاله حدوث خطاء فإن البرنامج لن يتوقف بشكل كامل بل يتوقف الجزء الذي فيه الخطاء فقط ، وهذا يساعد بشكل كبير علي معالجة الأخطاء .
- لغة ديناميكية(Dynamic Language) : فبايثون لا تعرف نوع المتغيرات بل تقوم تلقائياََ بتعيين نوع البيانات أثناء التنفيذ، فلست بحاجة إلي التصريح عن المتغيرات وأنواع بياناتها .
- مجانية ومفتوحة المصدر (Free and open source): فبايثون لغة مجانية مفتوحة المصدر بموجب ترخيص OSI والذي يجعلها مجانية للإستخدام والتوزيع .
- دعم مكتبات ضخمة(Huge Libraries Support) : يمكنك تقريباََ أن تجد جميع الوظائف اللازمة لمهمتك في جميع المجالات من تطوير الويب والألعاب وسطح المكتب .
- قابلية الإستخدام(Usability) : في لغات كثيره مثل Java , C تحتاج إلي تغير الكود الخاص بك لتشغيل البرنامج علي منصات مختلفة ، ولاكن مع بايثون يمكنك فقط كتابة الكود مرة واحدة ويعمل علي أي منصة تريد .
والآن شاركوني أهم استخدامات بايثون بالنسبة لكم، وما هي أهم العيوب التي واجهتكم أثناء الاستخدام؟
التعليقات
بالطبع أشهر استخدامتها هي برمجة التطبيقات وإنشاء وادهات المستخدم وواجهات برمجة التطبيقات وتقدم أكاديمية حسوب دورة متخصصة في تطوير التطبيقات بلغة بايثون وهذا يجسد أهميتها في هذا المجال.
أيضا تعد خيارا جيدا لتطوير الويب، وهذا يعود لتوافر العديد من أطر العمل مثل Django, flask ويمكن إنشاء مواقع مثل ريديت بهذه اللغة. وهذا بفضل المكتبات والوحدات النمطية الشاملة التي تأتي مع أطر عمل بايثون.
وباستخدام الألعاب البسيطة وتطوير نموذح أولي بسرعةرغم انها بعيدة عن كونها أساسية في هذا المجال.
وتستخدم في تحليل البيانات والذكاء الاصطناعي
ومن أشهر عيوبها ظهور أخطاء وقت التشغيل كونها لغة مكتوبة ديناميكيا فإنها تطلب المزيد من الاختبارات وتحتوي على أخطاء لا تظهر إلا وقت التشغيل.
أحسنت فبايثون لغة قوية جدا ولها إستخدامات كثيرة ، ولاكن ألا تري أن هذا العيب الذي ذكرتة يعتبر ميزة في لغات أخري ؟ علي سبيل المثال ، في بايثون عند حدوث خطاء ما فإن الخلل سيكون في الجزء الذي فيه خطأ ولن يتوقف كامل البرنامج وسيكون من السهولة الوصول للخطأ ومعالجتة ، وفي لغات أخري يتوقف كامل البرنامج ويصعب علي المطور إكتشاف الخطأ.
كنت قد قرأت ذات مرة أن جوجل اعتمدت على بايثون في بناء محرك بحثها، فيبدو أنها لها دورًا كبيرًا في بناء تطبيقات الويب. حتى الكثير من وسائل التواصل الاجتماعي مثل انستغرام ونتيفلكس وغيرهما تم بناءهما بلغة بايثون.
لغة البايثون لا يقتصر استخدامها على بناء التطبيقات، بل تتعدى ذلك فمثلا تستخدم في المجال الطبي، للكشف عن الامراض ومواجهة الاوبئة.
أما بالنسبة لعيوبها، اعتقد أن أكثر عيب بها هو استهلاك الذاكرة وأيضًا في موضوع قواعد البيانات، فهنا للاسف السلاسة نفتقدها في هذه اللغة. ربما أيضًا غير مناسبة في تطوير تطبيقات الهاتف.
بايثون تبتلع اللغات فهي تجمع ميزات لغات كثيرة وتتفادى عيوبها قدر المستطاع في نظري من عوامل انتشار بايثون هي سهولة الاستخدام والمجتمع الكبير الذي يقدم الدعم والتطوير وتوفير المكتبات بشتى المجالات الذي أدهشني أنها أقدم من الجافا لكن هيئة أكوادها تعتقدها لغة من الجيل الجديد, قدمها النسبي أكسبتها استقرارية الأداء وثقة مستخدميها وحصتها السوقية, لكن هذا لا يعني أنها خالية من العيوب مثل السرعة وقصورها في تطوير تطبيقات الهواتف
نظرًا لسهولة التعلم والاستخدام ، يمكن بسهولة كتابة رموز Python وتنفيذها بشكل أسرع بكثير من لغات البرمجة الأخرى. أحد الأسباب الرئيسية التي أدت إلى زيادة شعبية بايثون بشكل كبير هو بساطتها في بناء الجملة بحيث يمكن قراءتها وتطويرها بواسطة محترفين هواة أيضًا. https://www.dqfansurvey.onl
وهذا بالفعل موطن قوة في لغة بايثون، لكن لي ملاحظه في هذا السياق، حيث لا يجب التمادي في عرض سهولة لغة برمجية علي حساب اللغة نفسها لماذا لا نعتمد في طرحنا علي التأكيد علي أهمية وضرورة الإلتزام والتركيز في تعلم البرمجة والعمل بها، هذه الصورة يجب أن تكون هي الواجهة الاساسية للمجال البرمجي لا صعوبة أو سهولة فالأمر يعتمد بالأساس علي الشخص نفسة ومدي الدافع لديه لتعلم البرمجة.