กลับไปหน้าบทความ

อ่าน 4 นาที

ออโต้โค้ด

ออโต้โค้ด (Autocode) คือชื่อเรียกของตระกูล "ระบบการเข้ารหัสแบบง่าย" ซึ่งต่อมาเรียกว่า ภาษาโปรแกรม ที่ถูกคิดค้นขึ้นในช่วงทศวรรษ 1950 และ 1960 สำหรับ คอมพิวเตอร์ดิจิทัล หลายเครื่อง...

ออโต้โค้ด

ออโต้โค้ด (Autocode)คือชื่อเรียกของตระกูล "ระบบการเข้ารหัสแบบง่าย" ซึ่งต่อมาเรียกว่าภาษาโปรแกรม ที่ถูกคิดค้นขึ้นในช่วงทศวรรษ 1950 และ 1960 สำหรับ คอมพิวเตอร์ดิจิทัลหลายเครื่อง ที่มหาวิทยาลัยแมนเชสเตอร์เคมบริดจ์และลอนดอน ออโต้โค้ดเป็นคำทั่วไป ออโต้โค้ดสำหรับเครื่องต่างๆ ไม่จำเป็นต้องมีความสัมพันธ์กันอย่างใกล้ชิดเหมือนกับภาษา ฟอร์ทราน (Fortran ) ซึ่งเป็นภาษาเดียว เป็นต้น

ปัจจุบันคำนี้ใช้เพื่ออ้างถึงตระกูลของภาษายุคแรกๆ ที่สืบเชื้อสายมาจาก ระบบออโตโค้ดเดอร์ Manchester Mark 1ซึ่งโดยทั่วไปแล้วมีความคล้ายคลึงกัน ในช่วงทศวรรษ 1960 คำว่าออโตโค้ดเดอร์ ถูกใช้ ในความหมายทั่วไปมากขึ้นเพื่ออ้างถึงภาษาโปรแกรมระดับสูง ใดๆ ที่ใช้คอมไพเลอร์ [ 1 ] ตัวอย่าง ของภาษาที่เรียกว่าออโตโค้ดเดอร์ ได้แก่COBOLและFortran [ 2 ]

เกล็นนี่ ออโต้โค้ด

ออโตโค้ดและคอมไพเลอร์ตัวแรกได้รับการพัฒนาโดยAlick Glennieในปี 1952 สำหรับคอมพิวเตอร์ Mark 1 ที่มหาวิทยาลัยแมนเชสเตอร์ และบางคนถือว่าเป็น ภาษาโปรแกรม แบบคอมไพล์ ตัวแรก เป้าหมายหลักของเขาคือการเพิ่มความเข้าใจในการเขียนโปรแกรมของเครื่อง Mark 1 ซึ่งเป็นที่รู้จักกันดีในเรื่องรหัสเครื่องที่ซับซ้อนเป็นพิเศษ แม้ว่าภาษาที่ได้จะชัดเจนกว่ารหัสเครื่องมาก แต่ก็ยังคงขึ้นอยู่กับเครื่องเป็นอย่างมาก[ 3 ]

ด้านล่างนี้คือตัวอย่างฟังก์ชัน Autocode ของ Glennie ซึ่งคำนวณสูตร: ตัวอย่างนี้ละเว้นคำสั่งการปรับขนาดที่จำเป็นในการจัดเก็บจำนวนเต็มลงในตัวแปร และสมมติว่าผลลัพธ์ของการคูณพอดีกับตัวสะสมด้านล่าง

c@VA t@IC x@½C y@RC z@NC จำนวนเต็ม +5 →c # แทนค่า 5 ลงใน c →t # โหลดอาร์กิวเมนต์จากตัวสะสมล่าง # ไปยังตัวแปร t +t TESTA Z # ใส่ |t| ลงในตัวสะสมด้านล่าง -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 ]

ผลกระทบของ Autocode ของ Glennie ต่อพฤติกรรมการเขียนโปรแกรมของผู้ใช้รายอื่นในแมนเชสเตอร์นั้นน้อยมาก มันไม่ได้ถูกกล่าวถึงแม้แต่ในบทความของ Brooker ในปี 1958 ที่ชื่อว่า "โปรแกรม Autocode ที่พัฒนาขึ้นสำหรับคอมพิวเตอร์ของมหาวิทยาลัยแมนเชสเตอร์"

มาร์ค 1 ออโต้โค้ด

ออโต้โค้ดตัวที่สองสำหรับ Mark 1 ได้รับการวางแผนในปี พ.ศ. 2497 และพัฒนาโดยRA Brookerในปี พ.ศ. 2498 และเรียกว่า "Mark 1 Autocode" ภาษาดังกล่าวแทบจะไม่ขึ้นอยู่กับเครื่องจักรและมีการคำนวณเลขทศนิยม ซึ่งแตกต่างจากตัวแรก ในทางกลับกัน อนุญาตให้ดำเนินการได้เพียงหนึ่งครั้งต่อบรรทัด มีชื่อย่อให้เลือกน้อย และไม่มีวิธีในการกำหนดซับรูทีนของผู้ใช้[ 5 ]

ตัวอย่างโค้ดที่โหลดอาร์เรย์ขนาด 11 ของตัวเลขทศนิยมจากข้อมูลป้อนเข้าจะมีลักษณะดังนี้

 n1 = 1 1 vn1 = ฉันอ่านอินพุตลงใน vn[1] n1 = n1 + 1 j1,11 ≥ n1 กระโดดไปที่ 1 ถ้า n[1] ≤ 11 

Autocode ของ Brooker ขจัดปัญหาหลักสองประการของโปรแกรมเมอร์ Mark 1 ได้แก่ การปรับขนาดและการจัดการพื้นที่จัดเก็บสองระดับ ซึ่งแตกต่างจากรุ่นก่อนหน้าที่มีการใช้งานอย่างแพร่หลาย[ 6 ]

ต่อมา Autocodes

นอกจากนี้ Brooker ยังพัฒนาระบบออโต้โค้ดสำหรับเครื่องFerranti Mercuryในช่วงทศวรรษ 1950 โดยร่วมมือกับมหาวิทยาลัยแมนเชสเตอร์ Mercury Autocode มี ตัวแปรจำกัดคือaz และ a'-z' และในบางแง่คล้ายกับ ภาษา Dartmouth BASIC เวอร์ชันแรกๆ มันมาก่อนภาษาALGOLโดยไม่มีแนวคิดเรื่องสแต็กดังนั้นจึงไม่มีการเรียกซ้ำหรืออาร์เรย์ที่จัดสรรแบบไดนามิก เพื่อเอาชนะข้อจำกัดเรื่องขนาดพื้นที่จัดเก็บข้อมูลที่ค่อนข้างเล็กใน Mercury โปรแกรมขนาดใหญ่จึงถูกเขียนเป็น "บท" ที่แยกจากกัน โดยแต่ละบทประกอบเป็นโอเวอร์เลย์ต้องใช้ทักษะบางอย่างเพื่อลดเวลาในการถ่ายโอนการควบคุมระหว่างบทต่างๆ แนวคิดเรื่องโอเวอร์เลย์จากดรัมภายใต้การควบคุมของผู้ใช้กลายเป็นเรื่องปกติจนกระทั่ง มีหน่วย ความจำเสมือนในเครื่องรุ่นหลังๆ มีการนำภาษา Mercury Autocode ที่แตกต่างกันเล็กน้อยมาใช้กับFerranti Atlas (แตกต่างจากAtlas Autocode รุ่นหลัง ) และเครื่องICT 1300และ1900

เวอร์ชันสำหรับEDSAC 2ถูกคิดค้นโดยDavid Hartleyจาก ห้องปฏิบัติการคณิตศาสตร์ มหาวิทยาลัยเคมบริดจ์ในปี 1961 รู้จักกันในชื่อ EDSAC 2 Autocode ซึ่งเป็นการพัฒนาต่อยอดโดยตรงจาก Mercury Autocode ที่ปรับให้เข้ากับสภาพแวดล้อมในท้องถิ่น และโดดเด่นในด้านการเพิ่มประสิทธิภาพโค้ดวัตถุและการวินิจฉัยภาษาต้นฉบับ ซึ่งถือว่าล้ำหน้าสำหรับยุคนั้น มีการพัฒนาเวอร์ชันสำหรับTitan (คอมพิวเตอร์ต้นแบบ Atlas 2) ซึ่งเป็นรุ่นต่อมา เพื่อใช้เป็นทางแก้ปัญหาชั่วคราวในระหว่างที่กำลังพัฒนาภาษาที่ก้าวหน้ากว่าอย่างCPL CPL ไม่เคยเสร็จสมบูรณ์ แต่ก็ก่อให้เกิดBCPL (พัฒนาโดย M. Richards) ซึ่งนำไปสู่​​Bและในที่สุดก็ คือ C ในขณะ เดียวกันแต่เป็นการพัฒนาในแนวทางที่แยกต่างหากAtlas Autocode ได้รับการพัฒนาสำหรับ เครื่อง Atlas 1ของมหาวิทยาลัยแมนเชสเตอร์

รหัสอัตโนมัติอื่นๆ

รหัสอัตโนมัติที่พัฒนาขึ้นในสหภาพโซเวียต ได้แก่AKI ( AvtoKod "Inzhener"เช่น " Engineer autocode ") [ 7 ]และ avtokod "Ekonomist" ( автокод ЭКОНОМИСТ ) ที่ใช้ในคอมพิวเตอร์ตระกูลมินสค์[ 8 ]

แหล่งที่มา

  • Campbell-Kelly, Martin (1980). "การเขียนโปรแกรม Mark 1: กิจกรรมการเขียนโปรแกรมในช่วงแรกที่มหาวิทยาลัยแมนเชสเตอร์" Annals of the History of Computing . 2 (2). IEEE: 130– 167. doi : 10.1109/MAHC.1980.10018 . S2CID  10845153 .
  • การ์เซีย กามาเรโร, เออร์เนสโต (1961) AUTOCODE un sistema simplificado de codificacion para la computadora MERCURY (ในภาษาสเปน) มหาวิทยาลัยบัวโนสไอเรส. พี 70.
  • ลอนดอน, คีธ (1968). ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์หน้า 261.
  • Knuth, Donald E. ; Pardo, Luis Trabb (1976). "การพัฒนาเบื้องต้นของภาษาโปรแกรม". มหาวิทยาลัยสแตนฟอร์ด, ภาควิชาวิทยาการคอมพิวเตอร์.

อ่านเพิ่มเติม

  • ระบบ Autocodes: มุมมองของผู้ใช้
  • Brooker, RA (1958-01-01). "โปรแกรม Autocode ที่พัฒนาขึ้นสำหรับคอมพิวเตอร์ของมหาวิทยาลัยแมนเชสเตอร์"วารสารคอมพิวเตอร์ 1 ( 1): 15– 21. doi : 10.1093/comjnl/1.1.15 . ISSN  0010-4620 .
    • Brooker, RA (1958-03-01). "สิ่งอำนวยความสะดวก Autocode เพิ่มเติมสำหรับคอมพิวเตอร์ Manchester (Mercury)"วารสารคอมพิวเตอร์ 1 ( 3): 124– 127. doi : 10.1093/comjnl/1.3.124 . ISSN  0010-4620 .
    • Clarke, B. (1959-04-01). "The Pegasus Autocode" . The Computer Journal . 1 (4): 192– 195. doi : 10.1093/comjnl/1.4.192 . ISSN  0010-4620 .
  • Barron, David Williamและคณะ (1967). คู่มือการเขียนโปรแกรม Titan Autocode . ห้องปฏิบัติการคณิตศาสตร์ มหาวิทยาลัยเคมบริดจ์
  • Barron, David William (1968) [1967]. "1.5. การเรียกซ้ำในการเขียนโปรแกรมเชิงฟังก์ชัน". ในGill, Stanley (บรรณาธิการ). เทคนิคการเรียกซ้ำในการเขียนโปรแกรม . Macdonald Computer Monographs (ฉบับที่ 1). ลอนดอน: Macdonald & Co. (Publishers) Ltd.หน้า 8. SBN 356-02201-3.(8+64 หน้า)
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Autocode&oldid=1351697269#Mark_1_Autocode "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ออโต้โค้ด

ออโต้โค้ด (Autocode) คือชื่อเรียกของตระกูล "ระบบการเข้ารหัสแบบง่าย" ซึ่งต่อมาเรียกว่า ภาษาโปรแกรม ที่ถูกคิดค้นขึ้นในช่วงทศวรรษ 1950 และ 1960 สำหรับ คอมพิวเตอร์ดิจิทัล หลายเครื่อง...

เกล็นนี่ ออโต้โค้ด

ออโตโค้ดและคอมไพเลอร์ตัวแรกได้รับการพัฒนาโดย Alick Glennie ในปี 1952 สำหรับคอมพิวเตอร์ Mark 1 ที่มหาวิทยาลัยแมนเชสเตอร์ และบางคนถือว่าเป็น ภาษาโปรแกรม แบบคอมไพล์ ตัวแรก เป้าหมายหลักของเขาคือการเพิ่มความเข้าใจในการเขียนโปรแกรมของเครื่อง Mark 1...

มาร์ค 1 ออโต้โค้ด

ออโต้โค้ดตัวที่สองสำหรับ Mark 1 ได้รับการวางแผนในปี พ.ศ. 2497 และพัฒนาโดย RA Brooker ในปี พ.ศ.

ต่อมา Autocodes

นอกจากนี้ Brooker ยังพัฒนาระบบออโต้โค้ดสำหรับเครื่อง Ferranti Mercury ในช่วงทศวรรษ 1950 โดยร่วมมือกับมหาวิทยาลัยแมนเชสเตอร์ Mercury Autocode มี ตัวแปร จำกัดคือaz และ a'-z' และในบางแง่คล้ายกับ ภาษา Dartmouth BASIC เวอร์ชันแรกๆ มันมาก่อนภาษา ALGOL...