أعظم برامج يونكس

مؤلف المقال ، دوغلاس ماكلروي ، عالم رياضيات ومهندس ومبرمج أمريكي. اشتهر بتطوير خط الأنابيب في نظام التشغيل Unix ، ومبادئ البرمجة الموجهة للمكونات ، والعديد من الأدوات المساعدة الأصلية: spell ، diff ، Sort ، Join ، talk ، tr.

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

شارك ما هي البرامج التي أنت معجب بها أيضًا؟

PDP-7 يونكس

بالنسبة للمبتدئين ، نظام PDP-7 Unix نفسه. جعلتني بساطتها وقوتها أنتقل من حاسوب رئيسي قوي إلى آلة صغيرة. إنه نظام الملفات الهرمي الجوهري ، والقشرة المنفصلة ، والتحكم في العملية على مستوى المستخدم الذي لم تتمكن Multics على الكمبيوتر الرئيسي من تحقيقه بعد مئات السنين من التطوير. كانت عيوب نظام يونكس (مثل هيكل تسجيل نظام الملفات) مفيدة ومُحررة تمامًا مثل ابتكاراتها (مثل إعادة توجيه shell I / O).

dc

استخدمت مكتبة الرياضيات الحاسبة الدقيقة لسطح المكتب المتغيرة من Robert Morris تحليل الخطأ العكسي لتحديد الدقة المطلوبة في كل خطوة لتحقيق دقة نتيجة يحددها المستخدم. في مؤتمر هندسة البرمجيات لحلف الناتو لعام 1968 ، في تقريري عن مكونات البرامج ، اقترحت إجراءات مرجعية يمكن أن تنتج أي دقة مرغوبة ، لكنني لم أكن أعرف كيفية وضعها موضع التنفيذ. لا يزال برنامج DC هو البرنامج الوحيد الذي أعرفه يمكنه القيام بذلك.

الخطأ المطبعي

يقوم Typo بترتيب الكلمات في النص وفقًا لتشابهها مع باقي النص. تميل الأخطاء الإملائية مثل "hte" إلى أن تكون في نهاية القائمة. قال روبرت موريس بفخر إن البرنامج سيعمل بشكل جيد على قدم المساواة مع أي لغة. على الرغم من أن الخطأ المطبعي لا يساعدك في العثور على الأخطاء الصوتية ، إلا أنه كان بمثابة نعمة حقيقية لجميع المنضدين ، وقد حقق الكثير من النفع قبل ظهور المدقق الإملائي للقاموس الأقل إثارة للاهتمام ولكنه الأكثر دقة.

الخطأ المطبعي غير متوقع من الداخل كما هو في الخارج. تعتمد خوارزمية قياس التشابه على تكرار حدوث الأشكال ذات الشكل الثلاثي ، والتي يتم حسابها في صفيف 26 × 26 × 26. كانت الذاكرة الصغيرة بالكاد تحتوي على مساحة كافية للعدادات أحادية البايت ، لذلك تم تنفيذ مخطط لضغط الأعداد الكبيرة في عدادات صغيرة. لتجنب الفائض ، تم تحديث العدادات على أساس احتمالي ، مع الحفاظ على تقدير لوغاريتم قيمة العداد.

معادلة

مع ظهور التنضيد الضوئي ، أصبح من الممكن ، ولكن مملة بشكل رهيب ، طباعة تدوين رياضي كلاسيكي. قررت Lorinda Cherry تطوير لغة وصف عالية المستوى ، وسرعان ما انضم إليها Brian Kernigan. كانت حركتهم الرائعة هي وضع التقليد الشفوي في الكتابة ، لذلك كان من السهل جدًا تعلم eqn. أول معالج لغة تعبير رياضي من نوعه ، لم يتم تحسين eqn كثيرًا منذ ذلك الحين.

البنية

بدأت بريندا بيكر في تطوير محولها من Fortan إلى Ratfor ضد نصيحة رئيسها ، أنا. اعتقدت أن هذا قد يؤدي إلى إعادة ترتيب خاصة للنص الأصلي. سيكون خاليًا من أرقام العبارات ، ولكن بخلاف ذلك لن يكون أكثر قابلية للقراءة من كود فورتران جيد التنظيم. أثبتت بريندا أنني مخطئة. اكتشفت أن كل برنامج فورتران له شكل منظم بشكل قانوني. فضل المبرمجون الشكل المتعارف عليه وليس ما كتبوه في الأصل.

باسكال

كان تشخيص بناء الجملة في المترجم الذي أنشأته مجموعة Sue Graham في بيركلي أكثر فائدة رأيتها على الإطلاق — وقد تم إجراؤه تلقائيًا. عند حدوث خطأ في بناء الجملة ، يطالبك المترجم بإدراج رمز لمتابعة التحليل. لا توجد محاولة لشرح ما هو الخطأ. مع هذا المترجم ، تعلمت باسكال في إحدى الأمسيات دون أي دليل في متناول اليد.

أجزاء

مخبأة داخل وحدة WWB (Writer's Workbench) parts تحدد Lorinda Cherry أجزاء من الكلام للكلمات في نص إنجليزي بناءً على قاموس صغير وقواعد تهجئة وقواعد نحوية فقط. بناءً على هذا التعليق التوضيحي ، يعرض برنامج WWB مؤشرات نمطية للنص ، مثل انتشار الصفات والجمل الثانوية والجمل المعقدة. عندما تمت مقابلة Lorinda على قناة NBC's Today وتحدثت عن التدقيق النحوي المبتكر في نصوص WWB ، كان هذا أول ذكر لـ Unix على التلفزيون.

com.egrep

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

سلطعون

أطلق برنامج Luca Cardelli الساحر لنظام النوافذ Blit ، سرطانات افتراضية جابت مساحة الشاشة الفارغة ، مما أدى إلى قضم حواف النوافذ النشطة أكثر فأكثر.

بعض الأفكار العامة

على الرغم من أنها غير مرئية من الخارج ، إلا أن النظرية والخوارزميات لعبت دورًا حاسمًا في إنشاء معظم هذه البرامج: خطأ مطبعي ، DC ، هيكل ، باسكال ، egrep. في الواقع ، فإن التطبيق غير المعتاد للنظرية هو الأكثر إثارة للدهشة.

ما يقرب من نصف القائمة - باسكال ، وبنية ، وأجزاء ، وإيكن - كتبت في الأصل من قبل النساء ، وهو ما يفوق بكثير عدد النساء في علوم الكمبيوتر.

دوغلاس ماكلروي
مارس ، 2020


المصدر: www.habr.com

إضافة تعليق