فلو-ماتيك
كانت لغة FLOW-MATIC ، المعروفة أصلاً باسم B-0 ( لغة الأعمال الإصدار 0 )، أول لغة لمعالجة البيانات شبيهة باللغة الإنجليزية . طُوّرت هذه اللغة لجهاز UNIVAC I في شركة Remington Rand تحت إشراف غريس هوبر في الفترة من 1955 إلى 1959، وساهمت في تشكيل تطوير لغة COBOL .
تطوير
وجد هوبر أن عملاء معالجة بيانات الأعمال كانوا غير مرتاحين للرموز الرياضية : [ 1 ]
كنتُ أستاذًا للرياضيات. حينها، لاحظتُ وجود عدد من الطلاب الذين لا يستطيعون تعلّم الرياضيات. ثم كُلّفتُ بمهمة تسهيل استخدام رجال الأعمال لأجهزة الكمبيوتر. اكتشفتُ أن المسألة لا تتعلق بقدرتهم على تعلّم الرياضيات، بل برغبتهم في ذلك. [...] قالوا: "تخلّوا عن هذه الرموز، لا أفهم معناها، وليس لديّ وقت لتعلّمها". أقترح على من يرغبون في أن يستخدم مُعالجو البيانات الرموز الرياضية أن يبدأوا بتعليمها لنواب الرئيس أو العقيد أو الأميرال. أؤكد لكم أنني جرّبتُ ذلك.
في أواخر عام 1953، اقترحت التعبير عن مشاكل معالجة البيانات باستخدام كلمات مفتاحية إنجليزية، لكن إدارة مؤسسة راند اعتبرت الفكرة غير قابلة للتطبيق. في أوائل عام 1955، كتبت هي وفريقها مواصفات لغة برمجة كهذه ، ونفذوا نموذجًا أوليًا لها. [ 2 ] أصبح مُترجم FLOW-MATIC متاحًا للجمهور في أوائل عام 1958، واكتمل تطويره بشكل كبير في عام 1959. [ 3 ]
الابتكارات والتأثير
كان نظام لانينغ وزيرلر أول لغة برمجة تُحلل الصيغ الجبرية. عندما اطلعت هوبر على هذه اللغة عام ١٩٥٤، غيّر ذلك مسار عملها. [ ٤ ] كانت لغة فلوماتيك أول لغة برمجة تُعبّر عن العمليات باستخدام عبارات شبيهة باللغة الإنجليزية بدلاً من الرموز عديمة المعنى. [ ٣ ] كما كانت أول نظام يفصل بوضوح بين وصف البيانات والعمليات عليها. لغة تعريف البيانات فيها ، على عكس عباراتها التنفيذية، لم تكن شبيهة باللغة الإنجليزية؛ بل كانت هياكل البيانات تُعرّف عن طريق ملء نماذج مطبوعة مسبقًا. [ ٣ ]
لقد شكلت FLOW-MATIC ونسلها المباشر AIMACO لغة COBOL ، [ 5 ] والتي تضمنت العديد من عناصرها:
- تحديد ملفات الإدخال وملفات الإخراج والمخرجات المطبوعة مسبقًا، وفصلها إلى ملفات إدخال وملفات إخراج ومخرجات طابعة عالية السرعة (HSP).
INPUT <FILE-NAME> <FILE-LETTER>;OUTPUT <FILE-NAME> <FILE-LETTER>;HSP <FILE-LETTER>. [ 6 ] - تحديد أسماء البيانات (
INأوOFالعبارة). IF END OF DATA (AT END)بند خاص بعمليات الملفاتREAD.- ثابت مجازي
ZERO(في الأصلZZZ...ZZZ، حيث يشير عدد الأحرفZs إلى الدقة). - تقسيم البرنامج إلى أقسام، وفصل أجزاء مختلفة منه. تضمنت أقسام Flow-Matic
Computer(قسم البيئة)،Directoryو(قسم البيانات)، وCompiler(قسم الإجراءات).
نموذج التعليمات البرمجية
مثال على برنامج FLOW-MATIC: [ 7 ] [ 8 ]
(٠ ) ملف إدخال المخزون - أ، ملف السعر - ب؛ ملف إخراج المخزون المُسعّر - ج، المخزون غير المُسعّر ملف-د؛ HSP د. (1 ) قارن المنتج رقم (أ) مع المنتج رقم (ب)؛ إذا كان أكبر، فانتقل إلى العملية 10؛ إذا كانت القيم متساوية، انتقل إلى العملية 5؛ وإلا فانتقل إلى العملية 2. (2 ) انقل A إلى D. (3 ) اكتب البند د. (4 ) انتقل إلى العملية 8. (5 ) انقل A إلى C. (6 ) انقل سعر الوحدة (ب) إلى سعر الوحدة (ج). (7 ) اكتب البند ج. (8 ) اقرأ العنصر أ؛ إذا كانت نهاية البيانات، فانتقل إلى العملية 14. (9 ) انتقل إلى العملية 1. (10 ) اقرأ العنصر ب؛ إذا كانت نهاية البيانات، فانتقل إلى العملية 12. (11 ) انتقل إلى العملية 1. (12 ) اضبط العملية 9 للانتقال إلى العملية 2. (13 ) انتقل إلى العملية 2. (14 ) اختبار المنتج رقم (ب) مقابل ؛ إذا كان متساوياً، انتقل إلى العملية 16؛ وإلا فانتقل إلى العملية رقم 15. (15 ) إعادة تشغيل الجزء ب. (16 ) ملفات الإغلاق ج؛ د. (17 ) توقف. (نهاية)
ملاحظات نموذجية
- لاحظ أن هذه العينة تتضمن فقط عبارات البرنامج القابلة للتنفيذ، أي
COMPILERالقسم. أما حقول السجلPRODUCT-NO،UNIT-PRICEفكان من المفترض تعريفها فيDIRECTORYالقسم، الذي ( كما ذُكر سابقًا ) لم يستخدم صيغة شبيهة باللغة الإنجليزية. [ 9 ] - يُشار إلى الملفات بالحرف الموجود في نهاية اسم الملف. مثال: يُشار إلى الملف A لاحقًا بالحرف A فقط، وذلك لتسهيل الرجوع إليه في الكود اللاحق.
- يتم ترقيم العمليات في تسلسل غير منقطع من 0..n ويتم تنفيذها بهذا الترتيب ما لم يتم الوصول إلى عبارة خلاف ذلك (تم تنفيذها) (القفز، إلخ).
- العملية ذات الرقم الأعلى هي التي توقف البرنامج.
- تتوفر نظرة عامة أكثر تفصيلاً عن FLOW-MATIC في الدليل المعنون FLOW-MATIC PROGRAMMING SYSTEM [ 10 ]
ملحوظات
- ↑ هوبر (1959) ص 198.
- ↑ هوبر (1978) ص 16.
- 1 2 3 ساميت (1969) ص 316
- ↑ باير، كورت (10 فبراير 2012). "10". غريس هوبر واختراع عصر المعلومات . مطبعة معهد ماساتشوستس للتكنولوجيا. ISBN 9780262517263.
- ↑ ساميت (1978) ص 204.
- ↑ ريمنجتون راند يونيفاك، قسم من شركة سبيري راند (1957). نظام البرمجة الانسيابي، صفحة 30.
- ↑ سبيري راند (1957) ص. 7.
- ↑ ساميت (1969) ص 323.
- ↑ هوبر (1978) ص 18.
- ↑ ريمنجتون راند يونيفاك، قسم من شركة سبيري راند (1957). نظام برمجة التدفق
مراجع
- هوبر، غريس (1978). الكلمة الرئيسية، تاريخ لغات البرمجة 1. جمعية آلات الحوسبة. الصفحات 16-20. ISBN 0-12-745040-8
- هوبر، غريس (1959). "البرمجة الآلية: الوضع الراهن والاتجاهات المستقبلية"، ميكنة عمليات التفكير ، ندوة المختبر الفيزيائي الوطني العاشرة. مكتب القرطاسية الملكية. الصفحات 155-200، نقلاً عن كنوت، دونالد ؛ تراب باردو، لويس (أغسطس 1976). التطور المبكر للغات البرمجة (تقرير فني). قسم علوم الحاسوب، كلية العلوم الإنسانية، جامعة ستانفورد . تاريخ الاسترجاع: 19 مارس 2016 .
- ساميت، جان (1969). لغات البرمجة: التاريخ والأساسيات . برنتيس هول. ص 316-324. ISBN 0-13-729988-5
- ساميت، جان (1978). "التاريخ المبكر للغة كوبول"، تاريخ لغات البرمجة 1. جمعية آلات الحوسبة. الصفحات 199-243. ISBN 0-12-745040-8
- شركة سبيري راند (1957) تقديم لغة جديدة للبرمجة الآلية: يونيفاك فلو-ماتيك
- ريمنجتون راند يونيفاك، قسم من شركة سبيري راند (1957). نظام برمجة فلو-ماتيك FLOW-MATIC_Programming_System_1958.pdf
- لغات البرمجة الإجرائية
- كوبول
- لغات البرمجة التي تم إنشاؤها عام 1955
- ريمنجتون راند
- برنامج UNIVAC
