أساسيات حقيقية
لغة البرمجة True BASIC هي نسخة معدلة من لغة البرمجة BASIC، وهي مشتقة من لغة Dartmouth BASIC - لغة BASIC الأصلية. وقد ابتكر كلتيهما أستاذان جامعيان هما جون جي. كيميني وتوماس إي. كورتز . [ 1 ]
تاريخ
يعود تاريخ لغة True BASIC إلى فرع من لغة Dartmouth BASIC يُسمى Structured BASIC، أو SBASIC اختصارًا. صدرت هذه اللغة في عام 1975 أو 1976 تقريبًا، لكنها لم تُثبّت كنسخة أساسية من BASIC على نظام Dartmouth Time-Sharing System (DTSS) الذي كان يدعم الحرم الجامعي. بعد ذلك بوقت قصير، انخرط كيميني في جهد لإنتاج معيار ANSI للغة BASIC، في محاولة لتوحيد الاختلافات الصغيرة العديدة للغة التي تطورت خلال أواخر الستينيات وأوائل السبعينيات. ركز هذا الجهد في البداية على نظام يُعرف باسم Minimal BASIC، والذي كان مشابهًا لأوائل إصدارات Dartmouth BASIC، بينما استهدف العمل اللاحق تطوير Full BASIC، الذي كان في جوهره SBASIC مع إضافات متنوعة.
بحلول أوائل ثمانينيات القرن العشرين، كانت عشرات الملايين من أجهزة الكمبيوتر المنزلية تعمل بنظام تشغيل مايكروسوفت بيسك ، الذي أصبح المعيار الفعلي . أصبحت جهود المعهد الوطني الأمريكي للمعايير (ANSI) عديمة الجدوى في نهاية المطاف، إذ اتضح أن هذه الإصدارات لن يكون لها أي تأثير في السوق في عالم تهيمن عليه مايكروسوفت. تمت المصادقة على كلا الإصدارين لاحقًا، لكنهما لم يشهدا انتشارًا يُذكر، وسُحبت المعايير فيما بعد. مع ذلك، قرر كيميني وكورتز مواصلة جهودهما لتقديم مفاهيم من لغة SBASIC وجهود المعهد الوطني الأمريكي للمعايير في تطوير لغة بيسك القياسية. وهكذا ظهرت لغة True BASIC.
تم إطلاق لغة True BASIC في عام 1985، وكانت في البداية مبنية على لغة Dartmouth BASIC 7. وتتوفر نسخ من مُجمِّع True BASIC لأنظمة MS-DOS و Microsoft Windows و Classic Mac OS . كما تم توفير نسخ منها لأجهزة TRS-80 Color Computer و Amiga و Atari ST ، بالإضافة إلى مُجمِّع سطر أوامر لنظام UNIX .
بعد عدة سنوات من الخمول، تم إغلاق موقع TrueBASIC الإلكتروني رسميًا اعتبارًا من فبراير 2026.
سمات
باعتبارها تطبيقًا برمجيًا منظمًا للغة، فإنها تستغني عن الحاجة إلى أرقام الأسطر والعبارات GOTO، على الرغم من أنه لا يزال من الممكن استخدامها.
توفر لغة BASIC الحقيقية تعليماتٍ لحساب المصفوفات ، وهي ميزة كانت موجودة في لغة Dartmouth BASIC منذ بداياتها، ولكنها أُزيلت في جميع إصدارات مترجمات BASIC الخاصة بالحواسيب الصغيرة تقريبًا . كما أنها تُنفذ متغيرات عامة ومحلية تُتيح كتابة الدوال والإجراءات الفرعية التكرارية .
أراد المصممون جعل اللغة مستقلة عن نوع الجهاز، بحيث يعمل كود True BASIC المصدري بكفاءة متساوية على أي إصدار من مُترجمهم. وقد نجحوا في ذلك إلى حد كبير. أما العيب بالنسبة للمستخدمين فكان عدم توفر الوصول المباشر إلى بعض ميزات أجهزتهم، ولكن يمكن تدارك هذا الأمر باستخدام دوال وروتينات فرعية قابلة للاستدعاء مكتوبة خصيصًا بلغة التجميع .
باستخدام الإصدارات الأحدث من لغة True BASIC، تم تعطيل بعض الدوال القديمة. مثال على الكود الحديث سيكون كالتالي:
RANDOMIZE SET WINDOW 0 , 20 , 0 , 20 SET COLOR 5 ! اضبط لون القلم والنص على 5 لأن اللغة الأساسية الحقيقية تحتوي على 0-15 لونًا PRINT "Welcome To ..." ! اطبع "Welcome To ..." على شاشة المستخدم . DO ! ابدأ الحلقة LET x = rnd * 20 ! اجعل قيمة ' x ' تساوي عددًا عشوائيًا بين ' 0 ' و'20 ' LET y = rnd * 20 ! اجعل قيمة 'y' تساوي عددًا عشوائيًا بين '0' و'20' PAUSE 0.1 ! انتظر 1/10 من الثانية PLOT TEXT , at x , y : " Fabulous Wikipedia!" ! ارسم " Fabulous Wikipedia ! " عند الإحداثيات 'x' و ' y ' LOOP ! أنهِ الحلقة END ! أنهِ البرنامجيقوم هذا البرنامج البسيط برسم النص "Welcome To ..." في الزاوية العلوية اليسرى من الشاشة، ثم يستمر في حلقة لا نهاية لها لرسم "Fabulous Wikipedia!" في إحداثيات عشوائية.
مثال على الرسوم المتحركة البسيطة قد يكون كالتالي:
! ارسم السيارة SET WINDOW 0 , 20 , 0 , 20 SET COLOR 5 BOX AREA 2 , 6 , 2 , 3 BOX AREA 9 , 13 , 2 , 3 BOX AREA 16 , 20 , 2 , 3 SET COLOR 249 PLOT LINES : 0 , 5 ; 20 , 5 FLOOD 10 , 1 BOX KEEP 0 , 20 , 0 , 5 IN road $ BOX CIRCLE 2 , 3 , 5 , 6 FLOOD 2.5 , 5.5 BOX CIRCLE 5 , 6 , 5 , 6 FLOOD 5.5 , 5.5 SET COLOR 35 PLOT LINES : 2.5 , 6 ; 5.5 ، 6 خطوط الرسم : 5 ، 6 ؛ 8 ، 6 ؛ 8 ، 8 ؛ 6 ، 8 ؛ 6 ، 10 ؛ 2 ، 10 ؛ 2 ، 8 ؛ 0 ، 8 ؛ 0 ، 6 ؛ 3 ، 6 فيضان 4 ، 8 تعيين اللون 248 منطقة المربع 4 ، 5 ، 8 ، 9 احتفظ بالمربع 0 ، 8 ، 5 ، 10 في car$ ! احفظ السيارة في ' car$' من أجل x = 1 إلى 20 الخطوة 1 ! أنشئ حلقة 'for' BOX SHOW road$عند 0 ، 0، اعرض السيارة $ عند x ، 5، توقف مؤقتًا 0.1 ، امسح ، التالي x ! أنهِ حلقة 'for'، أنهِ ! البرنامجاستقبال
تساءل جيري بورنيل عام ١٩٨٥: "لماذا نحتاج إلى لغة True BASIC أصلاً؟ لا يبدو أنها تفعل أي شيء لا تفعله لغة BASIC العادية، وما تفعله لا يُعالج بطريقة منطقية أو بديهية." وانتقد غياب المخرجات عند مواجهة خطأ، مما يعيق التصحيح التفاعلي عن طريق " إدراج عبارات الطباعة كتشخيصات ". وخلص بورنيل إلى القول: "أعتقد أنني سأتخلى عن فرصة أن أصبح مؤمناً متجدداً بلغة True BASIC. سأستمتع بهرطقاتي تجاه مايكروسوفت ولغة CBASIC ." [ ٢ ]
اشتكى بعض المستخدمين من استهلاك برامجهم والمحرر لكامل طاقة المعالج (أو النواة ). [ 3 ] [ 4 ] [ 5 ] [ 6 ] ويبدو أن السبب هو استخدام المحرر وبرامج المستخدم لحلقة تكرارية تستعلم باستمرار عن الأحداث من لوحة المفاتيح والماوس. وقد عُرفت هذه المشكلة منذ نهاية عام 2010 على الأقل، [ 3 ] ومع ذلك، وحتى أوائل عام 2014، لا يزال العمل جارياً على حلها. [ 6 ]
للمزيد من القراءة
- كيميني، جون ج.؛ كورتز، توماس إي. (1985). العودة إلى لغة بيسك: تاريخ اللغة، وفسادها، ومستقبلها . شركة أديسون-ويسلي للنشر. 141 صفحة. ISBN 0-201-13433-0.
مراجع
- ↑ كيمب، جولييت. "بيسك: اللغة التي أشعلت ثورة" (ملف PDF) . تم الاطلاع عليه بتاريخ 25 يونيو 2022 .
- ↑ بورنيل، جيري (سبتمبر 1985). "أجهزة الكمبيوتر الشخصية، والملحقات، والبرامج، والأشخاص" . بايت . ص 347. تم الاطلاع عليه في 20 مارس 2016 .
- 1 2 "استخدام وحدة المعالجة المركزية" . منتدى دعم True BASIC، 31 ديسمبر 2010. تم الاطلاع عليه في 26 يوليو 2014 .
- ↑ "استخدام وحدة المعالجة المركزية بنسبة 100%" . منتدى دعم True BASIC، 22 أغسطس 2012. تم الاطلاع عليه بتاريخ 26 يوليو 2014 .
- ↑ "استخدام وحدة المعالجة المركزية" . منتدى دعم True BASIC، 24 سبتمبر 2013. تم الاطلاع عليه بتاريخ 26 يوليو 2014 .
- 1 2 "بعض الأخطاء الإضافية في المحرر" . رد منتدى دعم True BASIC بتاريخ 18 فبراير 2014. تم الاطلاع عليه بتاريخ 26 يوليو 2014 .
روابط خارجية
- مترجمو لغة BASIC
- عائلة لغات البرمجة الأساسية
