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

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

ابرز قواعد وايت سبيس في برنامج 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

انظر أيضاً

  • brainfuck, لغة برمجة باطنية أخرى شبيهة بوايت سبيس، تتجاهل أي شي لا تميزة.
  • التعمية بالأخفاء

المراجع

  1. "Whitespace". مؤرشف من الأصل في 17 يوليو 2015. الوسيط |CitationClass= تم تجاهله (مساعدة)
  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) في 3 يناير 2020. الوسيط |CitationClass= تم تجاهله (مساعدة); مفقود أو فارغ |title= (مساعدة)

    وصلات خارجية

    • بوابة برمجة الحاسوب
    • بوابة تقنية المعلومات
    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.