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

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

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

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

PDP-7 Unix


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

العاصمة


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

خطأ مطبعي


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

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

eqn


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

هيكل


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

باسكال


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

القطع


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

egrep


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

سلطعون


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

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


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

كان المؤلفون الأصليون لما يقرب من نصف القائمة - باسكال ، وبنيك ، وأجزاء ، eqn - من النساء ، وهو ما يتجاوز بشكل كبير الحصة الديمغرافية للنساء في مجال علوم الكمبيوتر.

دوجلاس ماكلروي
مارس 2020

All Articles