Site icon السعودية برس

العودة إلى لغة البرمجة BASIC – لغة البرمجة الأكثر أهمية في تاريخ الحوسبة

بالنسبة لشخص بدأ للتو في هذه الحرفة الغريبة، كانت لغة البرمجة BASIC أشبه بسحر حقيقي. كانت بمثابة إلقاء تعويذات: لقد نطقت بكلمات جعلت الحديد والسيليكون ينبضان بالحياة، وجعلتهما يفعلان أشياء. (كما تقول مهندسة البرمجيات إيرين سبايسلاند، فإن البرمجة هي “إخبار الصخور بما يجب أن تفكر فيه”). إذا كنت، كما كنت أنا، منغمسًا في روايات تولكين وغيرها من روايات الخيال العلمي المزخرفة، فهناك رومانسية عميقة في فكرة أن اللغة اليومية يمكن أن تؤثر على الواقع. تكلم يا صديقي وادخل.

كما شجعت لغة البرمجة BASIC على التلاعب. وعلى نحو غير معتاد في ذلك الوقت، كانت لغة “مفسرة”. ففي العديد من اللغات السابقة، كان عليك كتابة الكود، ولكن قبل أن تتمكن من تشغيله كان عليك “تجميعه” في حزمة صغيرة من الأرقام 1 و0. وكان هذا الأمر عملية متوقفة: الكتابة والتجميع ثم التشغيل. أما في لغة البرمجة BASIC، على النقيض من ذلك، فكانت الآلة تستجيب على الفور. فكل ما عليك فعله هو كتابة بضعة أسطر، ثم الضغط على زر التشغيل، ثم تقوم الآلة بتفسيره على الفور.

لقد أدى هذا إلى تحويل الترميز إلى محادثة مع الآلة. كانت البرمجة أشبه بالتفكير بصوت عالٍ. كنت أعمل على برنامج دردشة آلي، على سبيل المثال، لذا كنت أدخل بضعة أسطر في المحلل، ثم أضغط على تشغيل لمعرفة أدائه. كنت أضيف بضعة أسطر أخرى، وألاحظ ما نجح وما لم ينجح، ثم أبدأ مرة أخرى. جعلت هذه الرقصة المتبادلة مع الآلة عملية الترميز بأكملها أقل ترويعًا. بدا الأمر أقل شبهاً بتصميم مهم للغاية وأكثر شبهاً بـ يفتقد لشئ ما. يتم الآن أيضًا تفسير العديد من أكثر لغات العالم شهرة (مثل JavaScript وPython) أثناء التنقل. لكن لغة BASIC كانت من بين اللغات الأولى التي تم تفسيرها.

كما أنشأت لغة البرمجة BASIC أول ثقافة مفتوحة المصدر على مستوى العالم. فقد كان الناس يتشاركون في الأكواد البرمجية بحرية: فإذا كتب صديق لعبة بلاك جاك رائعة، كنا نصنع جميعاً نسخة منها ـ باليد، مثل الكتبة في الأديرة في العصور الوسطى ـ ونقوم بتشغيلها بأنفسنا. وفي كل شهر، كانت مجلة Compute تطبع كميات هائلة من لغة البرمجة BASIC يرسلها الهواة بالبريد. ولقد أمضيت بعد ظهر أحد الأيام في كتابة مئات السطور من “لعبة الحياة” التي كتبها كونواي، والتي وجدتها في أحد الأعداد، ثم شاهدت، في ذهول، كائناً اصطناعياً يزدهر على الشاشة.

هناك مقولة في عالم المبرمجين مفادها أن الكود مكتوب في المقام الأول ليقرأه المبرمجون الآخرون، وفي المقام الثاني فقط لكي تعمل الآلة. وقد أثبتت لغة BASIC هذا على نطاق واسع.

ولكن كـ لغة عملية؟ لصنع برامج قابلة للشحن؟

لم يكن BASIC رائعًا دائمًا.

على سبيل المثال، كانت الرسومات بطيئة للغاية. حاولت أن أصنع لعبة إطلاق نار في الفضاء، لكنها كانت بطيئة للغاية ولا يمكن تشغيلها. وهذا جزء من السبب الذي جعل العديد من صناع الألعاب الذين يستخدمون لغة BASIC يركزون بدلاً من ذلك على المغامرات النصية: فالكلمات، على الأقل، كانت تُعرض بسرعة. وكان الانفجار الكمبري لألعاب الزحف عبر الأبراج المحصنة القائمة على النصوص في أواخر السبعينيات والثمانينيات نتيجة جزئية للقيود المضمنة في لغة BASIC.

كانت لغة البرمجة BASIC تحتوي أيضًا على بعض العناصر غير المدروسة حقًا. ومن المعروف أنها تضمنت الأمر المظلم GOTO (الذي يُقرأ على أنه “go to”). وهذا يسمح لك بكتابة كود يقفز من مكان إلى آخر: فإذا وصل البرنامج إلى السطر 120، فيمكنك إخبار الكمبيوتر بالانتقال فجأة إلى السطر 25، على سبيل المثال.

بالنسبة للمبرمج المبتدئ، كانت هذه طريقة سهلة لكتابة الأشياء! لكنها شجعت على بناء بنية معقدة “متموجة”، حيث كانت المنطق محدودًا ومتعرجًا في كل مكان. إذا كتبت برنامجًا طويلاً – يمتد إلى مئات أو آلاف الأسطر – واستخدمت عشرات من عبارات GOTO، فإن شفرتي ستصبح متاهة من الألغاز، غير قابلة للاختراق حتى بالنسبة لي. كان عالم الكمبيوتر إدسجر ديكسترا يكره هذا الأسلوب إلى الحد الذي جعله يكتب مقالاً كاملاً ينتقده: “عبارات Go To تعتبر ضارة”. أي شخص يتعلم البرمجة بلغة BASIC سوف يكون، كما كتب لاحقًا، “مشوهًا عقليًا إلى حد لا يمكن معه تجديده”.

كان ديكسترا يبالغ. لكنه لم يكن مخطئًا تمامًا: بعد أوجها، انخفضت شعبية لغة البرمجة BASIC. ظهرت لغات أحدث شجعت على أنماط كتابة أكثر نظافة وحداثة وأسرع في التشغيل. لا تزال لغة البرمجة BASIC موجودة في هذه الأيام – تم تحديثها، مع نفي GOTO (في الغالب) – في عالم Microsoft Visual Basic، الذي استخدمه العديد من موظفي المكاتب غير المبرمجين لدمج التطبيقات معًا للاستخدام الداخلي. لكن في هذه الأيام، يعترف 4٪ فقط من المطورين المحترفين باستخدام لغة البرمجة BASIC. أنا، عندما بدأت البرمجة مرة أخرى في العقد الأول من القرن الحادي والعشرين – بعد فجوة استمرت 25 عامًا – لجأت بدلاً من ذلك إلى لغات أحدث مثل Python و JavaScript.

من حين لآخر، أبحث عن محاكي لجهاز Commodore PET. أكتب البرنامج الأصلي الذي كتبته لأول مرة، منذ أكثر من 40 عامًا، ثم أضغط على زر التشغيل.

لا يزال يشعر وكأنه سحر.

Exit mobile version