العالم الحديث مبني على الكود القديم. هذه مشكلة

لغات الترميز القديمة
جينيفيف بوبلانو / الاتجاهات الرقمية

"كيف وصلنا إلى هنا أننا نحتاج حرفيًا إلى مبرمجي COBOL؟" سأل حاكم ولاية نيو جيرسي فيل ميرفي في مؤتمر صحفي عقد مؤخرا.

محتويات

  • فورتران
  • آدا
  • باسكال
  • الأساسية / فيجوال بيسك
  • كوبول

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

مقاطع الفيديو الموصى بها

ومع ذلك، ليست نيوجيرسي وحدها هي التي تعاني من هذه المشكلة. الكثير من الأنظمة المصرفية والدفاعية والذكاء الاصطناعي في العالم تتواصل مع لغات البرمجة التي كانت رائجة عندما نفد مرآب شركة أبل.

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

لا تزال لغات البرمجة التي يبلغ عمرها خمسين عامًا تحسب ملايين المعاملات والإحصائيات، وتعمل بمثابة العمود الفقري للأنظمة التي يعتمد عليها العالم الحديث. على سبيل المثال، يستخدم أكثر من 95 بالمائة من أجهزة الصراف الآلي و40 بالمائة من البنوك رمز كوبول، وفقًا لتقرير عام 2017.

تقرير رويترز.

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

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

فيما يلي خمس لغات "قديمة" يعتمد عليها عالمنا أكثر مما تدرك، ولماذا قد يجعلك ذلك متوترًا بعض الشيء.

فورتران

غطاء يدوي فورتران

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

كانت لغة فورتران (اختصار لترجمة الفورمولا) التي أنشأتها شركة آي بي إم في الخمسينيات من القرن الماضي واحدة من أولى اللغات عالية المستوى التي تم استخدامها استخدم الكلمات بدلاً من الأرقام وأتاح للمبرمجين كتابة البرامج بشكل أسرع بنسبة 500% مقارنة باستخدام الآلة شفرة. لا يتعلم العديد من المطورين اللغة اليوم.

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

آخر مرة اضطر فيها هوارد إلى كتابة برنامج فورتران كانت منذ حوالي 10 سنوات. كان يعمل في الاحتياطي الفيدرالي وكان بحاجة إلى نقل البيانات بين تطبيقين؛ أحدهما مكتوب بلغة C والآخر بلغة Fortran. توقفت البرامج عن الاتصال لأن البائع توقف عن توفير مكتبة Fortran.

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

فورتران بنشارد

آدا

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

أشرفت وزارة الدفاع (DOD) على تطوير Ada في السبعينيات لتقليل عدد لغات البرمجة المستخدمة من قبل الجيش، والتي كانت في ذلك الوقت أكثر من 400 لغة. تم تصميم Ada ليكون موثوقًا به بلا شك في مواقف الحياة أو الموت ومحصنًا ضد أخطاء المبرمجين. وعلى الرغم من أن هذه اللغة قد تم تسليمها في عام 1980، إلا أن الكونجرس لم يأذن باستخدامها في جميع الأنظمة الحكومية حتى عام 1995. وبعد مرور عامين، تخلت وزارة الدفاع عن التفويض، معتقدة أنه سيكون أرخص وأكثر مرونة لاستخدام الأنظمة الحديثة المتاحة على نطاق واسع. لكنها لا تزال قيد الاستخدام اليوم.

باسكال

ملصق باسكال
في أوائل الثمانينيات، كان من الممكن العثور على ملصق Apple Pascal في جميع أنحاء مكتب الشركة، مما أعطى المبرمجين نظرة ثاقبة حول كيفية استخدام الكود.

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

تمت كتابة الكثير من هذه البرامج القديمة قبل وقت طويل من ظهور المخاوف الحالية بشأن الخروقات الأمنية، كما أنها تحتوي على معلومات حساسة خاصة بها. ويرى هاتر، الذي يعمل الآن كتقني للأمن السيبراني، أن البرامج قد تكون آمنة نسبيًا فقط بسبب "الأمن الذي يفرضه الغموض" - فالمبرمجون الشباب لا يعرفون ما يجب فعله بالأكواد القديمة التي عمرها عقود. يقول: "لن يكون لدى أي هاكر يبلغ من العمر 15 عامًا أي فكرة عن كيفية العمل مع نوع ما من أجهزة الكمبيوتر المركزية IBM 390 مع COBOL". "الآن أنا لا أقول أنهم لا يستطيعون التعلم. لكنهم لن يعرفوا."

كانت لغة باسكال هي الأساس لنظام تشغيل أبل المبكر، ولا يزال لدى دلفي، سليل اللغة، أنصار أقوياء. في الواقع، Skype - أحد تطبيقات مكالمات الفيديو الأولى التي اكتسبت شعبية واستخدامًا واسع النطاق - تمت كتابته في الأصل بلغة دلفي.

الأساسية / فيجوال بيسك

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

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

بحلول منتصف الثمانينيات، كان المهووسون بالكمبيوتر الذين تعلموا أنفسهم بأنفسهم أقل انبهارًا بـ BASIC وأكثر اهتمامًا ببرامج الطرف الثالث. ثم أطلقت مايكروسوفت Visual Basic في عام 1991، والذي لم يكن تحديثًا تمامًا لـ BASIC، ولكنه استخدم بعض الأوامر والبنية نفسها وكان له واجهة رسومية أفضل. ثم تم استخدام اللغة من قبل العديد من الشركات لكتابة البرامج الكبيرة والصغيرة. على الرغم من أن مايكروسوفت قالت إنها توقفت عن دعم Visual Basic 6 (الإصدار الأحدث) في عام 2008، إلا أن اللغة لا تزال تحظى بالكثير من المستخدمين. افحص ال مؤشر تيوبي (الذي يرسم لغات البرمجة الأكثر شعبية): لا يزال VB في المراكز العشرة الأولى!

كوبول

ملصق كوبول
ملصق عام 1969 يروج لفئة كوبول في معهد ماساتشوستس للتكنولوجيا.

"أود أن أقول إن أكثر من 90% من الأشخاص الذين نراهم لديهم لغة COBOL كجزء أساسي مما كتبوه،" كما يقدر براندون إيدنفيلد، الذي يقوم بتحديث ونقل التطبيقات القديمة لـ الأنظمة الحديثة وساعد في مراجعة الكود الخاص ببورصات نيويورك وسنغافورة. "إن أي شركة كبرى يمكن أن تفكر فيها ربما لديها كمية غير صحية من هذه الأشياء."

تم إطلاق COBOL، وهو اختصار لعبارة Common Business-Oriented Language، في عام 1959 بهدف مهام معالجة البيانات مثل تتبع الميزانية والمعاملات المصرفية ومحاسبة الرواتب. صممت وزارة الدفاع (DOD) اللغة في الأصل كمشروع مؤقت. ثم طلبت وزارة الدفاع من مصنعي أجهزة الكمبيوتر تضمين لغة COBOL في الأجهزة التي يبيعونها، وسرعان ما انتشرت اللغة خلال العقود القليلة التالية. لا يزال أكثر من 95% من أجهزة الصراف الآلي و40% من البنوك تستخدم رمز COBOL، وفقًا لتقرير عام 2017. تقرير رويترز.

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

عادةً ما تقوم الشركات التي تقوم بتحديث هذه البرامج بذلك بعدة طرق مختلفة.

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

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

هل ستكون رخيصة؟ حسنا، سيكون أرخص. تتراوح أسعار مشاريع الأنظمة الحديثة عادة من 200 ألف دولار إلى 10 ملايين دولار. يوضح إيدنفيلد أن جزءًا كبيرًا من المشروع لا يتمثل في ترجمة الكود، بل في الاختبار للتأكد من أنه يفعل كل شيء بشكل صحيح.

ما سبب عدم حدوث هذه التحديثات؟

ويوضح قائلاً: "لم يسمع أحد عن هذا من قبل لأنه ليس موضوعاً مثيراً، ولا يحاول الناس عادة التحدث عن الغسيل القذر الذي لديهم". لدى المسؤولين التنفيذيين في مجال تكنولوجيا المعلومات أيضًا عادة ركل العلبة على الطريق.

"أراهنك على أن ولاية نيوجيرسي ستهتم بهذه القضية الآن، لكنني أراهنك أيضًا على أن نصف زملائهم سيعتقدون أن ذلك لن يحدث لهم، "ليس أنا"."