อ่าน 4 นาที
NIL (ภาษาโปรแกรม)
New Implementation of LISP ( NIL ) เป็น ภาษาโปรแกรม ซึ่งเป็น ภาษาถิ่น ของภาษา Lisp ที่พัฒนาขึ้นที่ สถาบันเทคโนโลยีแมสซาชูเซตส์ (MIT) ในช่วงทศวรรษ 1970...
NIL (ภาษาโปรแกรม)
| ไม่มี | |
|---|---|
| กระบวนทัศน์ | หลายกระบวนทัศน์ : เชิงฟังก์ชัน , เชิงกระบวนการ |
| ตระกูล | ลิสป์ |
| ออกแบบโดย | จอน แอล ไวท์ |
| นักพัฒนา | จอน แอล ไวท์, กาย แอล สตีล จูเนียร์ , ริชาร์ด พี. กาเบรียล |
| ปรากฏครั้งแรก | พ.ศ. 2522 |
| วินัยในการพิมพ์ | มีพลังแข็งแกร่ง |
| ภาษาการใช้งาน | การประกอบ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
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ 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.