بول جراهام يعلن عن لغة برمجة جديدة Bel

تمت كتابة لغة Bel بلغة Bel.

بول جراهام يعلن عن لغة برمجة جديدة Bel
في عام 1960 ، وصف جون مكارثي Lisp ، وهو نوع جديد من لغات البرمجة. أقول "نوع جديد" لأن ليسب لم يكن مجرد لغة جديدة ، بل كان طريقة جديدة لوصف اللغات.

لتعريف ليسب ، بدأ بمجموعة صغيرة من المشغلين ، نوع من البديهيات ، استخدمها بعد ذلك لكتابة مترجم للغة نفسها.

لم يكن ينوي وصف لغة برمجة بالمعنى المعتاد ، وهي لغة تستخدم لإخبار الكمبيوتر بما يجب القيام به. في ورقته البحثية عام 1960 ، كان يُفهم ليسب على أنه نموذج رسمي للحساب يشبه آلة تورينج. لم يفكر مكارثي في ​​استخدامه على أجهزة الكمبيوتر حتى اقترحه ستيف راسل ، طالب الدراسات العليا.

لم يكن لدى Lisp في عام 1960 ميزات مشتركة في لغات البرمجة. على سبيل المثال ، لم تكن هناك أرقام أو أخطاء أو إدخال / إخراج. لذلك كان على الأشخاص الذين استخدموا Lisp كأساس للغات المستخدمة في برمجة أجهزة الكمبيوتر إضافة هذه الميزات بأنفسهم. وقد فعلوا ذلك بالتخلي عن النهج البديهية.

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

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

البل هي محاولة للإجابة على السؤال: ماذا لو ، بدلاً من الانتقال من المرحلة الرسمية إلى مرحلة التنفيذ في مرحلة مبكرة ، لجعل هذا الانتقال متأخرًا قدر الإمكان؟ إذا واصلت استخدام النهج البديهي حتى تحصل على شيء قريب من لغة برمجة كاملة ، فما هي البديهيات التي ستحتاج إليها ، وكيف ستبدو اللغة الناتجة؟

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

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

لكنني أعتقد أيضًا أنه من الممكن كتابة تنفيذ فعال يعتمد على Bel ، مع إضافة قيود. إذا كنت تريد لغة لها قوة تعبيرية ووضوح وكفاءة ، فقد يكون من المفيد البدء بالقوة التعبيرية والوضوح ، ثم إضافة قيود بدلاً من السير في الاتجاه المعاكس.

لذا ، إذا كنت ترغب في محاولة كتابة تطبيق يعتمد على Bel ، فنحن نرحب بك. سأكون من أوائل المستخدمين.

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

استمرار وصف اللغة هنا.

شكرا على الترجمة: دينيس ميتروبولسكي

PS

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

إضافة تعليق