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

อ่าน 4 นาที

ภาษาประมวลผลข้อมูล

ภาษาประมวลผลข้อมูล ( Information Processing Language หรือ IPL ) เป็น ภาษาโปรแกรม ที่สร้างขึ้นโดย Allen Newell , Cliff Shaw และ Herbert A.

ภาษาประมวลผลข้อมูล

ภาษาประมวลผลข้อมูล (IPL)
กระบวนทัศน์การประกอบ
ออกแบบโดยอัลเลน นิวเวลล์ , คลิฟฟ์ ชอว์ , เฮอร์เบิร์ต เอ. ไซมอน
นักพัฒนาอัลเลน นิวเวลล์, คลิฟฟ์ ชอว์, เฮอร์เบิร์ต เอ. ไซมอน
ปรากฏครั้งแรกปี 1956; 70 ปีที่แล้ว
เวอร์ชันเสถียร
ไอพีแอล-วี
โอเอสใช้งานได้กับหลายแพลตฟอร์ม : JOHNNIAC , IBM 650 , IBM 704 , IBM 7090
ได้รับอิทธิพล
ลิสป์

ภาษาประมวลผลข้อมูล ( Information Processing Language หรือ IPL ) เป็นภาษาโปรแกรมที่สร้างขึ้นโดยAllen Newell , Cliff ShawและHerbert A. Simonที่RAND Corporationและสถาบันเทคโนโลยี Carnegieประมาณปี 1956 โดย Newell ทำหน้าที่เป็นผู้กำหนดข้อกำหนดของภาษาและโปรแกรมเมอร์แอปพลิเคชัน Shaw เป็นโปรแกรมเมอร์ระบบ และ Simon ทำหน้าที่เป็นโปรแกรมเมอร์แอปพลิเคชันและผู้ใช้งาน

IPL มีคุณสมบัติหลายอย่างที่ช่วยอำนวยความสะดวกในการเขียนโปรแกรม AI โดยเฉพาะอย่างยิ่งการแก้ปัญหาเช่น รายการ การ จัดสรรหน่วยความจำแบบไดนามิกชนิดข้อมูลการเรียกซ้ำฟังก์ชันเป็นอาร์กิวเมนต์ ตัวสร้าง และ การทำงาน หลายอย่างพร้อมกันแบบร่วมมือกัน IPL ยังแนะนำแนวคิดของการประมวลผลสัญลักษณ์และการประมวลผลรายการอีกด้วย น่าเสียดายที่นวัตกรรมทั้งหมดเหล่านี้ถูกเขียนใน รูปแบบ ภาษาแอสเซมบลี ที่ยาก ต่อการเขียน อย่างไรก็ตาม IPL-V (เวอร์ชันสาธารณะเพียงเวอร์ชันเดียวของ IPL) สามารถทำงานได้บนคอมพิวเตอร์หลายเครื่องจนถึงกลางทศวรรษ 1960

พื้นฐานของ IPL

คอมพิวเตอร์ IPL มีคุณสมบัติดังนี้:

  1. ชุดสัญลักษณ์สัญลักษณ์ทั้งหมดเป็นที่อยู่และชื่อเซลล์ แตกต่างจากสัญลักษณ์ในภาษาโปรแกรมรุ่นหลัง สัญลักษณ์ประกอบด้วยอักขระตามด้วยตัวเลข และเขียนในรูปแบบ H1, A29, 9–7, 9–100
    1. ชื่อเซลล์ที่ขึ้นต้นด้วยตัวอักษรเป็น ชื่อ ภูมิภาคและเป็นที่อยู่แบบสัมบูรณ์
    2. ชื่อเซลล์ที่ขึ้นต้นด้วย "9-" เป็นชื่อเฉพาะที่และมีความหมายภายในบริบทของรายการเดียวเท่านั้น เซลล์หมายเลข 9-1 ในรายการหนึ่งจะไม่เกี่ยวข้องกับเซลล์หมายเลข 9–1 ในอีกรายการหนึ่ง
    3. สัญลักษณ์อื่นๆ (เช่น ตัวเลขบริสุทธิ์) เป็นสัญลักษณ์ภายใน
  2. ชุดของเซลล์รายการต่างๆ สร้างขึ้นจากหลายเซลล์ รวมถึงการอ้างอิงซึ่งกันและกัน เซลล์แต่ละเซลล์มีหลายฟิลด์:
    1. P คือฟิลด์ 3 บิตที่ใช้สำหรับรหัสการทำงานเมื่อเซลล์ถูกใช้เป็นคำสั่ง และจะไม่ถูกใช้เมื่อเซลล์ถูกใช้เป็นข้อมูล
    2. Q คือฟิลด์ 3 ค่าที่ใช้สำหรับการอ้างอิงทางอ้อมเมื่อเซลล์ถูกใช้เป็นคำสั่ง และไม่ได้ใช้เมื่อเซลล์ถูกใช้เป็นข้อมูล
    3. SYMB คือสัญลักษณ์ที่ใช้เป็นค่าในเซลล์
  3. ชุดของกระบวนการพื้นฐานซึ่งในภาษาสมัยใหม่ จะเรียกว่า ฟังก์ชันพื้นฐาน

โครงสร้างข้อมูลของ IPL คือลิสต์ แต่ลิสต์เป็นโครงสร้างที่ซับซ้อนกว่าในหลายภาษา ลิสต์ประกอบด้วยลำดับของสัญลักษณ์ที่เชื่อมโยงกันแบบเดี่ยว ดังที่คาดไว้—รวมถึงลิสต์คำอธิบายซึ่งเป็นลิสต์ย่อยที่เชื่อมโยงกันแบบเดี่ยวที่ถูกตีความว่าเป็นชื่อและค่าของแอตทริบิวต์ที่สลับกัน IPL มีฟังก์ชันพื้นฐานสำหรับเข้าถึงและแก้ไขค่าของแอตทริบิวต์โดยใช้ชื่อ ลิสต์คำอธิบายจะได้รับชื่อเฉพาะที่ (ในรูปแบบ 9–1) ดังนั้น ลิสต์ชื่อ L1 ที่มีสัญลักษณ์ S4 และ S5 และอธิบายโดยการเชื่อมโยงค่า V1 กับแอตทริบิวต์ A1 และ V2 กับ A2 จะถูกจัดเก็บดังนี้ 0 แสดงถึงจุดสิ้นสุดของลิสต์ ชื่อเซลล์ 100, 101 เป็นต้น เป็นสัญลักษณ์ภายในที่สร้างขึ้นโดยอัตโนมัติซึ่งค่าของมันไม่สำคัญ เซลล์เหล่านี้สามารถกระจายอยู่ทั่วหน่วยความจำได้ มีเพียง L1 เท่านั้นที่ใช้ชื่อเฉพาะที่ต้องเป็นที่รู้จักทั่วโลกและจำเป็นต้องอยู่ในตำแหน่งที่เฉพาะเจาะจง

ตัวอย่างโครงสร้างรายการ IPL-V
ชื่อสัญลักษณ์ลิงก์
แอล19-1100
100ซี4101
101เอส50
9-10200
200เอ1201
201วี1202
202เอ2203
203วี20

IPL เป็นภาษาแอสเซมบลีสำหรับจัดการลิสต์ มีเซลล์ไม่กี่เซลล์ที่ใช้เป็นรีจิสเตอร์เฉพาะทาง ตัวอย่างเช่น H1 คือตัวนับโปรแกรม ฟิลด์ SYMB ของ H1 คือชื่อของคำสั่งปัจจุบัน อย่างไรก็ตาม H1 ถูกตีความว่าเป็นลิสต์ ฟิลด์ LINK ของ H1 ในแง่สมัยใหม่คือตัวชี้ไปยังจุดเริ่มต้นของสแต็กการเรียก ตัวอย่างเช่น การเรียกซับรูทีนจะผลักค่า SYMB ของ H1 ลงบนสแต็กนี้

H2 คือรายการหน่วยความจำว่าง ขั้นตอนการทำงานที่ต้องการจัดสรรหน่วยความจำจะดึงเซลล์จาก H2 ส่วนขั้นตอนการทำงานที่ใช้หน่วยความจำเสร็จแล้วจะนำหน่วยความจำนั้นกลับไปไว้ใน H2 เมื่อเข้าสู่ฟังก์ชัน รายการพารามิเตอร์จะถูกระบุใน H0 เมื่อออกจากฟังก์ชัน ผลลัพธ์ควรถูกส่งคืนใน H0 ขั้นตอนการทำงานหลายอย่างส่งคืนค่าบูลีนที่บ่งบอกถึงความสำเร็จหรือความล้มเหลว ซึ่งจะถูกเก็บไว้ใน H5 เซลล์จำนวนสิบเซลล์ W0-W9 ถูกสงวนไว้สำหรับพื้นที่จัดเก็บข้อมูลสาธารณะ ขั้นตอนการทำงานมี "ข้อผูกมัดทางศีลธรรม" (ตามบทความของ CACM) ในการบันทึกและเรียกคืนค่าของเซลล์เหล่านี้

มีคำสั่งแปดคำสั่ง โดยอิงตามค่าของ P ได้แก่ การเรียกซับรูทีน การผลัก/ดึงค่า S ไปยัง H0 การผลัก/ดึงสัญลักษณ์ใน S ไปยังลิสต์ที่แนบมากับ S การคัดลอกค่าไปยัง S และการกระโดดแบบมีเงื่อนไข ในคำสั่งเหล่านี้ S คือเป้าหมาย S จะเป็นค่าของฟิลด์ SYMB ถ้า Q=0 สัญลักษณ์ในเซลล์ที่ชื่อ SYMB ถ้า Q=1 หรือสัญลักษณ์ในเซลล์ที่ชื่อเดียวกับสัญลักษณ์ในเซลล์ที่ชื่อ SYMB ถ้า Q=2 ในทุกกรณี ยกเว้นการกระโดดแบบมีเงื่อนไข ฟิลด์ LINK ของเซลล์จะบอกว่าควรดำเนินการคำสั่งใดต่อไป

IPL มีคลังคำสั่งพื้นฐานประมาณ 150 คำสั่ง ซึ่งรวมถึงคำสั่งต่างๆ ดังนี้:

  • สัญลักษณ์ทดสอบความเท่าเทียมกัน
  • ค้นหา ตั้งค่า หรือลบแอตทริบิวต์ของรายการ
  • ค้นหาสัญลักษณ์ถัดไปในรายการ; แทรกสัญลักษณ์ในรายการ; ลบหรือคัดลอกรายการทั้งหมด
  • การดำเนินการทางคณิตศาสตร์ (กับชื่อสัญลักษณ์)
  • การจัดการสัญลักษณ์ เช่น การทดสอบว่าสัญลักษณ์นั้นหมายถึงจำนวนเต็มหรือไม่ หรือการทำให้สัญลักษณ์นั้นเป็นตัวแปรเฉพาะที่
  • การดำเนินการ I/O
  • "ตัวสร้าง" (Generator) ซึ่งเทียบได้กับตัววนซ้ำ (Iterator) และตัวกรอง (Filter) ในการเขียนโปรแกรมเชิงฟังก์ชัน ตัวอย่างเช่น ตัวสร้างอาจรับรายการตัวเลขและสร้างรายการกำลังสองของตัวเลขเหล่านั้น ตัวสร้างอาจรับฟังก์ชันที่ออกแบบมาอย่างเหมาะสม—หรือพูดให้ถูกต้องคือ ที่อยู่ของโค้ดของฟังก์ชันที่ออกแบบมาอย่างเหมาะสม—เป็นอาร์กิวเมนต์

ประวัติศาสตร์

IPL ถูกนำมาใช้ครั้งแรกเพื่อแสดงให้เห็นว่าทฤษฎีบทในPrincipia Mathematica ซึ่ง เบอร์แทรนด์ รัสเซลล์และอัลเฟรด นอร์ท ไวท์เฮดพิสูจน์ด้วยมืออย่างยากลำบากนั้นสามารถพิสูจน์ได้ด้วยการคำนวณตามที่ไซมอนเขียนไว้ในอัตชีวประวัติเรื่องModels of My Lifeแอปพลิเคชันนี้ได้รับการพัฒนาขึ้นครั้งแรกโดยการจำลองด้วยมือ โดยใช้ลูก ๆ ของเขาเป็นองค์ประกอบในการคำนวณ ขณะที่เขียนและถือกระดาษโน้ตเป็นรีจิสเตอร์ซึ่งบรรจุตัวแปรสถานะของโปรแกรม

ภาษา IPL ถูกนำไปใช้ในการพัฒนา โปรแกรม ปัญญาประดิษฐ์ ยุคแรกๆ หลาย โปรแกรม ซึ่งพัฒนาโดยผู้เขียนกลุ่มเดียวกัน ได้แก่โปรแกรมทฤษฎีตรรกะ (1956) โปรแกรมแก้ปัญหาทั่วไป (1957) และโปรแกรมหมากรุกคอมพิวเตอร์NSS (1958)

มีการสร้าง IPL หลายเวอร์ชัน ได้แก่ IPL-I (ไม่เคยนำไปใช้งาน), IPL-II (ปี 1957 สำหรับJOHNNIAC ), IPL-III (มีอยู่ช่วงสั้นๆ), IPL-IV, IPL-V (ปี 1958 สำหรับIBM 650 , IBM 704 , IBM 7090 , Philco รุ่น 212และอื่นๆ อีกมากมาย ใช้กันอย่างแพร่หลาย) IPL-VI เป็นข้อเสนอสำหรับฮาร์ดแวร์ IPL [ 1 ] [ 2 ] [ 3 ]

มีการพัฒนาโคโปรเซสเซอร์ “IPL-VC” สำหรับ CDC 3600 ที่ห้องสมุดแห่งชาติอาร์กอน ซึ่งสามารถรันคำสั่ง IPL-V ได้[ 4 ] [ 5 ]มันถูกนำไปใช้เพื่อใช้งานโปรแกรมเล่นหมากรุกอีกโปรแกรมหนึ่ง[ 6 ]การใช้งานฮาร์ดแวร์นี้ไม่ได้ปรับปรุงเวลาการทำงานให้ดีขึ้นเพียงพอที่จะ “แข่งขันได้อย่างมีประสิทธิภาพกับภาษาที่มุ่งเน้นโครงสร้างของเครื่องจักรในปัจจุบันโดยตรง” [ 7 ]

ในไม่ช้า IPL ก็ถูกแทนที่ด้วยLispซึ่งมีคุณสมบัติที่ทรงพลังกว่ามาก มีไวยากรณ์ที่เรียบง่ายกว่า และมีข้อดีคือมีการจัดการหน่วยความจำอัตโนมัติ

มรดกแห่งการเขียนโปรแกรมคอมพิวเตอร์

กล่าวได้ว่า IPL ได้นำเสนอคุณสมบัติใหม่หลายประการของภาษาโปรแกรม:

  • การจัดการลิสต์ —แต่เฉพาะลิสต์ของอะตอมเท่านั้น ไม่ใช่ลิสต์ทั่วไป
  • รายการทรัพย์สิน —แต่เฉพาะเมื่อแนบไปกับรายการอื่นๆ เท่านั้น
  • ฟังก์ชันลำดับสูง — ในขณะที่การเขียนโปรแกรมภาษาแอสเซมบลีอนุญาตให้คำนวณโดยใช้ที่อยู่ของฟังก์ชันมาโดยตลอด IPL เป็นความพยายามในช่วงแรกๆ ที่จะขยายคุณสมบัตินี้ของภาษาแอสเซมบลีอย่างเป็นระบบ
  • การคำนวณด้วยสัญลักษณ์ —แม้ว่าสัญลักษณ์จะมีรูปแบบที่จำกัดใน IPL (ตัวอักษรตามด้วยตัวเลข)
  • เครื่องเสมือน

คุณลักษณะเหล่านี้จำนวนมากได้รับการสรุป ปรับปรุงให้เหมาะสม และรวมเข้าไว้ใน Lisp [ 8 ]และจากนั้นก็ถูกนำไปใช้ในภาษาการเขียนโปรแกรมอื่นๆ อีกมากมายในช่วงหลายทศวรรษต่อมา

แหล่งที่มา

  • คาร์สัน, แดเนียล เอฟ.; โรบินสัน, จอร์จ เอ. (พฤษภาคม 1966). Gyro II, ระบบที่กำหนดด้วยมาโครสำหรับการประมวลผลรายการ (รายงาน). แผนกคณิตศาสตร์ประยุกต์, ห้องปฏิบัติการแห่งชาติอาร์กอน. ANL-7149.
  • Cowell, WR; Reed, MC (ตุลาคม 1965). โปรแกรมเล่นหมากรุกสำหรับคอมพิวเตอร์ IPL-VC (รายงาน). แผนกคณิตศาสตร์ประยุกต์, ห้องปฏิบัติการแห่งชาติอาร์กอน. ANL-7109.
  • ฮอดจ์ส, โดนัลด์ (พฤษภาคม 1964). IPL-VC: ระบบคอมพิวเตอร์ที่มีชุดคำสั่ง IPL-V (รายงาน). แผนกคณิตศาสตร์ประยุกต์, ห้องปฏิบัติการแห่งชาติอาร์กอน. ANL-6888.
  • Sammet, Jean E. (1969). ภาษาโปรแกรม: ประวัติและพื้นฐาน . Englewood Cliffs, NJ: Prentice Hall. หน้า  388–400 .
  • Shaw, JC; Newell, A.; Simon, HA; Ellis, TO (1958). "โครงสร้างคำสั่งสำหรับการประมวลผลข้อมูลที่ซับซ้อน". รายงานการประชุม Western Joint Computer Conference: Contrasts in Computers ระหว่างวันที่ 6-8 พฤษภาคม 1958. IRE-ACM-AIEE '58 (Western). สมาคมเครื่องจักรคำนวณ. หน้า  119–128 . doi : 10.1145/1457769.1457803 . ISBN 9781450378642.{{cite conference}}:ปัญหาความไม่เข้ากันของหมายเลข ISBN / วันที่ ( ขอความช่วยเหลือ )

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

  • Newell, Allen; Shaw, JC (1957). "การเขียนโปรแกรมเครื่องจักรทฤษฎีตรรกะ". เอกสารที่นำเสนอในการประชุม Western Joint Computer Conference: Techniques for Reliability ระหว่างวันที่ 26-28 กุมภาพันธ์ 1957. IRE-AIEE-ACM '57 (Western). สมาคมเครื่องจักรคำนวณ. หน้า  230–240 . doi : 10.1145/1455567.1455606 . ISBN 9781450378611.{{cite conference}}:ปัญหาความไม่เข้ากันของหมายเลข ISBN / วันที่ ( ขอความช่วยเหลือ )
  • Newell, Allen; Tonge, Fred M. (1960). "บทนำสู่ภาษาการประมวลผลข้อมูล V"การสื่อสารของ ACM 3 ( 4). นิวยอร์ก, นิวยอร์ก, สหรัฐอเมริกา: สมาคมเครื่องจักรคำนวณ: 205– 211. doi : 10.1145/367177.367205 . ISSN  0001-0782 . S2CID  16609075 .
  • Newell, Allen; Tonge, Fred M.; และคณะ (1964). คู่มือภาษาการประมวลผลข้อมูล-V . Englewood Cliffs, NJ: Prentice Hall.
  • Samuel, Arthur L. (1960). "การเขียนโปรแกรมคอมพิวเตอร์เพื่อเล่นเกม". ใน Alt, Franz L. (บรรณาธิการ). ความก้าวหน้าในคอมพิวเตอร์ เล่ม 1.เล่ม 1. Elsevier. หน้า  165–192 . doi : 10.1016/S0065-2458(08)60608-7 . ISBN 9780120121014ISSN 0065-2458 ​{{cite book}}:ปัญหาความไม่เข้ากันของหมายเลข ISBN / วันที่ ( ขอความช่วยเหลือ )
  • อัลเลน นิวเวลล์, "บันทึกชีวประวัติ", สถาบันวิทยาศาสตร์แห่งชาติ (รวมถึงส่วนสั้นๆ เกี่ยวกับ IPL)
  • เอกสาร IPL จาก BitSavers
  • อิทธิพลของ IPL ต่อ LISP
  • โปรแกรมแปลภาษา Common LISP สำหรับ IPL-V รวมถึงการถอดเสียงการทำงานของ Logic Theory Machine
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Information_Processing_Language&oldid=1342691407 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ ภาษาประมวลผลข้อมูล

ภาษาประมวลผลข้อมูล ( Information Processing Language หรือ IPL ) เป็น ภาษาโปรแกรม ที่สร้างขึ้นโดย Allen Newell , Cliff Shaw และ Herbert A.

ประวัติศาสตร์

IPL ถูกนำมาใช้ครั้งแรกเพื่อแสดงให้เห็นว่าทฤษฎีบทใน Principia Mathematica ซึ่ง เบอร์แทรนด์ รัสเซลล์ และ อัลเฟรด นอร์ท ไวท์เฮด พิสูจน์ด้วยมืออย่างยากลำบากนั้นสามารถ พิสูจน์ได้ด้วยการคำนวณ ตามที่ไซมอนเขียนไว้ในอัตชีวประวัติเรื่อง Models of My Life...

มรดกแห่งการเขียนโปรแกรมคอมพิวเตอร์

กล่าวได้ว่า IPL ได้นำเสนอคุณสมบัติใหม่หลายประการของภาษาโปรแกรม:

แหล่งที่มา

คาร์สัน, แดเนียล เอฟ.; โรบินสัน, จอร์จ เอ. (พฤษภาคม 1966). Gyro II, ระบบที่กำหนดด้วยมาโครสำหรับการประมวลผลรายการ (รายงาน). แผนกคณิตศาสตร์ประยุกต์, ห้องปฏิบัติการแห่งชาติอาร์กอน. ANL-7149. Cowell, WR; Reed, MC (ตุลาคม 1965).