لغة البرمجة الجديدة (Newspeak)
نيوسبيك هي لغة برمجة ومنصة على غرار سمول توك وسيلف، يطورها فريق بقيادة جلعاد براخا . [ 1 ] تتضمن المنصة بيئة تطوير متكاملة (IDE)، ومكتبة واجهة مستخدم رسومية (GUI) ، ومكتبات قياسية. [ 2 ] بدأت شركة كادنس ديزاين سيستمز بتمويل تطويرها وتوظيف المساهمين الرئيسيين فيها عام 2006، لكنها أوقفت التمويل في يناير 2009. [ 3 ]
ملخص
لغة نيوزبيك هي لغة قائمة على الفئات والرسائل . يمكن أن تكون الفئات متداخلة، كما هو الحال في الإصدار التجريبي (BETA) . هذا أحد الاختلافات الرئيسية بين نيوزبيك وسمول توك.
تتميز لغة نيو سبيك بنهجها الفريد في بناء الوحدات البرمجية. [ 4 ] لا تحتوي اللغة على نطاق أسماء عام. تعمل الفئات ذات المستوى الأعلى كتعريفات للوحدات البرمجية. يعتمد بناء الوحدات البرمجية في نيو سبيك بشكل حصري على تداخل الفئات. [ 1 ] تُعتبر تعريفات الوحدات البرمجية قيمًا من الدرجة الأولى (أي يمكن تخزينها في متغيرات، وتمريرها كمعاملات، وإرجاعها من الدوال، وما إلى ذلك) وهي عديمة الحالة.
بحكم تصميمها، تفتقر لغة البرمجة الجديدة (Newspeak) إلى إمكانية الوصول غير المُعلن إلى النطاق العام، وبالتالي تفرض حقن التبعية . ونتيجةً لذلك، تتطلب الإشارة صراحةً إلى جميع تبعيات الفئات ( متغيرات النسخ المشار إليها بـ "الفتحات"). هذا يجعل كل فئة في لغة البرمجة الجديدة فئةً افتراضية . [ 1 ] جميع أسماء التبعيات في لغة البرمجة الجديدة مرتبطة ديناميكيًا ( مرتبطة لاحقًا )، ويتم تفسيرها على أنها عمليات إرسال رسائل ، كما هو الحال في لغة البرمجة الذاتية (Self).
من أبرز سمات لغة البرمجة الجديدة استحالة الوصول المباشر إلى متغيرات النسخة. يتم ذلك عبر دوال جلب أو تعيين يتم إنشاؤها تلقائيًا . [ 1 ] : 3
تطوير
أثناء تطويرها في كادنس، استُخدمت لغة نيوزبيك لكتابة بيئة تطوير متكاملة خاصة بها (مترجم، مصحح أخطاء، متصفحات فئات، أدوات فحص كائنات، إطار عمل لاختبار الوحدات، واجهة برمجة تطبيقات انعكاسية قائمة على المرآة، إلخ)، ومجموعة أدوات واجهة مستخدم رسومية محمولة، ومُسلسل/مُفكك تسلسل الكائنات، ومكتبة مُجمِّع محلل، وحزمة تعبيرات نمطية، ومكتبات أساسية للمجموعات، والجداول، والسلاسل النصية، والملفات، وأجزاء من واجهة الوظائف الخارجية ، وشفرة تطبيق التصميم بمساعدة الحاسوب (CAD). [ 5 ] استغرقت منصة نيوزبيك ككل ما يقارب 8 سنوات عمل. [ 1 ] : 17
هوية
اسم "نيوسبيك" مستوحى من لغة "نيوسبيك" التي ظهرت في رواية جورج أورويل الديستوبية "1984" . يقول عنوان موقع لغة البرمجة: "إنها رائعة للغاية ". والدافع وراء هذا الاسم هو أن لغة "نيوسبيك" التي ابتكرها أورويل أصبحت أصغر حجمًا مع كل مراجعة؛ [ 6 ] ويرى براخا أن هذا هدف مرغوب فيه للغات البرمجة.
من المفترض أن يكون رمز اللغة هو عين الأخ الأكبر ، كما هو موضح في الصفحة 3 من الوثائق.
لا ينبغي الخلط بينها وبين لغة البرمجة الحساسة للسلامة التي تحمل الاسم نفسه، والتي صممها إيان كوري من شركة RSRE عام 1984، لاستخدامها مع معالج VIPER الدقيق . وتتمثل سمتها الرئيسية في أن مُترجمها يضمن معالجة البرنامج لجميع السلوكيات الاستثنائية المحتملة بشكل صريح. [ 7 ] [ 8 ]
تطبيق
Primordial Soup هي آلة افتراضية (VM) تُشغّل نسخًا ثنائية من ملفات Newspeak المُسلسلة. [ 9 ] استُلهمت تقنية Internal Object Representation من آلة Dart الافتراضية ، وتُوفّر أساسيات الآلة الافتراضية للغة. [ 9 ] يُمكن تجميعها بواسطة SCons على منصات مُختلفة.
مثال على الكود
"إعلان عن فئة Point" class Point x: i y: j = ( "هذا القسم هو مُهيئ النسخة" | "إعلانات الفتحات تكون دائمًا بين خطين" public x ::= i . " ::= تشير إلى تهيئة فتحة قابلة للتغيير" public y ::= j . | ) ( "دالة" public printString = ( ˆ ' x = ' , x printString , ' y = ' , y printString ) )"إنشاء نسخة من النقطة في خانة `p` داخل فئة ما" ... public p := Point x: 42 y: 91. ...مثال "مرحباً بالعالم"
HelloBraveNewWorld usingPlatform: platform = ( platform Transcript open show: 'Hello, Oh Brave new world' . )انظر أيضاً
- البرمجة العامة – أسلوب برمجة الحاسوب
مراجع
- 1 2 3 4 5 براخا، جلعاد؛ فون دير آه، بيتر؛ بيكوف، فاسيلي؛ كاشاي، يارون؛ مادوكس، وليام. ميراندا ، إليوت (يونيو 2010). “الوحدات ككائنات في اللغة الجديدة” (PDF) .
- ↑ جلعاد براخا، بيتر أهي، فاسيل بيكوف، يارون كاشاي وإليوت ميراندا. منصة برمجة اللغة الجديدة.
- ↑ براخا، جلعاد (24-11-2008). "الغرفة 101: لدينا أخبار سارة، ولدينا أخبار سيئة" . الغرفة 101: مكان لإعادة تثقيف النفس بلغة جديدة . مدونة جوجل . تم الاطلاع عليه بتاريخ 21-09-2009 .
- ^ جلعاد براخا، بيتر آهي، فاسيلي بيكوف، يارون كاشي، ويليام مادوكس وإليوت ميراندا. الوحدات ككائنات في اللغة الجديدة. في وقائع المؤتمر الأوروبي الرابع والعشرين حول البرمجة الشيئية، ماريبور، سلوفينيا، 21-25 يونيو 2010.
- ↑ براخا، جلعاد؛ فون دير آه، بيتر؛ بيكوف، فاسيلي؛ كاشاي، يارون؛ مادكس، ويليام؛ ميراندا، إليوت (6 مايو 2008). "منصة برمجة نيوسبيك" . أنظمة تصميم كادنس - عبر ريسيرش جيت.
- ↑ الحلقة 140 من برنامج هندسة البرمجيات الإذاعي: اللغة الجديدة والأنواع القابلة للتوصيل مع جلعاد براخا/
- ↑ كوري، آي إف (يوليو 1986). "نيوسبيك: لغة عادية". مجلة هندسة البرمجيات . 1 (4): 170-176 . doi : 10.1049/sej.1986.0027 . ISSN 0268-6961 .
- ↑ كولير، دبليو جيه (2012-12-06). "تنفيذ الأنظمة الحساسة للسلامة: المعالج الدقيق VIPER" . في بيرتويستل، غراهام؛ سوبرامانيام، بي إيه (محرران). مواصفات VLSI والتحقق منها وتوليفها . دار نشر سبرينغر. الصفحات 16-17 . ISBN 978-1461320074.
- 1 2 الحساء البدائي ، وزارة الحقيقة، 19-12-2021 ، تم الاطلاع عليه بتاريخ 11-05-2023
روابط خارجية
- لغات البرمجة الكائنية التوجه
- عائلة لغات البرمجة سمول توك
- لغات البرمجة التي تم إنشاؤها في عام 2006
- أعمال مستوحاة من رواية 1984
