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


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

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

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

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

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

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

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

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

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

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

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

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

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

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *