سؤال

من عند epigrams في البرمجة بقلم آلان بيرليس:

22. لا يمكن للنظام الجيد أن يكون له لغة أمر ضعيفة.

ماذا يعني هذا؟ ما هي الأمثلة الجيدة لهذا المبدأ؟

أين يمكنني معرفة المزيد حول كيفية تنفيذ Langauge أمر يفي بهذه المعايير؟

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

المحلول

عليك أن تعرف بعض السياق الذي صاغ فيه. تم نشر المقالة المرتبطة فقط في عام 1982 ويمكن أن يكون أي واحد من تلك epigrams أكبر من عقود. ومع ذلك ، حتى عام 1982 كان قبل وقتي ، وانطباعاتي ذات الصلة هي:

  • كانت أنظمة الكمبيوتر أكثر تخصصًا لمهمة محددة.
  • كان للأنظمة مشغلين مخصصين (الذين لم يكونوا من المبرمجين) مدربين على أنظمة محددة.
  • معرفة نظام واحد لم ينقل بسهولة إلى نظام آخر. (اليوم تقوم بتدريب المشغلين على محدد البرامج, ، ولكن نادرا ما على مجموعات أجهزة محددة+نظام التشغيل. بمعنى آخر ، أصبحت الأنظمة أكثر تشابهًا واعتماد معايير واتفاقيات.)

"لغة الأوامر" تعني فقط البرمجة النصية Shell اليوم. تذكر أنه في موجه قذيفة تدخل "الأوامر".

تلك الأساسيات خارج الطريق ، هذا يتحدث معي عن Unix Way ™.

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

Futhermore ، عندما يكون الوضع الأساسي للتشغيل لأي مستخدم هو لغة أمر نظامك (كما كان الحال بالنسبة لـ UNIX في عام 1982) ، فإن لغة القيادة الخاصة بك قوية بطريقة أخرى: جميع المستخدمين يعرفون كيفية استخدامه ولا يتعين عليهم تعلم أدوات منفصلة. في هذا الموقف ، لا يوجد شيء يمكن أن يفعله النظام الذي لا يمكن أن تنجزه لغة القيادة ، لأنه لغة الأمر بشكل فعال هو النظام.

لا أعرف أي مورد واحد يوضح كل هذه الأفكار ويمكنك استخدامه كخريطة طريق لتنفيذ لغة القيادة الخاصة بك. المفهوم أكثر أثيريًا من المكتوبة في الحجر ، حيث أن النسب الأخرى هي أيضًا بشكل عام. أنا أشجعك على القراءة عن UNIX بشكل عام ، والقذائف (مثل معيار POSIX لـ SH ، وغيرها مثل Bash) ، ولغات البرمجة النصية الأخرى (أي شيء مع خط Shebang ، مثل Perl و Python) ، وما إلى ذلك.

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