وايت سبيس (لغة برمجة)
وايت سبيس (Whitespace) هي لغة برمجة باطنية طورت من قبل إدوين برادي وكريس موريس في جامعة درم (بالإضافة إلى مطوري لغى كايا). تم إطلاقها في 1 أبريل 2003 (يوم كذبة أبريل).بعكس لغات البرمجة الأخرى والتي تتجاهل أو تعين معنى لمعضم حروف الوايت سبيس، يتجاهل مترجمها (interpreter) الحروف الـ non-whitespace. ويكون المعنى للـ spacesو tab و linefeeds.[1] وتستطيع برمجة وايت سبيس الارتباط بسهولة بحروف الوايت سبيس لبرنامج مكتوب بلغة أخرى، ماعدى بايثون، مما يجعل النص متعدد اللغات.
أيضاً، هي لغة محسنة من لغة الـ stack-based. وهي الآلة الافتراضية التي تشغل البرنامج الذي يحتوي على stack و heap. ويملك المبرمج حرية دفع الأرقام الصحيحه بشكل تعسفي إلى stack (حالياً، لا يوجد تطبيق لأرقام floating point) ويستطيع الدخول إلى الذاكرة الأساسية للـheap للمتغيرات وهيكلة البيانات.
التاريخ
[عدل]طورت لغة وايت سبيس من قبل إدوين برادي وكريس موريس في عام 2002. قام موقع Slashdot بإجراء مراجعة للغة في 1 أبريل 2003.[2]
وفي نفس العام تم تطبيق مترجم (interpreter) لها. وقد طرحت فكرة استخدام احرف الوايت سبيس للغة السي++ كمزحة قبل خمس سنوات من قبلبيارن ستروستروب.[3]
بناء الجملة
[عدل]تتألف الأوامر من سلسله مركبة من spaces، tab stops و linefeeds. مثال، tab-space-space-space adds أول عنصرين في الـ stack. يتم تمثيل البيانات بشكل ثنائي بحيث ريمز لـ spaces بـ (0) وtabs بـ(1)، متبوعة بـ linefeed، مثال، space-space-space-tab-space-tab-tab-linefeed تمثل الرقم 11. ويتم تجاهل الحروف الأخرى وتستخدم في التعليق.
كود بسيط
[عدل]يتم طبع "Hello World!". لاحظ أن أحرف الـ وايت سبيس تم إعطائها خلفية ملونه، لكن في التطبيق تكون مخفية. ( Space , Tab ) The following is a commented Whitespace program that simply prints برنامج أهلا بالعالم, where each Space, Tab, or Linefeed character is preceded by the identifying comment "S", "T", or "L", respectively:
S S S T S S T S S S L
T L S S S S S T T S S T S T L T L S S S S S T T S T T S S L T L S S S S S T T S T T S S L T L S S S S S T T S T T T T L T L S S S S S T S T T S S L T L S S S S S T S S S S S L T L S S S S S T T T S T T T L T L S S S S S T T S T T T T L T L S S S S S T T T S S T S L T L S S S S S T T S T T S S L T L S S S S S T T S S T S S L T L S S S S S T S S S S T L T L S S L L L
انظر أيضًا
[عدل]- برين فاك, لغة برمجة باطنية أخرى شبيهة بوايت سبيس، تتجاهل أي شي لا تميزة.
- التعمية بالأخفاء
المراجع
[عدل]- ^ "Whitespace". مؤرشف من الأصل في 2015-07-17.
- ^ New Whitespace-Only Programming Language - Slashdot نسخة محفوظة 19 أغسطس 2016 على موقع واي باك مشين.
- ^ https://web.archive.org/web/20200103150431/https://web.archive.org/web/19991113073144/http://www.research.att.com/~bs/whitespace98.pdf. مؤرشف من الأصل في 2020-01-03. اطلع عليه بتاريخ 2019-09-05.
{{استشهاد ويب}}
: الوسيط|title=
غير موجود أو فارغ (مساعدة)صيانة الاستشهاد: BOT: original URL status unknown (link)
وصلات خارجية
[عدل]- موقع وايت سبيس
- الإعلان عن إطلاق Slashdot
- مجموعة مترجمات وايت سبيس بعددة لغات
- Acme::Bleach نموذج بيرل يقوم بإعادة كتابة نموذجك إلى تشفير وايت سبيس (برنامج نظيف جدا)