الترميز التلقائي

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

اليوم، يُستخدم المصطلح للإشارة إلى عائلة اللغات المبكرة المنحدرة من أنظمة Manchester Mark 1 autocoder، والتي كانت متشابهة بشكل عام. في ستينيات القرن العشرين، استُخدم مصطلح autocoders بشكل أكثر عمومية للإشارة إلى أي لغة برمجة عالية المستوى تستخدم مُجمِّعًا . [1] ومن أمثلة اللغات التي يُشار إليها باسم autocodes لغة COBOL و Fortran . [2]

جليني أوتو كود

تم تطوير أول كود تلقائي ومترجمه بواسطة Alick Glennie في عام 1952 لجهاز كمبيوتر Mark 1 في جامعة مانشستر ويعتبره البعض أول لغة برمجة مجمعة . كان هدفه الرئيسي هو زيادة قابلية الفهم في برمجة آلات Mark 1، والتي كانت معروفة بكودها الآلي الغامض بشكل خاص. على الرغم من أن اللغة الناتجة كانت أكثر وضوحًا من كود الآلة، إلا أنها كانت لا تزال تعتمد بشكل كبير على الآلة. [3]

فيما يلي مثال لدالة Glennie's Autocode التي تحسب الصيغة: . يتجاهل المثال تعليمات القياس اللازمة لوضع الأعداد الصحيحة في المتغيرات ويفترض أن نتائج الضرب تتناسب مع المتراكم الأدنى.

c@VA t@IC x@½C y@RC z@NC
الأعداد الصحيحة +5 →c # ضع 5 في c
      →t # تحميل الحجة من المجمع السفلي
                         # إلى المتغير t
   +t TESTA Z # ضع |t| في البطارية السفلية
          المدخل Z
برنامج فرعي 6 →z # قم بتشغيل برنامج فرعي الجذر التربيعي على
                         # انخفاض قيمة المراكم
                         # ووضع النتيجة في z
  +tt →y →x # احسب t^3 ثم ضعه في x
  +tx →y →x
+z+cx أغلق الكتابة 1 # ضع z + (c * x) في
                         #المراكم السفلية
                         # والعودة

ذكر دليل المستخدم لبرنامج Glennie's Autocode Compiler أن "خسارة الكفاءة لا تزيد عن 10%". [4]

كان تأثير برنامج Glennie's Autocode على عادات البرمجة لدى مستخدمي مانشستر الآخرين ضئيلاً للغاية. ولم يتم حتى ذكره في ورقة بروكر البحثية التي نُشرت عام 1958 تحت عنوان "برامج Autocode التي تم تطويرها لأجهزة الكمبيوتر بجامعة مانشستر".

العلامة 1 أوتو كود

تم التخطيط للترميز التلقائي الثاني لمارك 1 في عام 1954 وتم تطويره بواسطة RA Brooker في عام 1955 وتم تسميته "Mark 1 Autocode". كانت اللغة مستقلة عن الآلة تقريبًا وكانت تحتوي على حسابيات ذات فاصلة عائمة، على عكس اللغة الأولى. من ناحية أخرى، سمحت بعملية واحدة فقط لكل سطر، وعرضت أسماء قليلة سهلة التذكر ولم يكن لديها طريقة لتعريف برامج فرعية للمستخدم. [5]

سيبدو مثال الكود الذي يقوم بتحميل مجموعة من الأرقام ذات الفاصلة العائمة بحجم 11 من المدخلات على النحو التالي

      ن1 = 1         
1 vn1 = I يقرأ المدخلات في v[n[1]]
      ن1 = ن1 + 1
   j1,11 ≥ n1 تقفز إلى 1 إذا كانت n[1] ≤ 11

لقد أزال برنامج Autocode الخاص ببروكر صعوبتين رئيسيتين كان من الممكن أن يواجههما مبرمج Mark 1: التوسع وإدارة التخزين على مستويين. وعلى عكس سابقه، كان البرنامج يستخدم على نطاق واسع. [6]

أكواد تلقائية لاحقة

كما طور بروكر أيضًا كودًا تلقائيًا لجهاز Ferranti Mercury في الخمسينيات من القرن العشرين بالاشتراك مع جامعة مانشستر. كان لدى Mercury Autocode ذخيرة محدودة من المتغيرات az وa'-z'، وفي بعض النواحي كانت تشبه الإصدارات المبكرة من لغة Dartmouth BASIC اللاحقة . لقد سبقت ALGOL ، حيث لم يكن لديها مفهوم المكدسات وبالتالي لا يوجد تكرار أو مصفوفات مخصصة ديناميكيًا . من أجل التغلب على حجم المتجر الصغير نسبيًا المتاح على Mercury، تمت كتابة برامج كبيرة كـ "فصول" مميزة، كل منها يشكل طبقة فوقية . كانت هناك حاجة إلى بعض المهارة لتقليل عمليات نقل التحكم المستهلكة للوقت بين الفصول. أصبح مفهوم الطبقات فوقية من الأسطوانة تحت سيطرة المستخدم شائعًا حتى أصبحت الذاكرة الافتراضية متاحة في الأجهزة اللاحقة. تم تنفيذ لهجات مختلفة قليلاً من Mercury Autocode لجهاز Ferranti Atlas (مختلفة عن Atlas Autocode اللاحق ) ومجموعة ICT 1300 و 1900 .

تم ابتكار إصدار EDSAC 2 بواسطة ديفيد هارتلي من مختبر الرياضيات بجامعة كامبريدج في عام 1961. والمعروف باسم EDSAC 2 Autocode، كان تطويرًا مباشرًا من Mercury Autocode المعدل للظروف المحلية، وقد اشتهر بتحسين الكود الكائني وتشخيصات لغة المصدر التي كانت متقدمة في ذلك الوقت. تم تطوير إصدار لخليفة Titan (نموذج أولي لجهاز كمبيوتر Atlas 2) كحل مؤقت أثناء تطوير لغة أكثر تقدمًا تُعرف باسم CPL . لم تكتمل CPL أبدًا ولكنها أدت إلى ظهور BCPL (طورها M. Richards)، مما أدى بدوره إلى B وفي النهاية C. تم تطوير Atlas Autocode ، وهو خيط تطوير معاصر ولكنه منفصل، لجهاز Atlas 1 بجامعة مانشستر .

مراجع

  1. ^ لندن، كيث (1968). "4، البرمجة". مقدمة في الحاسبات الآلية (الطبعة الأولى). لندن: فابر وفابر المحدودة. ص 184. SBN 571085938غالبًا ما تسمى لغات البرمجة "عالية المستوى" بالرموز التلقائية وبرنامج المعالج يسمى المترجم.
  2. ^ لندن، كيث (1968). "4، البرمجة". مقدمة في الحاسبات الآلية (الطبعة الأولى). لندن: فابر وفابر المحدودة. ص 186. SBN 571085938. هناك لغتان برمجة عاليتا المستوى يمكن استخدامهما هنا كأمثلة لتوضيح بنية وهدف أكواد السيارات وهما COBOL (لغة الأعمال الشائعة) وFORTRAN (الترجمة الصيغية).
  3. ^ كنوث، ص 42-43
  4. ^ كنوث، ص 48
  5. ^ كنوث، ص 63-64
  6. ^ كنوث، ص 65

مصادر

  • كامبل كيلي، مارتن (1980). "برمجة مارك 1: نشاط البرمجة المبكر في جامعة مانشستر". حوليات تاريخ الحوسبة . 2 (2). IEEE: 130– 167. doi :10.1109/MAHC.1980.10018. S2CID  10845153.
  • جارسيا كاماريرو، إرنستو (1961). الرمز التلقائي هو نظام ترميز مبسط لجهاز الكمبيوتر MERCURY (باللغة الإسبانية). جامعة بوينس آيرس. ص. 70.
  • لندن، كيث (1968). مقدمة في الحاسبات الآلية . ص 261.
  • كنوث، دونالد إي.؛ باردو، لويس تراب (1976). "التطور المبكر للغات البرمجة". جامعة ستانفورد، قسم علوم الكمبيوتر.

قراءة إضافية

  • Autocodes: وجهة نظر المستخدم
  • بروكر، را (1958-01-01). "برامج Autocode المطورة لأجهزة كمبيوتر جامعة مانشستر". مجلة الكمبيوتر . 1 (1): 15-21 . doi : 10.1093/comjnl/1.1.15 . ISSN  0010-4620.
    • بروكر، را (1958-03-01). "مزيد من مرافق الترميز التلقائي لجهاز كمبيوتر مانشستر (ميركوري)". مجلة الكمبيوتر . 1 (3): 124– 127. doi : 10.1093/comjnl/1.3.124 . ISSN  0010-4620.
    • كلارك، ب. (1959-04-01). "كود بيجاسوس التلقائي". مجلة الكمبيوتر . 1 (4): 192- 195. doi : 10.1093/comjnl/1.4.192 . ISSN  0010-4620.
  • بارون، ديفيد ويليام ؛ وآخرون (1967). دليل برمجة تيتان أوتو كود . مختبر الرياضيات بجامعة كامبريدج.
  • بارون، ديفيد ويليام (1968) [1967]. "1.5. التكرار في البرمجة الوظيفية". في جيل، ستانلي (المحرر). تقنيات التكرار في البرمجة . دراسات ماكدونالد الحاسوبية (طبعة واحدة). لندن: ماكدونالد وشركاه (ناشرون) المحدودة . ص. 8. SBN 356-02201-3.(viii+64 صفحة)
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=Autocode&oldid=1185527720"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate