Never stop talking " STOP the Gaza Genocide "

ما هو الفرق بين Bash Scripting و Python ؟

  • admin
  • 17-09-2022
  • DevOps
  • 3853

نتحدث هنا عن مقارنة لغة برمجة Python مع لغة الأوامر Bash Scripting ليس من جانب قدرة البايثون في برمجة تطبيقات الويب او استخدامها في مجال الذكاء الاصطناعي ولكن من جانب قدراتها في التواصل مع أنظمة التشغيل واستخدامها لتنفيذ الأوامر مثل نسخ الملفات وحذفها وجدولة المهام وغيرها الكثير من المهام التي يوفرها نظام التشغيل.

وسنتحدث عن أمرين في طبيعة لغات البرمجه منه سنفهم الفرق بين استخدام Python و لغه Bash Scripting

1- لغات قائمة أو معتمدة على نظام التشغيل

وهذا النوع من اللغات صمم ليعمل على نظام تشغيل دون غيره أي أن الأمر المستخدم ليعمل على Linux لا يعمل على Windows والعكس صحيح
مثال برنامج CLI وهو برنامج الاوامر الموجود على انظمة التشغيل لتنفيذ الأوامر بدلا من استخدام الواجهة الرسومية GUI مثل فتح الملفات ونقلها ونسخها باستخدام الأوامر بدلا من GUI، هذا البرنامج يوجد على الويندوز تحت مسمى PowerShell و CMD والأوامر التي يفهمها لتنفيذ مهمة مثل جدولة عملية مثلا تختلف عن اللغة التي يستخدمها البرنامج الموجود على Linux والذي يسمى Bash أو Termina، إذا لغه الأوامر التي يفهمها نظام تختلف عن التي يفهمها نظام آخر بالرغم انه يقوموا بنفس الوظيفه وهذا ما تعني لغات قائمة أو معتمدة على نظام التشغيل (Languages Based on OS). واحدة من أشهر هذه اللغات هي Bash Scripting التي يفهمها أنظمة تشغيل من نوع Linux

 

2- لغات برمجة مستقلة (OS Independent Languages)

وهذا النوع من اللغات لا يعتمد على نظام تشغيل بعينه اي ان الامر الذي يكتب بهذه اللغة واحد وينفذ نفس المهمة سواء تم تشغيله على Linux او Windows او اي نظام تشغيل آخر مثل لغة Python والكثير غيرها.

الخلاصة

مثلا امر نسخ ملف من مكان لآخر باستخدام برنامج CLI يختلف من نظام تشغيل لآخر اما اذا كتبنا نفس الأمر باستخدام لغة Python مثلا فيتم تنفيذه على جميع انظمة التشغيل بدون تغيير.

 

ماذا يفضل مهندس DevOps؟

الكثير منهم يتقن لغة Bash Scripting ولكن في الاخير يتعلمون لغة Python ويتقنها لتنفيذ المهام لتفادي تعلم لغة كل نظام تشغيل على حدة

 

ما هي بدائل Python ؟

يوجد للغة Python بدائل كثيرة مثل Go و Ruby ولكن ما يميزها هو توسعها وانتشارها وسهولتها مما يسهل تعلمها وعملية حل المشكلات