ما هي أفضل لغة البرمجة النصية (المحمولة والقابلة للصيانة) اليوم؟

StackOverflow https://stackoverflow.com/questions/881757

  •  22-08-2019
  •  | 
  •  

سؤال

أعلم أن هذا السؤال قد بدأ الحروب "الدينية" في الماضي وقد لا يكون هناك إجابة واحدة صحيحة. ولكن بعد العمل مع KSH و CSH لمدة 3-4 سنوات الماضية ومرور آلام النقل من واحد إلى آخر أو تطبيق جزء مشترك من المنطق على إصدارات متعددة (اقرأ كرمز قديم) ، إذا كنت أكتب نصًا جديدًا ، أنا سوف يذهب إلى KSH ، ولكن بدافع الإكراه بدلاً من الاختيار. هل هناك خيار أفضل بخلاف KSH/CSH؟ أيضًا شيء محمول عبر Unixes (Solaris/HP/IBM/FreeBSD) و Linux (وإذا كنت لا أسأل كثيرًا أو إذا كان من المنطقي جميع نكهات Linux)

في انتظار الاقتراحات ...

السلام :) ديفانغ كامدار

هل كانت مفيدة؟

المحلول

أود أن أقترح قديمًا عاديًا sh, ، وهو متاح في كل مكان.

أيضًا ، تجدر الإشارة إلى أن قابلية النقل لا تنطوي فقط awk, grep, ps أو echo.

نصائح أخرى

إذا كنت تريد حقًا أن تكون محمولة (لا أعرف أن أي نص قذيفة يمكن صيانته) ، فسأحدد #!/bin/sh واختبار اندفاع وإذا كان ذلك ممكنا قذائف أخرى.

أتوقع أن تكون Bash أكبر قذيفة انتشار في الوقت الحالي لأنها هي الافتراضي للعديد من توزيعات Linux (يمكن أن تعمل حتى على Windows مع Cygwin ، ولكن هذا صحيح على الأرجح بالنسبة للقذائف الأخرى أيضًا). قد يكون البديل هو عدم استخدام القشرة نفسها للبرمجة النصية ولكن إحدى لغات البرمجة النصية مثل بيرل ، بيثون ، روبي ، ...

عادة ما أستخدم KSH. أجد أنه حل وسط جيد بين الميزات وقابلية النقل. إنه موجود (أو إصدار متوافق) على معظم صناديق Linux و Solaris. لقد مر وقت منذ أن استخدمت HP-UX (لحسن الحظ) لكنني متأكد تمامًا من أنه كان متاحًا هناك أيضًا.

إذا كانت جميع الآلات التي تحتاج إلى دعمها حديثة ، فقد تكون Bash خيارًا. سولاريس 10 يأتي مع نسخة. إنه الافتراضي على معظم آلات Linux.

سيكون أدنى قاسم مشترك هو Bourne (SH) ، لذلك يستحق النظر في ما إذا كان قابلية النقل هو شاغلك الرئيسي. إنه يفتقد بعض الميزات الأكثر ودية لـ KSH و Bash.

لا يزال يستحق التوجيه من CSH/TCSH للبرمجة النصية. تعتبر برمجة CSH ضارة هو قديم ولكن لا يزال وثيق الصلة إلى حد كبير.

إجابتي ستكون بيرل.

هل يمكن أن يفعل كل شيء "sh" "شحمة" وما إلى ذلك بطريقة أجمل أكثر أناقة.

كما أنها في الواقع أكثر محمولة. نسخة معينة Perl هي متسقة للغاية على جميع المنصات. لا توجد فروق ذات دلالة إحصائية بين توزيعات Linux و Solaris و AIX ، في حين أن نصوص تنفيذ البرامج النصية بين هذه المنصات هي ألم حقيقي.

وهو يعمل على جميع Windows Paltforms! شريطة تجنب backticks و "system ()" البرنامج النصي الخاص بك لديه فرصة جيدة للتشغيل.

بيثون! تحقق من Ipython ، وهو مترجم Python المحسن. ايضا: Python لـ UNIX و Linux System Adminitration.

يمكنك كتابة نصوص محمولة رائعة ، وهي ممتعة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top