باربرا ليسكوف: المهندسة المعمارية الأولى لتجريد البيانات
في عام 1968، أصبحت باربرا ليسكوف (Barbara Liskov) واحدة من أوائل النساء في الولايات المتحدة اللاتي حصلن على درجة الدكتوراه من قسم علوم الحاسوب. وبعد أربعة عقود، أخبر مدير معهد ماساتشوستس للتكنولوجيا (MIT) العالم أنه في كل مرة يتحقق فيها شخص ما من رصيد بنكي عبر الإنترنت أو يجري بحثًا، فإنه "يركب زخم أبحاثها". وبين هاتين اللحظتين، قامت ببناء السقالات المفاهيمية - تجريد البيانات، وأنواع البيانات المجردة، وقاعدة رسمية حول متى يمكن لنوع واحد أن يحل محل نوع آخر بأمان - وهي مفاهيم تعمل بهدوء تحت كل لغة برمجة تقريبًا كُتبت منذ ذلك الحين.
بداية غير محتملة في الحوسبة
وُلدت باربرا جين هوبرمان (Barbara Jane Huberman) في 7 نوفمبر 1939 في لوس أنجلوس، وكانت أكبر أربعة أطفال. تخصصت في الرياضيات مع تخصص فرعي في الفيزياء في جامعة كاليفورنيا في بيركلي (UC Berkeley)، وتخرجت في عام 1961 كواحدة من امرأتين فقط في فصلها ممن يدرسن الرياضيات. وبدلاً من اتباع طريق سهل نحو مهنة تقنية في وقت لم تكن فيه أي فرص تقريبًا للنساء، حصلت على وظيفة كمبرمجة في شركة ميتري (Mitre Corporation) قبل أن تقبلها جامعة ستانفورد في برنامج علوم حاسوب وليد. تناولت أطروحتها للدكتوراه عام 1968 برمجة نهاية لعبة الشطرنج وأنتجت "الاستدلال القاتل"، وهي تقنية تقليم البحث التي لا تزال تُناقش في الذكاء الاصطناعي. كان مستشار الدكتوراه الخاص بها هو جون مكارثي (John McCarthy)، أحد مؤسسي الذكاء الاصطناعي كمجال. وهي معترف بها كأول امرأة في الولايات المتحدة تحصل على درجة الدكتوراه من قسم علوم الحاسوب.
لغة CLU وفكرة تجريد البيانات
انضمت ليسكوف إلى معهد ماساتشوستس للتكنولوجيا في عام 1972 لقيادة ما أصبح مجموعة منهجية البرمجة، وهناك في منتصف السبعينيات صممت لغة CLU. في ذلك الوقت، كان معظم المبرمجين ينظمون البرمجيات إجرائيًا، ويكتبون تسلسلات من التعليمات التي تعالج هياكل البيانات مباشرة، مما يترك الاثنين متشابكين في كل مكان. قدمت لغة CLU "المجموعات" (clusters) - وهي وحدات قائمة بذاتها تدمج نوع البيانات مع العمليات الوحيدة المسموح لها بلمسها، مما يخفي التمثيل الداخلي تمامًا عن بقية البرنامج. كان هذا هو تجريد البيانات، ومن الصعب المبالغة في مدى إعادة تشكيله لهندسة البرمجيات: فجميع هياكل الفئات في قلب لغات Java و C++ و C# و Ada تعود جذورها إلى مجموعات لغة CLU. قامت ليسكوف ببناء اللغة كحجة جوهرية، مصنوعة من كود عملي، بأن أنظمة البرمجيات الكبيرة لا يمكن بناؤها بشكل موثوق إلا إذا تم تقسيمها إلى قطع صغيرة يمكن التحقق منها بشكل مستقل مع واجهات نظيفة.
عشرون سؤالاً وثماني دقائق على الساعة، ونسبة مئوية مقاسة مقابل كل من خاضه. دون تسجيل.
اخوض اختبار الذكاء →أرغوس، تحمل الأخطاء البيزنطية، والأنظمة الموزعة
لم تتوقف ليسكوف عند برامج الآلة الواحدة. في الثمانينيات، قادت تطوير لغة أرغوس (Argus)، وهي أول لغة برمجة عالية المستوى تم بناؤها خصيصًا لدعم الحوسبة الموزعة - البرامج التي تعمل بشكل صحيح حتى عند تقسيمها عبر آلات متعددة تتواصل عبر شبكة، وهي فكرة أصبحت الآن أساسية لكل خدمة سحابية وتطبيق ويب. تحولت لاحقًا إلى مشكلة أصعب: كيف يعمل النظام الموزع بشكل صحيح حتى عندما تفشل بعض آلاته المكونة بشكل تعسفي أو تتصرف بشكل ضار، وهو سيناريو يسميه علماء الحاسوب "خطأ بيزنطي". التقنيات العملية التي طورتها هي وطلابها لتحمل الأخطاء البيزنطية مضمنة الآن في البنية التحتية التي تحافظ على موثوقية خدمات الإنترنت واسعة النطاق، وتدعم لاحقًا بعض بروتوكولات إجماع البلوكشين.
المبدأ الذي يحمل اسمها
في خطاب رئيسي عام 1987، أوضحت ليسكوف ما سيصبح معروفًا باسم مبدأ استبدال ليسكوف (Liskov substitution principle)، والذي تم إضفاء الطابع الرسمي عليه لاحقًا مع جينيت وينج (Jeannette Wing): إذا تمت كتابة برنامج لاستخدام كائنات من نوع معين، فيجب أن يكون قادرًا على استخدام كائنات من أي نوع فرعي من ذلك النوع دون كسر صحة البرنامج. يبدو الأمر بديهيًا عند ذكره بوضوح، وهذا هو بالضبط سبب أهميته - فهو يحول حدسًا غامضًا بأن "الفئات الفرعية يجب أن تتصرف مثل فئتها الأم" إلى معيار صارم وقابل للتحقق لتصميم صحيح موجه للكائنات. أصبح المبدأ أحد ركائز "SOLID" الخمس التي يتم تدريسها لكل طالب في هندسة البرمجيات تقريبًا، وهي حالة نادرة لاسم باحث فردي يدخل المفردات العملية لصناعة بأكملها.
جائزة تورينج والتقدير
في عام 2008، منحت جمعية آلات الحوسبة (ACM) ليسكوف جائزة أ. م. تورينج (A.M. Turing Award)، وهي أعلى تكريم في الحوسبة، "لمساهماتها في الأسس العملية والنظرية للغات البرمجة وتصميم الأنظمة، خاصة فيما يتعلق بتجريد البيانات، وتحمل الأخطاء، والحوسبة الموزعة". كانت ثاني امرأة فقط تفوز بها. وصفت سوزان هوكفيلد (Susan Hockfield)، رئيسة معهد ماساتشوستس للتكنولوجيا آنذاك، مساهماتها بأنها "مثالية المعهد: أبحاث رائدة ذات فوائد عميقة"، بينما كان تكريم مدير المعهد ل. رافائيل ريف (L. Rafael Reif) أكثر واقعية: "في كل مرة تتبادل فيها البريد الإلكتروني، أو تتحقق من كشف حسابك المصرفي عبر الإنترنت، أو تجري بحثًا على جوجل، فأنت تركب زخم أبحاثها". كانت قد حصلت بالفعل على ميدالية IEEE جون فون نيومان في عام 2004؛ وأدخلتها قاعة مشاهير المخترعين الوطنية في عام 2012، وحصلت لاحقًا على ميدالية بنيامين فرانكلين في عام 2023. وهي لا تزال أستاذة في معهد ماساتشوستس للتكنولوجيا، وهو أعلى تمييز أعضاء هيئة التدريس في الجامعة، مُنح لها في عام 2008.
لماذا تُدعى باربرا بالعبقرية
قضية ليسكوف للعبقرية هي قضية تتعلق بالتجريد بحد ذاته - المهارة الفكرية المحددة لإيجاد الحدود الصحيحة للرسم داخل نظام معقد بحيث يمكن فهم كل قطعة، والثقة بها، بمفردها. مجموعات لغة CLU ومبدأ الاستبدال الذي يحمل اسمها ليست اختراعات مبهرة؛ إنها إجابات دقيقة لمشكلة لم يتعلم معظم المبرمجين في السبعينيات صياغتها بوضوح بعد، وهذا جزء من سبب ارتباط اسمها بشكل دائم بالحل في مجال نادرًا ما ينسب الفضل للأفراد بهذه الطريقة. تشير لغة لجنة جائزة تورينج - "الأسس العملية والنظرية" - إلى هذا بالضبط: ليس قطعة أثرية واحدة، بل طريقة تفكير حول الصحة التي تعممت عبر اللغات والعقود. القضية المعاكسة الصادقة هي أن ليسكوف عملت ضمن تقليد بحثي كان يتحرك بالفعل نحو النمطية والأنواع المجردة - كان توني هور (Tony Hoare)، ونيكلاوس ويرث (Niklaus Wirth)، وآخرون يتابعون أفكارًا ذات صلة في وقت واحد - ولم تصبح لغة CLU بحد ذاتها لغة إنتاج مستخدمة على نطاق واسع؛ وصل تأثيرها بشكل غير مباشر، من خلال اللغات اللاحقة التي تبنت مفاهيمها. كانت عبقريتها، حسب الأدلة، أقل اختراعًا خالصًا وأكثر وضوحًا غير عادي: الحصول على التجريد بشكل صحيح تمامًا قبل أي شخص آخر.
الإرث
تجلس أفكار ليسكوف الآن بشكل غير مرئي تحت البرمجيات التي تشغل الهواتف والبنوك ومحركات البحث، ويبقى اسمها كاختصار - "هل ينتهك هذا استبدال ليسكوف؟" - داخل مراجعات الكود التي يجريها مهندسون قد لا يكونون قد قرأوا أوراقها البحثية قط. القليل من الباحثين يحققون هذا الشكل الخاص وغير اللامع من الخلود: أن يتم طيهم بشكل كامل في الحس السليم للمجال لدرجة أن الناس يتوقفون عن تذكر أن هناك اسمًا مرفقًا في أي وقت مضى.

.jpg)
