وايت سبيس (لغة برمجة)

وايت سبيس (Whitespace) هي لغة برمجة باطنية طورت من قبل إدوين برادي وكريس موريس في جامعة درم (بالإضافة إلى مطوري لغى كايا). تم إطلاقها في 1 أبريل 2003 (يوم كذبة أبريل).بعكس لغات البرمجة الأخرى والتي تتجاهل أو تعين معنى لمعضم حروف الوايت سبيس، يتجاهل مترجمها (interpreter) الحروف الـ non-whitespace. ويكون المعنى للـ spacesو tab و linefeeds.[1] وتستطيع برمجة وايت سبيس الارتباط بسهولة بحروف الوايت سبيس لبرنامج مكتوب بلغة أخرى، ماعدى بايثون، مما يجعل النص متعدد اللغات.

وايت سبيس
Whitespace in vim2-recolored.png
معلومات عامة
التصنيف
التنميط
ظهرت في
التطوير
الإصدار الأول
التأثير
متأثرة بـ
متفرقات
موقع الويب
ابرز قواعد وايت سبيس في برنامج hello world program
  علامات (tabs)
  مسافات (spaces)

أيضاً، هي لغة محسنة من لغة الـ 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

انظر أيضًاعدل

المراجععدل

  1. ^ "Whitespace". مؤرشف من الأصل في 2015-07-17.
  2. ^ New Whitespace-Only Programming Language - Slashdot نسخة محفوظة 19 أغسطس 2016 على موقع واي باك مشين.
  3. ^ (PDF) https://web.archive.org/web/20200103150431/https://web.archive.org/web/19991113073144/http://www.research.att.com/~bs/whitespace98.pdf. مؤرشف من الأصل (PDF) في 2020-01-03. اطلع عليه بتاريخ 2019-09-05. {{استشهاد ويب}}: الوسيط |title= غير موجود أو فارغ (مساعدة)

وصلات خارجيةعدل