وايت سبيس (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 TS S TS S S L
TL S S S S S TTS S TS TL TL S S S S S TTS TTS S L TL S S S S S TTS TTS S L TL S S S S S TTS TTTTL TL S S S S S TS TTS S L TL S S S S S TS S S S S L TL S S S S S TTTS TTTL TL S S S S S TTS TTTTL TL S S S S S TTTS S TS L TL S S S S S TTS TTS S L TL S S S S S TTS S TS S L TL S S S S S TS S S S TL TL S S L L L
انظر أيضاً
- brainfuck, لغة برمجة باطنية أخرى شبيهة بوايت سبيس، تتجاهل أي شي لا تميزة.
- التعمية بالأخفاء
المراجع
- "Whitespace". مؤرشف من الأصل في 17 يوليو 2015.
- New Whitespace-Only Programming Language - Slashdot - تصفح: نسخة محفوظة 19 أغسطس 2016 على موقع واي باك مشين.
- ( كتاب إلكتروني PDF ) https://web.archive.org/web/20200103150431/https://web.archive.org/web/19991113073144/http://www.research.att.com/~bs/whitespace98.pdf. مؤرشف من الأصل ( كتاب إلكتروني PDF ) في 3 يناير 2020.
وصلات خارجية
- موقع وايت سبيس
- الإعلان عن إطلاق Slashdot
- مجموعة مترجمات وايت سبيس بعددة لغات
- Acme::Bleach نموذج بيرل يقوم بإعادة كتابة نموذجك إلى تشفير وايت سبيس (برنامج نظيف جدا)