ماهي لغة بايثون؟ وماهي استخداماتها وتطبيقاتها الرئيسية؟

------

إذا كنت تفكر في تعلم لغة البرمجة بايثون أو بدأت فعلا في تعلمها. فلعلك تتساءل في نفسك “ما الذي يمكنني فعله بالضبط بلغة بايثون؟”. هذا ما سنجيب عنه في هذا المقال. في الحقيقة تتلخص تطبيقات بايثون في هذه المجالات الثلاثة:

دعونا نتعرف عليها معا.

ماهي بايثون؟

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

تطبيقات واستخدامات بايثون

تطوير الويب

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

ولكن ماهو الفرق بين  Django و Flask؟

  • الإختلافات الرئيسية
  • يوفر Flask البساطة والمرونة والتحكم الدقيق. كما يمنحك حرية واسعة لتقرير الكيفية التي تتم بها مختلف الأجزاء والعناصر البرمجية.

 

  • يوفر Django تجربة شاملة، إذ يقدم لك لوحة تحكم وواجهات قاعدة البيانات و ما يسمي بORM object-relational mapping وكذلك دليلا هيكليا للتطبيقات والمشاريع الخاصة بك.

وبناء على ذلك:

  • اختر Flask إذا كنت ترغب بالتجربة والتعلم فحسب أو إذا كنت تبحث عن تحكم جيد بالعناصر التي تستخدمها(مثل قواعد البيانات التي ترغب في استخدامها)
  • اختر Django إذا كان تركيزك الوحيد على المنتج النهائي وخاصة إذا كنت تعمل على خلفية خادم خاص بموقع أخبار أو متجر إلكتروني أو مدونة وترغب في أن يكون هناك دائمًا طريقة وحيدة وواضحة لسير وعمل العناصر التي يعالجها الخادم.

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

ومن ناحية أخرى، إذا كنت تبحث عن تطوير تطبيق يعمل بطريقة واضحة وبسيطة ،فإن Django يتيح لك الوصول إليه بشكل أسرع.

علم البيانات(التعلم الآلي وتحليل البيانات الضخمة وعرضها)

في البداية٬ دعونا نعرّف التعلم الآلي.

يقوم التعلم الآلي على خوارزميات تكتشف تلقائيا نمطا محددا في البيانات التي يتم إدخالها.

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

إن هذه العملية شبيهة جدا بالطريقة التي يتعلم فيها الطفل الأشياء الجديدة.

من الوارد جدا أن لا نخبر الطفل صراحة أنه في حال كان هناك شيء فروي وله شعر بني فاتح ، فمن المحتمل أنه كلب.

ربما نقول فقط: “هذا كلب. هذا أيضا كلب. وهذه طاولة. وهذه أيضا طاولة. “

في الحقيقة، إن خوارزميات التعلم الآلي تعمل بنفس الطريقة. هذا الأمر ينطبق على نظام المقترحات recommendation الذي يقوم به YouTube و Amazon و Netflix وكذلك ينطبق على برامج التعرف على الوجه أو الصوت.

  • يشتمل scikit-learn على خوارزميات التعلم الآلي الأكثر شيوعا.
  • تعتبر TensorFlow مكتبة منخفضة المستوى تتيح إنشاء خوارزميات مخصصة لتعلم الآلة.

إذا كنت لا تزال مبتدئا في التعلم الآلي، فننصحك بالإعتماد على scikit-learn. فإذا تمكنت منه وأصبحت تمتلك الكفاءة الكافية فيمكنك العمل على TensorFlow.

تحليل البيانات وعرضها باستخدام بايثون

 

Scripting

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

هل تستخدم بايثون لتطوير الألعاب؟

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

في الحقيقة، حينما يتعلق الأمر بتطوير الألعاب، فإن Unity هو الخيار الأفضل والأنسب. إذ يتيح لك إنشاء ألعاب متوافقة مع العديد من المنصات بما في ذلك Mac و Windows و iOS و Android.   

هل تستخدم بايثون لتطوير تطبيقات سطح المكتب؟

تتيح بايثون تطوير تطبيقات سطح المكتب باستخدام Tkinter. لكنها ليست الخيار الصحيح أو الأفضل.

عندما يتعلق الأمر بتطبيقات سطح المكتب، فمن الأفضل استخدام لغات البرمجة التقليدية: Java و ++C و #C. لكن، في الآونة الأخيرة، بدأت بعض الشركات في استخدام JavaScript لإنشاء تطبيقات سطح المكتب.