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

อ่าน 4 นาที

NIL (ภาษาโปรแกรม)

New Implementation of LISP ( NIL ) เป็น ภาษาโปรแกรม ซึ่งเป็น ภาษาถิ่น ของภาษา Lisp ที่พัฒนาขึ้นที่ สถาบันเทคโนโลยีแมสซาชูเซตส์ (MIT) ในช่วงทศวรรษ 1970...

NIL (ภาษาโปรแกรม)

ไม่มี
กระบวนทัศน์หลายกระบวนทัศน์ : เชิงฟังก์ชัน , เชิงกระบวนการ
ตระกูลลิสป์
ออกแบบโดยจอน แอล ไวท์
นักพัฒนาจอน แอล ไวท์, กาย แอล สตีล จูเนียร์ , ริชาร์ด พี. กาเบรียล
ปรากฏครั้งแรกพ.ศ. 2522 ( 1979 )
วินัยในการพิมพ์มีพลังแข็งแกร่ง
ภาษาการใช้งานการประกอบVAX
แพลตฟอร์มแวกซ์
โอเอสวีเอ็กซ์/วีเอ็มเอส
ได้รับอิทธิพลจาก
ลิสป์ , แมคลิสป์
ได้รับอิทธิพล
ลิส ป์ทั่วไป[ 1 ] T

New Implementation of LISP ( NIL ) เป็นภาษาโปรแกรมซึ่งเป็นภาษาถิ่นของภาษาLispที่พัฒนาขึ้นที่สถาบันเทคโนโลยีแมสซาชูเซตส์ (MIT) ในช่วงทศวรรษ 1970 และมีจุดประสงค์เพื่อเป็นภาษาที่สืบทอดต่อจากภาษาMaclisp [ 1 ]เป็นภาษาที่ใช้ระบบ32 บิต[ 2 ]และเป็นส่วนหนึ่งของการตอบสนองต่อ คอมพิวเตอร์ VAXของDigital Equipment Corporation (DEC) โครงการนี้มี Jon L White เป็นหัวหน้า[ 3 ]โดยมีเป้าหมายที่ระบุไว้คือการรักษาความเข้ากันได้กับ MacLisp ในขณะเดียวกันก็แก้ไขปัญหาหลายอย่างของ MacLisp ด้วย

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

ภาษาLispถูกคิดค้นขึ้นในปี 1958 โดยJohn McCarthyขณะที่เขาอยู่ที่สถาบันเทคโนโลยีแมสซาชูเซตส์ (MIT) [ 4 ]นับตั้งแต่เริ่มแรก Lisp มีความเชื่อมโยงอย่างใกล้ชิดกับชุมชน วิจัย ปัญญาประดิษฐ์ (AI) โดยเฉพาะอย่างยิ่งบนระบบPDP-10 ขนาด คำ36 บิตของPDP-6และPDP-10ได้รับอิทธิพลมาจากประโยชน์ของการมีตัวชี้ Lisp 18 บิต สองตัว ในคำเดียว: "โครงการ PDP-6 เริ่มต้นในช่วงต้นปี 1963 ในฐานะ เครื่อง 24 บิตมันเติบโตเป็น 36 บิตสำหรับ LISP ซึ่งเป็นเป้าหมายการออกแบบ" [ 5 ] Lisp ถูกใช้เป็นการใช้งานภาษาโปรแกรม Micro Plannerซึ่งเป็นรากฐานของระบบ AI ที่มีชื่อเสียงอย่างSHRDLU Lisp โดยเฉพาะอย่างยิ่งMaclisp ( ตั้งชื่อตามต้นกำเนิดของโครงการ MAC ของ MIT) ยังถูกใช้เพื่อใช้งานระบบพีชคณิตคอมพิวเตอร์Macsyma อีกด้วย ในช่วงทศวรรษ 1970 เมื่อการวิจัยด้านปัญญาประดิษฐ์ก่อให้เกิดสาขาเชิงพาณิชย์ ประสิทธิภาพของระบบ Lisp ที่มีอยู่เดิมจึงกลายเป็นปัญหาที่เพิ่มมากขึ้น

ส่วนหนึ่งเป็นเพราะการเก็บขยะ (Lisp จะใช้การเก็บขยะแบบหยุดและคัดลอกของฮีปเดียวสำหรับการจัดสรรหน่วยความจำ[ 2 ] ) และส่วนหนึ่งเป็นเพราะการแสดงโครงสร้างภายใน ทำให้ Lisp ยากที่จะทำงานบนฮาร์ดแวร์คอมพิวเตอร์ มาตรฐานที่มีหน่วยความจำจำกัด ในสมัยนั้น จึงนำไปสู่การสร้างเครื่อง Lisp : ฮาร์ดแวร์เฉพาะสำหรับการรันสภาพแวดล้อมและโปรแกรม Lisp อีกทางเลือกหนึ่งคือการใช้ฮาร์ดแวร์ทั่วไปที่มีประสิทธิภาพมากขึ้นซึ่งกำลังเริ่มมีวางจำหน่าย โดยเฉพาะอย่างยิ่งVAXของ Digital Equipment Corporation (DEC)

NIL เป็นการนำภาษาLisp มาใช้ ซึ่งพัฒนาขึ้นที่ MIT ในช่วงกลางถึงปลายทศวรรษ 1970 และมีจุดประสงค์เพื่อเป็นผู้สืบทอดที่ทันสมัยของMaclispที่สามารถทำงานบนฮาร์ดแวร์มาตรฐานได้[ 1 ]ซึ่งแตกต่างจากLisp Machine Lispสำหรับเครื่อง Lisp [ 2 ] "เดิมทีได้รับการออกแบบให้เป็นภาษา Lisp สมัยใหม่ภาษาแรกบนฮาร์ดแวร์มาตรฐานหลังจากการพัฒนา Lisp machine Lisp ที่ MIT มันได้กลายเป็นหนึ่งในอิทธิพลหลักในการออกแบบ Common Lisp" (หน้า 63/294 ของ[ 2 ] ) เนื่องจากผู้ใช้ โปรแกรม Macsyma เป็นฐานผู้ใช้ที่มีศักยภาพขนาดใหญ่สำหรับ NIL จึงจำเป็นที่ NIL จะต้องเป็นระบบขนาดใหญ่และซับซ้อน และความเร็วจะต้องเป็นสิ่งสำคัญ ตัวอย่างเช่น bignumsความเร็วสูงเป็นข้อกำหนดในการสนับสนุน Macsyma เนื่องจาก NIL จะล้มเหลวหากใช้ bignums ที่ช้า[ 6 ]ด้วยเหตุนี้ NIL จึงมีฐานขนาดใหญ่ของภาษาแอสเซมบลี VAX ข้อกำหนดเหล่านี้นำไปสู่กลยุทธ์การเพิ่มประสิทธิภาพที่ก้าวร้าวและซับซ้อนมาก ซึ่งถูกนำมาใช้ก่อนกำหนด ส่งผลให้ระบบสุดท้ายมีผลลัพธ์เชิงลบ[ 7 ]

ในขณะเดียวกันกับความพยายามในการเขียน NIL กลุ่มวิจัยที่มหาวิทยาลัยสแตนฟอร์ดและห้องปฏิบัติการแห่งชาติลอว์เรนซ์ลิเวอร์มอร์นำโดยริชาร์ด พี. กาเบรียลกำลังศึกษาการออกแบบภาษา Lisp เพื่อใช้งานบนซูเปอร์คอมพิวเตอร์ S-1 Mark IIA ซึ่ง ก็คือ S-1 Lispภาษา Lisp นั้นไม่เคยใช้งานได้อย่างสมบูรณ์ แต่เป็นสนามทดสอบสำหรับการนำ วิธี การคอมไพเลอร์ ขั้นสูงมาใช้ ในภาษา Lisp ในที่สุดกลุ่ม S-1 และ NIL ก็เริ่มทำงานร่วมกัน

แม้ว่าจะไม่ประสบความสำเร็จในการบรรลุเป้าหมายในฐานะภาษาที่ใช้ แต่ NIL ก็มีความสำคัญในหลายด้าน ประการแรก มันได้รวบรวม Jon L. White, Guy L. Steele Jr.และ Richard P. Gabriel ซึ่งต่อมาได้กำหนดCommon Lisp [ 1 ] ประการที่สอง Jonathan Rees ได้ทำงานในโครงการ NIL บางส่วนในช่วงที่เขาลาพักจากมหาวิทยาลัยเยล เป็นเวลาหนึ่งปี เมื่อกลับมาที่เยล เขาได้รับการว่าจ้างจาก ภาควิชา วิทยาการคอมพิวเตอร์ให้เขียน Lisp ใหม่ ซึ่งต่อมากลายเป็นระบบโค้ดเนทีฟScheme ที่ได้รับการปรับแต่ง ชื่อTส่วนหนึ่ง NIL ก่อให้เกิดชื่อนี้ขึ้นมา เนื่องจาก "T ไม่ใช่ NIL" [ 7 ]

1958 1960 พ.ศ. 2508 1970 พ.ศ. 2518 1980 พ.ศ. 2528 1990 พ.ศ. 2538 2000 2548 2010 2015 2020
 LISP 1, 1.5, LISP 2 (เลิกพัฒนาแล้ว)
 แมคลิสป์
 อินเตอร์ลิสป์
 เอ็มดีแอล
 เครื่อง Lisp Lisp
 โครงการ อาร์5อาร์เอส  อาร์6อาร์เอส  R7RS ขนาดเล็ก
 ไม่มี
 ZIL (ภาษาการใช้งาน Zork)
 ฟรานซ์ ลิสป์
 มิวลิสป์
 ลิสปาร์กทั่วไป มาตรฐาน ANSI
 เลอ ลิสป์
 โครงการ MIT
 เอ็กซ์แอลไอเอสพี
 ที
 เชซ สกีม
 อีแมคส์ ลิสป์
 ออโต้ลิสป์
 พิโคลิสป์
 กลเม็ด
 ยูลิสป์
 ไอเอสลิสป์
 โอเพ่นลิสป์
 โครงการ PLT แร็กเก็ต
 นิวลิสปาร์
 จีเอ็นยู ไกล์
 วิชวล LISP
 โคลจูร์
 อาร์ค
 แอลเอฟอี
 ไฮ

คำคม

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

— โอลิน ชิเวอร์ส[ 7 ]

บรรณานุกรม

  • Brent T. Hailpern, Bruce L. Hitson. คู่มือสถาปัตยกรรม S-1 รายงานทางเทคนิค 161 (STAN-CS-79-715) ภาควิชาวิศวกรรมไฟฟ้า มหาวิทยาลัยสแตนฟอร์ด มกราคม 1979
  • จี. เบิร์ค. บทนำสู่ NIL. ห้องปฏิบัติการวิทยาการคอมพิวเตอร์ สถาบันเทคโนโลยีแมสซาชูเซตส์ มีนาคม 1983
  • GS Burke, GJ Carrette, CR Eliot. หมายเหตุ NIL สำหรับเวอร์ชัน 0.259 ห้องปฏิบัติการวิทยาศาสตร์คอมพิวเตอร์ สถาบันเทคโนโลยีแมสซาชูเซตส์ มิถุนายน 1983
  • GS Burke, GJ Carrette, CR Eliot. คู่มืออ้างอิง NIL. รายงาน MIT/LCS/TR-311, ห้องปฏิบัติการวิทยาศาสตร์คอมพิวเตอร์, สถาบันเทคโนโลยีแมสซาชูเซตส์, เคมบริดจ์, แมสซาชูเซตส์, 1983.

เอกสาร

  • สตีเวน คอร์เรลล์ สถาปัตยกรรมหน่วยประมวลผลเดี่ยว S-1 (sma-4) เล่มที่ 1 บทที่ 4 รายงานประจำปี 1979 ของโครงการ S-1 ห้องปฏิบัติการลอว์เรนซ์ ลิเวอร์มอร์ ลิเวอร์มอร์ แคลิฟอร์เนีย 1979
  • Jon L. White. ไม่มีอะไรเลย: มุมมองหนึ่ง. รายงานการประชุมผู้ใช้ Macsyma ปี 1979, วอชิงตัน ดี.ซี., มิถุนายน 1979.
  • Rodney A. Brooks, Richard P. Gabriel, Guy L. Steele Jr. การใช้งาน S-1 Common Lisp ในรายงานการประชุมสัมมนา ACM ประจำปี 1982 เรื่อง LISP และการเขียนโปรแกรมเชิงฟังก์ชัน พิตต์สเบิร์ก ปี 1982 หน้า 108 – 113 ACM DL
  • Rodney A. Brooks, Richard P. Gabriel, Guy L. Steele Jr. คอมไพเลอร์ที่ปรับให้เหมาะสมสำหรับ LISP ที่มีขอบเขตเชิงคำศัพท์ Proceedings of the 1982 Symposium on Compiler Construction, Boston, มิถุนายน 1982, หน้า 261–275. ACM DL
  • มาร์ค สโมเธอร์แมน. ซูเปอร์คอมพิวเตอร์ S-1 (1975–1988). เว็บไซต์, อัปเดตล่าสุด 24 เมษายน 2547. http://www.cs.clemson.edu/~mark/s1.html
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=NIL_(programming_language)&oldid=1314391056 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ NIL (ภาษาโปรแกรม)

New Implementation of LISP ( NIL ) เป็น ภาษาโปรแกรม ซึ่งเป็น ภาษาถิ่น ของภาษา Lisp ที่พัฒนาขึ้นที่ สถาบันเทคโนโลยีแมสซาชูเซตส์ (MIT) ในช่วงทศวรรษ 1970...

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

ภาษา Lisp ถูกคิดค้นขึ้นในปี 1958 โดย John McCarthy ขณะที่เขาอยู่ที่ สถาบันเทคโนโลยีแมสซาชูเซตส์ (MIT) [ 4 ] นับตั้งแต่เริ่มแรก Lisp มีความเชื่อมโยงอย่างใกล้ชิดกับ ชุมชน วิจัย ปัญญาประดิษฐ์ (AI) โดยเฉพาะอย่างยิ่งบนระบบ PDP-10 ขนาด คำ 36 บิต ของ PDP-6 และ...

คำคม

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

บรรณานุกรม

Brent T. Hailpern, Bruce L. Hitson. คู่มือสถาปัตยกรรม S-1 รายงานทางเทคนิค 161 (STAN-CS-79-715) ภาควิชาวิศวกรรมไฟฟ้า มหาวิทยาลัยสแตนฟอร์ด มกราคม 1979 จี. เบิร์ค. บทนำสู่ NIL.