لغة البرمجة Arc

Arc هي لغة برمجة ، وهي لهجة من لغة Lisp ، طورها بول غراهام وروبرت موريس . وهي برنامج مجاني ومفتوح المصدر تم إصداره بموجب رخصة Artistic License 2.0.

تاريخ

في عام ٢٠٠١، أعلن بول غراهام عن عمله على لهجة جديدة من لغة ليسب تُدعى آرك . وعلى مر السنين، كتب العديد من المقالات التي تصف خصائص اللغة وأهدافها، كما كُتبت بعض المشاريع الداخلية في حاضنة الأعمال الناشئة التابعة له، واي كومبيناتور ، بلغة آرك، وأبرزها منتدى هاكر نيوز الإلكتروني وبرنامج تجميع الأخبار. كُتبت آرك في الأصل بلغة راكيت ، [ ٢ ] ولكن بحلول سبتمبر ٢٠٢٤، استُبدلت إلى حد كبير في واي كومبيناتور بإصدار يُسمى كلارك، يستخدم تطبيق SBCL للغة ليسب المشتركة . [ ٣ ]

الدوافع

في مقال " أن تكون شائعًا " [ 4 يصف غراهام بعض أهدافه للغة. ورغم أن العديد من هذه الأهداف عامة جدًا ("يجب أن تكون لغة Arc قابلة للتخصيص"، "يجب أن تكون هناك مكتبات جيدة ")، إلا أنه ذكر بعض التفاصيل. على سبيل المثال، يعتقد أن من المهم أن تكون اللغة موجزة.

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

وذكر أيضًا أنه من الأفضل للغة أن تُطبّق عددًا قليلًا من البديهيات ، حتى لو كان ذلك يعني عدم امتلاكها ميزات ترغب بها المؤسسات الكبيرة، مثل البرمجة الكائنية التوجه . علاوة على ذلك، يعتقد غراهام أن البرمجة الكائنية التوجه غير مُجدية لأن أساليبها وأنماطها مجرد "تصميم جيد"، ويرى أن ميزات اللغة المُستخدمة لتطبيقها خاطئة جزئيًا. [ 5 ] [ 6 ] عند إطلاق لغة Arc عام 2008، ذكر غراهام أن إحدى مزاياها هي اختصارها. [ 7 ]

يدور جدل بين مبرمجي لغة ليسب حول ما إذا كان ينبغي استكمال تعابير S في اللغة بأشكال أخرى من بناء الجملة ، وإلى أي مدى . يرى غراهام أنه ينبغي استخدام بناء الجملة الإضافي في الحالات التي تكون فيها تعابير S وحدها مطولة للغاية، قائلاً: "لا أعتقد أنه ينبغي لنا أن نعارض بشدة إدخال بناء الجملة في ليسب". كما يرى غراهام أن مشاكل الكفاءة يجب حلها بتزويد المبرمج بمحلل أداء جيد . [ 8 ]

استقبال

عند إصدارها عام ٢٠٠٨، أثارت لغة البرمجة Arc ردود فعل متباينة، إذ اعتبرها البعض مجرد امتداد للغة Lisp أو Scheme وليست لغة برمجة مستقلة. بينما أشاد آخرون بـ Arc لتبسيطها لغة Lisp إلى أبسط عناصرها. بعد فترة وجيزة من إصدارها، تم نقل Arc إلى JavaScript ، وأصبحت مدعومة من Schemescript ، وهي بيئة تطوير متكاملة (IDE) مبنية على Eclipse . [ ٩ ]

أمثلة

مرحباً بالعالم في Arc  :

( prn "Hello, World" )

لتوضيح مدى اختصار برنامج Arc، يستخدم غراهام برنامجًا موجزًا. يُنشئ هذا البرنامج نموذجًا بحقل واحد على الرابط "/said". عند إرسال النموذج، يُحوّل المستخدم إلى صفحة تحتوي على رابط "انقر هنا"، والذي بدوره يُحوّل المستخدم إلى صفحة تحتوي على قيمة حقل الإدخال الأصلي. [ 10 ]

( defop said req ( aform [onlink "انقر هنا" ( pr "لقد قلت: " ( arg _ "foo" )) ] ( input "foo" ) ( submit )))

الإصدارات

النسخ الرسمية

صدرت النسخة الأولى من برنامج Arc للجمهور في 29 يناير 2008، [ 11 ] وقد طُبِّقت باستخدام لغة Racket (التي كانت تُسمى آنذاك PLT-Scheme). يأتي الإصدار على شكل ملف مضغوط بصيغة .tar ، يحتوي على شفرة المصدر الخاصة ببرنامج Arc المكتوبة بلغة Racket. يتوفر أيضًا دليل تعليمي [ 12 ] ومنتدى نقاش [ 13 ] . يستخدم المنتدى نفس البرنامج الذي يستخدمه موقع Hacker News ، وهو مكتوب بلغة Arc.

اعتبارًا من نوفمبر 2019، كان هناك تطبيقان إضافيان لـ Arc، أحدهما يستهدف JavaScript ويسمى Jilt والآخر يستهدف Common Lisp ويسمى Clarc. [ 14 ]

نسخ غير رسمية

نظراً لقلة التحديثات في فرع Arc الرسمي، أنشأ بعض أعضاء مجتمع Arc مستودعاتهم الخاصة التي تضم تعديلات وإضافات ومكتبات غير رسمية. إحدى هذه النسخ، Anarki ، [ 15 ] سمحت [ 16 ] لأي شخص بتقديم تغييرات للمشروع، ولديها ويكي يديره المجتمع. [ 17 ]

Rainbow [ 18 ] هو تطبيق لـ Arc في Java .

أركاديا [ 19 ] هي تطبيق لـ Arc في لغة C.

Arc++ [ 20 ] هو تطبيق لـ Arc في لغة C++ .

الجدول الزمني للهجات لغة ليسب

19581960196519701975198019851990199520002005201020152020
 LISP 1، 1.5، LISP 2 (مهجورة)
 ماكليس
 تداخل
 MDL
 آلة التأتأة
 مخطط R5RS R6RS R7RS صغير
 لا شيء
 ZIL (لغة تنفيذ Zork)
 فرانز ليسب
 muLisp
 لغة الشفرة الشائعة معيار ANSI
 لي لِسْب
 مخطط معهد ماساتشوستس للتكنولوجيا
 XLISP
 تي
 شيز سكيم
 إيماكس ليسب
 أوتو ليسب
 PicoLi sp
 غامبيت
 EuLisp
 لغة ISLISP
 أوبن ليسب
 مخطط PLT مضرب
 لغة نيو ليسب
 جنو غايل
 لغة ليسب المرئية
 كلوجر
 قوس
 LFE
 هي

مراجع

  1. "منتدى Arc: أخبر Arc: Arc 3.2" . Arclanguage.org . تم الاطلاع عليه بتاريخ 7 نوفمبر 2018 .
  2. "منتدى Arc: التثبيت" . Arclanguage.org . تم الاطلاع عليه بتاريخ 2018-11-07 .
  3. "dang في 9 سبتمبر 2024" . هاكر نيوز . 9 سبتمبر 2024. مؤرشف من الأصل في 30 سبتمبر 2024.
  4. غراهام، بول (مايو 2001). "أن تكون محبوبًا" . PaulGraham.com . تم الاطلاع عليه بتاريخ 5 ديسمبر 2018 .
  5. غراهام، بول. "لماذا لا تُعتبر لغة Arc موجهة للكائنات بشكل خاص؟" . PaulGraham.com . تاريخ الاسترجاع: 5 ديسمبر 2018 .
  6. غراهام، بول. "أسئلة وأجوبة حول Arc" . PaulGraham.com . تم الاطلاع عليه بتاريخ 2018-12-05 .
  7. هوبر، ماتياس (2008-02-08). "Arc يجعل البرامج أقصر" . مجلة لينكس . لورانس، كانساس: لينكس نيو ميديا ​​يو إس إيه . تم الاسترجاع في 25 نوفمبر 2018 .
  8. غراهام، بول (مايو 2001). "خمسة أسئلة حول تصميم اللغة" . PaulGraham.com . تم الاطلاع عليه بتاريخ 5 ديسمبر 2018 .
  9. "رائد الويب يوجه انتقادات لاذعة للغة ليسب" . ذا ريجستر . المملكة المتحدة . 7 فبراير 2008.
  10. غراهام، بول (فبراير 2008). "خوض تحدي القوس" . PaulGraham.com . تم الاطلاع عليه بتاريخ 5 ديسمبر 2018 .
  11. غراهام، بول (29 يناير 2008). "انتهى أمر آرك" . PaulGraham.com . تم الاطلاع عليه بتاريخ 5 ديسمبر 2018 .
  12. "دليل استخدام برنامج Arc" . بول غراهام . تم الاطلاع عليه بتاريخ 2018-12-05 ..
  13. "منتدى آرك" . لغة آرك .
  14. "dang في 16 نوفمبر 2019" . هاكر نيوز . 16 نوفمبر 2019. مؤرشف من الأصل في 29 سبتمبر 2024.
  15. راب، كينيث (kennethrapp) (14 نوفمبر 2018). "أناركي" . جيت هاب . تم الاسترجاع في 5 ديسمبر 2018 .
  16. أغارام، كارتيك (أكارتيك) (27 مايو 2013). "إعلان: لم تعد لغة أناركي قابلة للالتزام عالميًا" . منتدى آرك . لغة آرك . تم الاسترجاع في 5 ديسمبر 2018 .
  17. "ويكي لغة القوس" . مواقع . تم الاسترجاع في 2018-12-05 .
  18. دالتون، كونان (كوناني) (12 أكتوبر 2010). "قوس قزح" . جيت هاب . تم الاسترجاع في 5 ديسمبر 2018 .
  19. كيم، تايغيون (kimtg) (19 أغسطس 2018). "أركاديا" . جيت هاب . تم الاسترجاع في 5 ديسمبر 2018 .
  20. كيم، تايغيون (kimtg) (13 أغسطس 2023). "Arcpp" . جيت هاب . تم الاسترجاع في 13 أغسطس 2023 .