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

هذه المقالة يتيمة. ساعد بإضافة وصلة إليها في مقالة متعلقة بها
من ويكيبيديا، الموسوعة الحرة
وايت سبيس
معلومات عامة
التصنيف
التنميط
ظهرت في
1 أبريل 2003 عدل القيمة على Wikidata
التطوير
الإصدار الأول
1 أبريل 2003 عدل القيمة على Wikidata
التأثير
متأثرة بـ
متفرقات
موقع الويب
ابرز قواعد وايت سبيس في برنامج hello world program
  علامات (tabs)
  مسافات (spaces)

وايت سبيس (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

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

المراجع[عدل]

  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. مؤرشف من الأصل في 2020-01-03. اطلع عليه بتاريخ 2019-09-05. {{استشهاد ويب}}: الوسيط |title= غير موجود أو فارغ (مساعدة)صيانة الاستشهاد: BOT: original URL status unknown (link)

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