أساسي بلس
BASIC-PLUS هي لهجة موسعة من لغة برمجة BASIC تم تطويرها بواسطة EGH لشركة Digital Equipment Corporation (DEC) لاستخدامها في نظام التشغيل RSTS/E الخاص بها لسلسلة PDP-11 من أجهزة الكمبيوتر الصغيرة ذات 16 بت في أوائل السبعينيات وحتى الثمانينيات.
استندت لغة BASIC-PLUS إلى لغة BASIC-8 الخاصة بنظام TSS/8 ، [ 1 ] والتي بدورها استندت بشكل وثيق إلى لغة Dartmouth BASIC الأصلية . أضافت BASIC-PLUS عددًا من البنى الجديدة، بالإضافة إلى ميزات من JOSS تتعلق بالعبارات الشرطية والتنسيق. وبدورها، كانت BASIC-PLUS هي النسخة التي بُنيت عليها لغة Microsoft BASIC الأصلية. [ 2 ]
من أبرز الإضافات التي أُدخلت على لغة BASIC-PLUS إدخال دوال معالجة النصوص مثل MID$ و LEFT$ ، بالإضافة إلى أمر CHANGE متعدد الأغراض الأصلي من دارتموث . في الإصدارات اللاحقة من اللغة، ولا سيما إصدار مايكروسوفت، أُزيل أمر CHANGE ، وأصبحت دوال معالجة النصوص في BASIC-PLUS هي الطريقة الوحيدة لإجراء هذا النوع من العمليات. ولا تزال معظم لغات BASIC تتبع هذا النهج حتى اليوم.
أُعيدت كتابة اللغة لاحقًا كمترجم حقيقي باسم BASIC -Plus-2 ، ونُقلت إلى منصة VAX-11 كتطبيق BASIC أصلي لتلك المنصة. وقد صمد هذا الإصدار أمام العديد من تغييرات المنصة، ويُعرف اليوم باسم VSI BASIC لنظام OpenVMS .
تاريخ
الأنظمة السابقة
في منتصف ستينيات القرن العشرين، فازت شركة دي إي سي بعقد بيع حاسوب مركزي من طراز PDP-6 لشركة راند، التي كانت تبحث عن جهاز أسرع لتشغيل لغة البرمجة التفاعلية JOSS . وفي العام التالي، طرحت دي إي سي حاسوب PDP-8 الأصغر حجمًا بكثير ، والذي يُعتبر عمومًا أول حاسوب مصغر ناجح . وقد طورت الشركة لهذا الجهاز نسخة مُصغّرة من لغة JOSS تُعرف باسم FOCAL ، والتي لاقت رواجًا كبيرًا على حاسوب PDP-8، الذي كان من أكثر الحواسيب مبيعًا في تلك الحقبة. [ 3 ]
في العام نفسه الذي قدمت فيه مؤسسة راند برنامج JOSS، قدمت كلية دارتموث النسخة الأولى من لغة دارتموث بيسك . وسرعان ما تم نقل هذه اللغة إلى العديد من المنصات الأخرى، وبحلول أواخر الستينيات، كانت قد حققت انتشارًا واسعًا في صناعة الحواسيب كلغة تفاعلية مصممة للاستخدام مع أنظمة المشاركة الزمنية . وبحلول أواخر الستينيات، كان معظم الموردين يقدمون لغة بيسك لمنصاتهم، بما في ذلك شركة IBM وشركات المشاركة الزمنية الكبرى عبر الإنترنت مثل شركة Tymshare التي طورت لغة سوبر بيسك .
واصلت شركة دي إي سي الترويج لبرنامج فوكال لعملائها، ليس فقط لميزته التقنية، بل لأسباب تتعلق بكونه برنامجًا لم يُخترع محليًا . وبحلول أواخر الستينيات، واجه قسم التعليم في دي إي سي صعوبة متزايدة في تسويق فوكال للعملاء المحتملين مع بدء انتشار لغة بيسك. لم تُبدِ الإدارة اهتمامًا بالبرنامج، لذا في عام ١٩٦٩، بادر ديفيد هـ. أهل بتوظيف مبرمج لكتابة بيسك-٨ لجهاز بي دي بي-٨. حقق البرنامج نجاحًا فوريًا وأصبح من أكثر برامج دي إي سي مبيعًا. [ ٣ ]
PDP-11
في العام نفسه، بدأت شركة دي إي سي جهود تصميم حاسوب جديد ظهر لاحقًا باسم PDP-11 . [ 4 ] كان نظام التشغيل الأول لهذه المنصة هو DOS-11 ، وهو نظام أحادي المستخدم تم تعديله لاحقًا لمعالجة البيانات على دفعات . كان تقاسم الوقت هدفًا رئيسيًا للجهاز الجديد، لذا تم تطوير نظام ثانٍ، MUM-1 (شاشة مراقبة متعددة المستخدمين)، استنادًا إلى DOS، بالإضافة إلى لغة BASIC-11 التي تعمل عليه. وكانت النتيجة بطيئة للغاية. [ 5 ]
خلصت الشركة في نهاية المطاف إلى حاجتها لنظام تشغيل جديد كليًا بتقنية المشاركة الزمنية، وكلفت توم بارنيت وناثان تيتشولتز بتطويره. وشكّلا فريقًا جديدًا لتطوير ما عُرف آنذاك باسم IOX (مُدير الإدخال والإخراج)، في 11 يونيو 1970. وكان تيتشولتز، المسؤول التقني، قد شارك سابقًا في مشروع TSS-8 على جهاز PDP-8. ومن بين المفاهيم الجديدة العديدة التي كان من المقرر أن يتضمنها نظام IOX فكرة استخدام لغة برمجة يمكنها العمل كنظام برمجة واجهة سطر أوامر أيضًا. [ 5 ]
نشأ جدلٌ داخل الشركة حول اللغة البرمجية التي ينبغي أن يُبنى عليها الجهاز. اقترح البعض لغة FOCAL، لا سيما وأن شركة DEC رأت ضرورة اتباع نهجها الخاص. بينما رأى آخرون أن عدم دعم لغة BASIC سيُشكل عائقًا كبيرًا أمام انتشار الجهاز. ونظرًا لعدم وجود رأي قاطع لأي من الخيارين من الناحية التقنية، تُرك القرار لقسم التسويق الذي اختار لغة BASIC. [ 5 ] وفي النهاية، قرروا الجمع بين الخيارين، وتطوير لهجة من لغة BASIC تُضيف بعض ميزات FOCAL أيضًا. [ 4 ]
تتولى شركة EGH زمام الأمور
مع ازدياد حجم العمل على نظام التشغيل في المشروع، استهلكت مهام الهندسة كامل وقت البرمجة المتاح، ولم يعد هناك من يعمل على لغة BASIC. [ 5 ] خلال لقاءٍ عابر أثناء شراء طائرة، اكتشف تيم هارت أن بائع الطائرة يعمل في شركة DEC، وتحدثوا عن المشاكل التي تواجهها الشركة. ومن خلال هذه الفرصة، تلقى هارت، برفقة صديقيه القديمين توم إيفانز وتوم غريفيث، اللذين أسسا شركة EGH Inc.، عرضًا من شركة DEC في 25 أغسطس. ولأنهم اعتقدوا أنه سيكون مشروعًا ممتعًا، قدموا عرضًا منخفضًا جدًا بقيمة 10,500 دولار في 4 سبتمبر. ولدهشتهم، فازوا بالعقد في 18 سبتمبر، لكن شركة DEC أدركت أن السعر منخفض جدًا، وعرضت تعويضه من خلال بند مكافأة بقيمة 3000 دولار. [ 6 ]
في السابق، قدمت شركة DEC عدة لهجات مختلفة من لغة BASIC لمنصاتها المتنوعة، وكانت هذه اللهجات مختلفة بما يكفي لتتطلب تحويلًا عند الانتقال بين الأجهزة، كما أنها كانت أقل كفاءة بشكل عام مقارنةً بالمنصات الأخرى. [ 6 ] قدمت BASIC-PLUS العديد من الميزات الجديدة التي جعلتها من بين اللهجات الأكثر اكتمالًا، بما في ذلك عمليات حساب المصفوفات، ومعالجة الملفات، وميزات أخرى كانت حصرية سابقًا لأنظمة الحواسيب المركزية. وأصبحت BASIC-PLUS فيما بعد الأساس لجميع اللهجات اللاحقة التي أصدرتها الشركة.
كان المفهوم الأصلي أن تقوم شركة EGH بكتابة المُصرّف [ أ ] والأدوات المساعدة ذات الصلة فقط، بينما تتولى شركة DEC كتابة نظام التشغيل بشكل منفصل. وكانت الفكرة أن الأنظمة ذات الذاكرة المحدودة ومساحة التخزين الثانوية ستُزوّد فقط بنظام التشغيل، وأن صغر حجم نظام التشغيل وشفرة اللغة الوسيطة (IL) من المُصرّف سيُمكّنها من العمل. يتطلب التطوير بلغة BASIC جهازًا بموارد أكبر، ولكن تشغيل البرامج الناتجة ببساطة سيعمل حتى على أصغر الأجهزة. كان من المفترض في البداية أن تقوم EGH بكتابة المُصرّف فقط، ولكن مع مرور الوقت، أُسندت إليها مسؤولية النظام بأكمله، والذي سلّمته في يناير 1971. ثم تم التخلي عن فكرة نظام التشغيل فقط لاحقًا. [ 5 ]
تمت إعادة تسمية IOX في النهاية إلى RSTS-11، وتم شحنها مع BASIC-PLUS في عام 1971. [ 6 ]
عملية
كان المستخدمون يجلسون أمام جهاز طرفي ويكتبون أوامر لغة البرمجة. وكان بإمكانهم إدخال هذه الأوامر مباشرةً في مُفسِّر أوامر النظام، أو إدخالها في مُحرِّر نصوص ، وحفظها في ملف، ثم تحميلها إلى مُفسِّر الأوامر من ذلك الملف. وكانت الأخطاء في شفرة المصدر تُبلَّغ للمستخدم فور كتابة السطر.
نظرًا لعدم إمكانية ضمان وجود طرفية ذكية مزودة بتحكم بالمؤشر، استخدمت لغة BASIC-PLUS النظام الشائع لترقيم أسطر الشيفرة المصدرية. يتم تعديل الشيفرة بكتابة الرقم ثم تغيير محتوى الشيفرة التالية. ويمكن حذف سطر من الشيفرة بكتابة رقمه فقط، ليصبح سطرًا فارغًا.
كانت مساحة العناوين الافتراضية لمستخدم RSTS/E محدودة بأقل من 64 كيلوبايت بقليل. عند استخدام لغة BASIC-PLUS، كان نصف هذه المساحة تقريبًا يُستخدم بواسطة مُفسِّر الأوامر ومكتبة وقت التشغيل (المسماة نظام وقت التشغيل في RSTS/E). هذا الأمر حدَّ من حجم ذاكرة برامج المستخدم إلى حوالي 32 كيلوبايت .
كانت البرامج الكبيرة تُقسّم إلى أجزاء تنفيذية منفصلة باستخدام CHAINعبارة `require`، وكان بإمكان البرامج أن تتصل بأرقام أسطر محددة في برنامج ثانوي للإشارة إلى أن البرنامج يجب أن يبدأ التنفيذ من نقطة مختلفة عن سطره الأول. سمحت هذه الخاصية، وهي الاتصال برقم سطر معين، للبرامج بالإشارة إلى بعضها البعض بأنها تُستدعى من برنامج آخر. كما سمح استخدام قسم ذاكرة مشتركة يُسمى " core common" للبرامج بتبادل البيانات فيما بينها حسب الحاجة. كان من الممكن أيضًا استخدام ملفات القرص ، لكنها كانت أبطأ.
للحفاظ على الذاكرة، تضمن النظام مدير ذاكرة لجمع البيانات المهملة، يستخدم لكل من بيانات السلسلة ورمز البايت.
يمكن مقاطعة برنامج قيد التشغيل، وفحص متغيراته وتعديلها، ثم استئنافه.
بناء الجملة والميزات
تعتمد لغة BASIC-PLUS بشكل كبير على الإصدارات اللاحقة من لغة Dartmouth BASIC ، بما في ذلك أوامرها القوية MAT. علاوة على ذلك، أضافت شركة DEC عددًا من هياكل التحكم في التدفق الفريدة.
التحرير
كانت أرقام الأسطر أعدادًا صحيحة موجبة من 1 إلى 32767. [ 7 ] يمكن استكمال أسطر التعليمات البرمجية المنطقية على عدة أسطر فعلية باستخدام حرف تغذية السطر في نهاية السطر بدلًا من حرف إرجاع المؤشر المعتاد . [ 8 ] ولتسهيل التحرير الخارجي لملف المصدر، سمحت الإصدارات اللاحقة من لغة BASIC-PLUS أيضًا &باستخدام هذا الحرف كحرف لاستكمال السطر.
يمكن وضع عدة عبارات في سطر واحد باستخدام :الفاصلة كفاصل بين العبارات. [ 8 ] سمح النظام باستخدام علامات الجدولة كمسافات بيضاء داخل السطر، واستُخدمت لجعل الحلقات أكثر وضوحًا، كما هو الحال في اللغات الحديثة. [ 9 ] استخدمت التعليقات إما الكلمة REMالمفتاحية أو !الحرف، [ 10 ] على عكس لغة MS BASIC، التي استخدمت الفاصلة REMو '.
البيانات القياسية
قسّم الأمر PRINTالشاشة إلى مناطق بعرض 14 مسافة، واستُخدمت الفاصلة للتنقل بين هذه المواقع؛ PRINT 1,2,3سيُخرج 1 و2 و3 بشكل متباعد، [ 11 ] بينما PRINT 1;2;3سيترك مسافة واحدة ويُنتج "1 2 3". [ 12 ] [ ب ]INPUT سمح بتحديد سلسلة نصية، لكنه استخدم الفاصلة المنقوطة لفصلها بدلاً من الفاصلة ؛ [ 13 ]INPUT"WHAT IS THE VALUE";A
يمكن تحديد السلاسل النصية بعلامات اقتباس مفردة أو مزدوجة. [ 14 ] بالإضافة إلى CHRالدالتين ASCIIاللتين تحولان الأحرف المفردة من وإلى تنسيق السلسلة النصية، [ 15 ]CHANGE دعمت لغة BASIC-PLUS أيضًا أمر Dartmouth . CHANGEيقوم هذا الأمر بتكرار السلسلة النصية وإرجاع قيمة ASCII لكل حرف كخانة في مصفوفة رقمية. على سبيل المثال، CHANGE 'HELLO' TO Xسيرجع الأمر مصفوفة تحتوي على رموز ASCII الخمسة، 110، 105، 114، 114، 105، في العناصر من 1 إلى 5، والرقم 5، وهو طول السلسلة النصية، في العنصر 0. [ 16 ] يمكن عكس العملية أيضًا، CHANGE X TO A$حيث يقرأ الأمر الأرقام الفردية في المصفوفة X ويحولها إلى سلسلة نصية. [ 17 ]
مُعدِّلات العبارات
أضافت لغة BASIC-PLUS مفهوم "مُعدِّلات العبارات"، وهي شروط شبيهة بشروط JOSS يمكن تطبيقها على أي عبارة. على سبيل المثال، تُعادل العبارة [ 18 ]. كما تم توفير عكسها، حيث تُعادل العبارة [ 19 ] .PRINTIIFI<>10IFI<>10THENPRINTIPRINTIUNLESSI=10IFI<>10THENPRINTI
FORكانت الحلقات تعمل كما في الإصدارات الأخرى من لغة BASIC، NEXTولم يكن بالإمكان استخدام الأمر في تعبير للخروج المبكر. [ 20 ] بدلاً من ذلك، يمكن استخدام الكلمتين المفتاحيتين ` UNTILand` WHILEللتحكم في الخروج المبكر. على سبيل المثال، يمكن الاستمرار في التكرار حتى تصبح قيمة I تساوي 10، بافتراض أن الكود التالي سيُعيّن قيمة I، [ 21 ] مما يعني أنه قد لا يخرج بعد 10 تكرارات، بل بمجرد أن يُعيّن الكود قيمة I إلى 10. [ 22 ] كما يمكن استخدام المُعدِّلات لإنشاء حلقات مُختصرة من سطر واحد، على سبيل المثال، ستستمر الحلقة حتى تصبح قيمة X تساوي 100. [ 23 ]FORI=1UNTILI=10X=X+1WHILEX<100
المتغيرات والتعبيرات والمصفوفات
في الإصدارات الأولى من لغة BASIC-PLUS، كانت أسماء المتغيرات تتكون من حرف واحد أو حرف متبوع برقم واحد. [ 9 ] ومع إضافة "وضع التوسيع" في الإصدارات اللاحقة، أصبح طول أسماء المتغيرات يصل إلى 29 حرفًا، وأُضيفت النقطة (.) كحرف مسموح به. مع ذلك، كان لا يزال من الضروري أن يبدأ كل اسم متغير بحرف. [ ج ] وكما هو الحال في معظم إصدارات BASIC، LETكانت الكلمة المفتاحية، الخاصة بتعيين قيم المتغيرات، اختيارية. إذ يمكنها تعيين قيمة واحدة لعدة متغيرات، مثل . [ 24 ]LETA,B,C=10
كانت اللغة تدعم ثلاثة أنواع من البيانات: الأعداد العشرية، والأعداد الصحيحة، والسلاسل النصية. المتغيرات التي لا تحمل لاحقة كانت أعدادًا عشرية (8 بايت، نطاق 0.29 × 10).من -38 إلى 1.7 × 1038 ، بدقة تصل إلى 16 رقمًا). تم تمييز المتغيرات العددية الصحيحة (16 بت، النطاق من -32768 إلى +32767) بلاحقة%، [ 25 ] وتم تمييز متغيرات السلاسل النصية (ذات الطول المتغير) بلاحقة$. [ 14 ]
كانت قائمة المعاملات الرياضية والمنطقية نموذجية لمعظم لغات BASIC، مع بعض الإضافات. ففي الرياضيات، +كانت المعاملات مدعومة، بالإضافة إلى و -و *و /كشكل بديل لـ لأجهزة الحاسوب التي قد لا تحتوي على هذا الرمز. أما المقارنات المنطقية القياسية فكانت و و و و و و و . ومن الإضافات المثيرة للاهتمام المعامل ، الذي يرمز إلى "التساوي التقريبي". يُرجع هذا المعامل القيمة "صحيح" إذا طُبع العددان بنفس الشكل، أي إذا كانت أرقامهما الستة الأكثر أهمية متطابقة. [ 26 ] وشملت المعاملات المنطقية المعاملات النموذجية و و و ، بالإضافة إلى ، التي تُرجع القيمة "صحيح" إذا كان كل من A وB صحيحين أو كلاهما خاطئين، و التي تُرجع القيمة "خطأ" إذا كان A صحيحًا وB خاطئًا، وإلا فإنها تُرجع القيمة "صحيح" دائمًا. [ 27 ]^**^=<><=>=<>==NOT AA AND BA OR BA XOR BA EQV BA IMP B
يمكن للأمر DIMتخصيص مصفوفات أحادية وثنائية الأبعاد من أي من أنواع البيانات الثلاثة. يبدأ نطاق الفهارس دائمًا من 0 (لكن MATالأوامر لا تُعيّن عناصر في الصف 0 أو العمود 0). [ 28 ] [ 29 ]
تضمنت اللغة أيضًا عددًا من MATالأوامر للتعامل مع المصفوفة بأكملها (أو MATrix). يقوم الأمر بملء المصفوفة بالقيم المُدخلة في العبارة، [ 30 ] ويقوم بملء المصفوفة بالقيم التي يُدخلها المستخدم، ويطبع العناصر بتنسيق أحادي أو ثنائي الأبعاد. [ 31 ] ويمكن استخدامه أيضًا لتعيين قيم افتراضية في المصفوفة باستخدام الكلمات المفتاحية المرتبطة، على سبيل المثال، يقوم بملء المصفوفة A بالأصفار. [ 32 ] ويقوم بنقل المصفوفة بأكملها، وعكسها. [ 33 ] بالإضافة إلى ذلك، يمكن استخدام ، و و على المصفوفات، لتنفيذ عملية المصفوفة المرتبطة بها. [ 34 ]MATREADDATAMATINPUTMATPRINTMATMAT A=ZERTRNINV+-*
معالجة الملفات
تتيح عبارة DIM#"virtual DIM" ربط "مصفوفة بيانات افتراضية" أو "مصفوفة افتراضية" بملف على القرص، مما يسمح بمصفوفات أكبر من الذاكرة المتاحة للحاسوب (أو حتى مساحة عناوينها)، ويتيح استخدام عناصر المصفوفة لقراءة وكتابة وتوسيع ملفات القرص (التخزين الدائم). أطلقوا على هذا الترتيب اسم "تخزين البيانات الافتراضي" و"المعالجة الافتراضية"، ولكنه لم يستخدم الأسلوب الحديث لتخصيص المصفوفات وملف مُرتبط بالذاكرة . بدلاً من ذلك، استُخدم مخزن مؤقت واحد لتخزين 512 بايت من البيانات في كل مرة، وعند الوصول إلى عنصر في المصفوفة الافتراضية، تُقرأ البيانات المقابلة، وتُكتب البيانات القديمة، حسب الحاجة. CLOSEتتسبب العبارة في إعادة كتابة المخزن المؤقت (إذا لزم الأمر) قبل إغلاق الملف. ولأنه لم يتم تخزين قطاعات إضافية مؤقتًا، فإن الوصول إلى البيانات بترتيب "خاطئ" قد يُضاعف عدد عمليات الوصول إلى القرص. فُرضت قواعد إضافية على المصفوفات الافتراضية، بحيث لا يمكن لبيانات واحدة أن تمتد عبر حدود سجل: يتم محاذاة كل نوع بيانات إلى مُضاعف لحجمه. تم تخزين السلاسل الافتراضية كبيانات ASCIIZ ذات طول ثابت، مع أحجام محدودة إلى 2 أو 4 أو 8 أو 16 أو 32 أو 64 أو 128 أو 256 أو 512 بايت، وتم الوصول إليها باستخدام LSETو RSET. [ 35 ]
آلة افتراضية
لم يكن BASIC-PLUS مترجمًا فوريًا، بل نظامًا للترجمة والتنفيذ : حيث تُترجم كل سطور لغة BASIC إلى "PPCODE" (كود الدفع والسحب) عند إدخالها، لتنفيذها بسرعة على الآلة الافتراضية. لم تُجزّئ هذه الترجمات سطور BASIC، بل أعادت كتابتها لاستخدامها على آلة المكدس ؛ ولم يكن بالإمكان ترجمة هذه التمثيلات مرة أخرى إلى عبارات BASIC. هذا يُغني عن الحاجة إلى فك تشفير الكلمات المفتاحية كسلاسل نصية بشكل متكرر: فبمجرد تحويلها إلى PPCODE، تصبح الكلمات المفتاحية أرقامًا تُشير إلى إجراءات لتشغيل تلك الوظيفة (أي، كود متعدد الخيوط ). تضمن BASIC-PLUS COMPILEأمرًا، لكنه لم يكن مترجمًا حقيقيًا؛ بل كان ببساطة يحفظ تمثيل PPCODE للبرنامج حتى لا يُعاد تجميعه عند تحميل برنامج BASIC في الذاكرة لاحقًا. كان النظام يخزن برنامج المستخدم بصيغتين. إحداهما هي شفرة المصدر القابلة للتحرير بصيغة نصية، والتي تُنشأ باستخدام SAVEالأمر وتُوضع عادةً في ملف بامتداد .BAS. أما النسخة الأخرى فكانت نسخة PPCODE من البرنامج التي تم إنشاؤها بواسطة COMPILEالأمر وحفظها في ملف بامتداد .BAC؛ وكانت ملفات .BAC أصغر حجمًا وأسرع في التحميل والتشغيل، ولكن لا يمكن تعديلها. [ 36 ] [ 37 ]
BASIC Plus 2
تم تطوير منتج ذي صلة يسمى Basic Plus 2 ("BP2" أو BASIC-Plus-2 ) لاحقًا بواسطة DEC لإضافة ميزات إضافية وزيادة الأداء.
استخدم هذا النظام الترجمة الحقيقية إلى كود متعدد الخيوط ، وكتب مخرجاته إلى ملفات كائنية متوافقة مع ملفات كائنات كود الآلة التي ينتجها المجمع وأنظمة اللغات الأخرى. ويمكن حفظ هذه الملفات الكائنية في مكتبات. ثم يقوم رابط (TKB، المعروف أيضًا باسم مُنشئ المهام) بإنشاء ملفات تنفيذية من الملفات الكائنية والمكتبات. كما يدعم TKB خاصية التراكب؛ مما يسمح بتبديل إجراءات فردية في مساحة العناوين الافتراضية حسب الحاجة، لتراكب الإجراءات غير المستخدمة حاليًا.
بالإضافة إلى ذلك، كانت برامج BP2 تعمل ضمن نظام تشغيل RSX؛ حيث لم يشغل هذا النظام سوى 8 كيلوبايت من مساحة العناوين الافتراضية للمستخدم، تاركًا 56 كيلوبايت لبرنامج المستخدم. [ 38 ] (قدم الإصدار 9 من RSTS/E مساحة منفصلة للتعليمات والبيانات، ونظام تشغيل RSX "المتلاشي"، مما سمح بمساحة تصل إلى 64 كيلوبايت لكل من رمز التعليمات والبيانات). وقد سمح هذان العاملان لبرامج BP2 الفردية بأن تكون أكبر بكثير من برامج BASIC-PLUS، مما قلل في كثير من الأحيان من الحاجة إلى ربط البرامج المتعددة.
على عكس لغة BASIC-PLUS (التي كانت متاحة فقط على نظام RSTS/E)، كانت لغة BP2 متاحة أيضًا لنظام التشغيل RSX-11 . كما كانت برامج BP2 أكثر توافقًا مع لغة VAX BASIC اللاحقة .
مقارنة مع لغة MS BASIC
استُلهمت لغة مايكروسوفت بيسك بشكل كبير من لغة بيسك بلس. [ 2 ] افتقرت الإصدارات السابقة من بيسك، سلسلة 1.x، إلى متغيرات الأعداد الصحيحة، ولكن أُضيفت هذه المتغيرات في سلسلة 2.x التي وُجدت في العديد من الأجهزة، بما في ذلك الطرازات الأحدث من كومودور بي إي تي وكومودور 64. لم تُنقل إمكانية وضع الأوامر المنطقية وأوامر الحلقات بشكل متسلسل، I = I + 1 UNTIL I = 10ولا تظهر في أي إصدار شائع من لغة بيسك الخاصة بالحواسيب الصغيرة. كما افتقرت بيسك أيضًا إلى أوامر المصفوفات.
انظر أيضاً
ملحوظات
- ↑ من الناحية الحديثة، يُعتبر هذا مُجزئًا للكلمات، وليس مُترجمًا بالمعنى الحالي للمصطلح.
- ↑ تُركت مساحة أمام الأرقام لعلامة الطرح المحتملة، وكان هذا هو المعيار في جميع لغات BASIC تقريبًا.
- ↑ قبل إدخال وضع التمديد، لم تكن المسافة البيضاء مطلوبة بين المتغيرات وعناصر اللغة الأخرى:سيتم تفسيرها على أنها.
FORI=STOPFORI=STOP
مراجع
الاقتباسات
- ↑ بيل، سي. جوردون ؛ مودج، جيه. كريج؛ ماكنمارا، جون ن. (1978). هندسة الحاسوب: نظرة شركة دي إي سي لتصميم أنظمة الأجهزة (ملف PDF) . دار النشر الرقمية . رقم ISBN 0-932376-00-2.
- 1 2 مانس، ستيفن (1993). البوابات . دابلداي. ص 61. ISBN 9780385420754.
- 1 2 أهل 2013 .
- 1 2 Fleig 1983 ، ص 52.
- 1 2 3 4 5 ديك 1990 .
- 1 2 3 Fleig 1983 ، ص 53.
- ↑ PLUS 1972 ، ص. 2-1.
- 1 2 PLUS 1972 ، ص. 2-3.
- 1 2 PLUS 1972 ، ص. 2-6.
- ↑ PLUS 1972 ، ص. 3-1.
- ↑ PLUS 1972 ، ص 3-7.
- ↑ PLUS 1972 ، ص 3-8.
- ↑ PLUS 1972 ، ص 3-10.
- 1 2 PLUS 1972 ، ص. 5-2.
- ↑ PLUS 1972 ، ص 5-12.
- ↑ PLUS 1972 ، ص 5-5.
- ↑ PLUS 1972 ، ص 5-7.
- ↑ PLUS 1972 ، ص 8-17.
- ↑ PLUS 1972 ، ص 8-18.
- ↑ PLUS 1972 ، ص 3-19.
- ↑ PLUS 1972 ، ص 8-14.
- ↑ PLUS 1972 ، ص 8-15.
- ↑ PLUS 1972 ، ص 8-20.
- ↑ PLUS 1972 ، ص. 3-3.
- ↑ PLUS 1972 ، ص. 6-1، 6-2.
- ↑ PLUS 1972 ، ص 2-9.
- ↑ PLUS 1972 ، ص 2-10.
- ↑ PLUS 1972 ، ص 3-21.
- ↑ PLUS 1972 ، ص 5-3.
- ↑ PLUS 1972 ، ص 7-2.
- ↑ PLUS 1972 ، ص 7-3.
- ↑ PLUS 1972 ، ص 7-5.
- ↑ PLUS 1972 ، ص 7-7.
- ↑ PLUS 1972 ، ص. أ-1.
- ↑ PLUS 1972 ، ص 9-17.
- ↑ "هل تُعدّ عوامل التشغيل المضمنة في لغة BASIC-PLUS منطقية حقًا؟" . تم الاطلاع عليه بتاريخ 2020-08-05 .
- ↑ غاري لوكنباو. "التفاصيل الداخلية لـ BASIC-PLUS" . 2024-04-02.
- ↑ دليل مرجعي للغة BASIC V2 (ملف PDF) . ماينارد، ماساتشوستس: شركة المعدات الرقمية. 1991.
فهرس
- دليل لغة BASIC-PLUS (ملف PDF). ماينارد، ماساتشوستس: شركة المعدات الرقمية. 1972.
- أهل، ديفيد؛ أهل، بيتسي (3-4 أبريل 2013). "ديف أهل وبيتسي أهل" (مقابلة). أجراها كيفن سافيتز. أنتيك: بودكاست أتاري 8 بت.
- فليج، كلير (مارس 1983). "ازدهار شركة إيفانز، جريفيثس وهارت تحت إدارة الجمعية الملكية للمهندسين المعماريين/الهندسة". نسخة مطبوعة .
- ديك، بيتر (1990). عيد ميلاد RSTS الثمانين . ديكوس الولايات المتحدة الأمريكية RSTS سيج.
- مترجمو لغة BASIC
- عائلة لغات البرمجة الأساسية
- واجهات الأوامر
- برنامج DEC
