وايت سبيس (لغة برمجة)
هذه المقالة يتيمة حيث أن عددًا قليلاً من المقالات أو لا مقالات إطلاقًا تصل إليها. ساعد من فضلك بإضافة وصلات في المقالات ذات العلاقة. (مايو_2011) |
وايت سبيس (Whitespace) هي لغة برمجة باطنية طورت من قبل إدوين برادي وكريس موريس في جامعة درم (بالإضافة إلى مطوري لغى كايا). تم إطلاقها في 1 أبريل 2003 (يوم كذبة أبريل).بعكس لغات البرمجة الأخرى والتي تتجاهل أو تعين معنى لمعضم حروف الوايت سبيس، يتجاهل مترجمها (interpreter) الحروف الـ non-whitespace. ويكون المعنى للـ spacesو tab و linefeeds.[١] وتستطيع برمجة وايت سبيس الإرتباط بسهولة بحروف الوايت سبيس لبرنامج مكتوب بلغة أخرى، ماعدى بايثون، مما يجعل النص متعدد اللغات.
أيضاً، هي لغة محسنة من لغة الـ stack-based. وهي الآلة الإفتراضية التي تشغل البرنامج الذي يحتوي على stack و heap. ويملك المبرمج حرية دفع الارقام الصحيحه بشكل تعسفي إلى stack (حالياً، لا يوجد تطبيق لأرقام floating point) ويستطيع الدخول إلى الذاكرة الأساسية للـheap للمتغيرات وهيكلة البيانات.
التاريخ
طورت لغة وايت سبيس من قبل إدوين برادي وكريس موريس في عام 2002. قام موقع Slashdot بإجراء مراجعة للغة في 1 أبريل 2003.[٢]
وفي نفس العام تم تطبيق مترجم (interpreter) لها. وقد طرحت فكرة استخدام احرف الوايت سبيس للغة السي++ كمزحة قبل خمس سنوات من قبلبيارن ستروستروب.[٣]
بناء الجملة
تتألف الأوامر من سلسله مركبة من 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 )
<source lang="whitespace"> | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | empty-line | | | | | | empty-line | | | | | | empty-line | | | | | | | | | | | | | | | | | | | | empty-line | | | | empty-line | | | | | | empty-line empty-line/EOF </source>
أنظر أيضاً
- brainfuck, لغة برمجة باطنية أخرى شبيهة بوايت سبيس، تتجاهل أي شي لا تميزة.
- LOLCODE, لغة برمجة على غرار سلسلة ميم الإنترنت.
- INTERCAL
- Polyglot, برنامج يعمل على أكثر من لغة.
- التعمية بالأخفاء
المراجع
وصلات خارجية
- موقع وايت سبيس
- الإعلان عن إطلاق Slashdot
- مجموعة مترجمات وايت سبيس بعددة لغات
- Acme::Bleach نموذج Perl يقوم بإعادة كتابة نموذجك إلى تشفير وايت سبيس (برنامج نظيف جدا)
ملف:HelloWorld.svg | هذه بذرة مقالة عن لغة برمجة تحتاج للنمو والتحسين، فساهم في إثرائها بالمشاركة في تحريرها. |
ca:Whitespace cs:Whitespace de:Whitespace (Programmiersprache) Whitespace (programming language)]] es:Whitespace fr:Whitespace hu:Whitespace programozási nyelv it:Whitespace ja:Whitespace ko:화이트스페이스 (프로그래밍 언어) nl:Whitespace pl:Whitespace pt:Whitespace ru:Whitespace zh:Whitespace