คำถามติดแท็ก lisp

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

14
อะไรทำให้มาโคร Lisp มีความพิเศษ?
การอ่านบทความของ Paul Graham เกี่ยวกับภาษาการเขียนโปรแกรมเราคิดว่ามาโคร Lispเป็นวิธีเดียวที่จะไป ในฐานะนักพัฒนาที่ยุ่งทำงานกับแพลตฟอร์มอื่นฉันไม่มีสิทธิ์ใช้งาน Lisp macros ในฐานะคนที่ต้องการเข้าใจเรื่องปากต่อปากโปรดอธิบายว่าอะไรทำให้คุณสมบัตินี้มีประสิทธิภาพมาก โปรดเชื่อมโยงสิ่งนี้กับสิ่งที่ฉันจะเข้าใจจากโลกของการพัฒนา Python, Java, C # หรือ C

13
มีวิธีการทางวิศวกรรมซอฟต์แวร์สำหรับการตั้งโปรแกรมการทำงานหรือไม่? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ วิศวกรรมซอฟต์แวร์ตามที่ได้รับการสอนในปัจจุบันมุ่งเน้นไปที่การเขียนโปรแกรมเชิงวัตถุและมุมมองเชิงวัตถุ 'ธรรมชาติ' ของโลก มีวิธีการอย่างละเอียดที่อธิบายวิธีการแปลงโมเดลโดเมนเป็นโมเดลคลาสที่มีหลายขั้นตอนและสิ่งประดิษฐ์จำนวนมาก (UML) เช่น use-case-diagrams หรือ class-diagrams โปรแกรมเมอร์จำนวนมากใช้วิธีนี้ภายในและมีความคิดที่ดีเกี่ยวกับวิธีการออกแบบแอปพลิเคชันเชิงวัตถุตั้งแต่เริ่มต้น hype ใหม่คือการเขียนโปรแกรมใช้งานได้ซึ่งสอนในหนังสือและแบบฝึกหัดมากมาย แต่สิ่งที่เกี่ยวกับวิศวกรรมซอฟต์แวร์การทำงาน? ในขณะที่อ่านเกี่ยวกับ Lisp และ Clojure ฉันมาถึงสองข้อความที่น่าสนใจ: โปรแกรมการทำงานนั้นมักจะถูกพัฒนาจากล่างขึ้นบนแทนที่จะเป็นบนลงล่าง ('บน Lisp', Paul Graham) ฟังก์ชั่นโปรแกรมเมอร์ใช้แผนที่ที่ OO-โปรแกรมเมอร์ใช้วัตถุ / คลาส ('Clojure สำหรับ Java โปรแกรมเมอร์', พูดคุยโดย Rich Hickley) ดังนั้นวิธีการสำหรับการออกแบบอย่างเป็นระบบ (ตามรูปแบบ?) ของการใช้งานคือใน Lisp หรือ Clojure? ขั้นตอนทั่วไปคืออะไรฉันใช้สิ่งประดิษฐ์อะไรฉันจะแม็พสิ่งเหล่านั้นจากพื้นที่ปัญหาไปยังพื้นที่โซลูชันอย่างไร

10
เหตุใด Lisp จึงใช้กับ AI [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันได้เรียนรู้ LISP เพื่อขยายขอบเขตของฉันเพราะฉันได้ยินมาว่ามันถูกใช้ในการเขียนโปรแกรม AI หลังจากทำการสำรวจบางอย่างฉันยังไม่พบตัวอย่าง AI หรืออะไรก็ได้ในภาษาที่จะทำให้มันมีแนวโน้มมากขึ้น เคยใช้เสียงกระเพื่อมในอดีตเพราะมีวางจำหน่ายหรือมีบางสิ่งที่ฉันเพิ่งหายไปหรือไม่?

6
Racket แตกต่างจาก Scheme อย่างไร
Racket เป็นลูกหลานของ Scheme แร็กเก็ตแตกต่างจาก R6RS อย่างไร มันเพิ่มอะไรหรือเอาไปหรือแตกต่างกันเพียง? ฉันเข้าใจว่าไม้เป็นมากกว่าภาษามันเป็นแพลตฟอร์มสำหรับภาษา แต่ฉันหมายถึงภาษาหลักของแร็กเกต
184 scheme  lisp  racket 

23
วิธีที่ดีที่สุดในการเรียนรู้ LISP คืออะไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันได้เขียนโปรแกรมใน Python, PHP, Java และ C มาสองสามปีแล้วและฉันเพิ่งอ่านแฮกเกอร์และจิตรกรเสร็จดังนั้นฉันอยากลอง LISP! ฉันเข้าใจว่ามันแตกต่างจากสิ่งที่ฉันรู้และมันจะไม่ง่ายเลย นอกจากนี้ฉันคิดว่า (โปรดแก้ไขให้ฉันถ้าฉันผิด) มีชุมชนน้อยลงและการพัฒนารอบ LISP ดังนั้นคำถามของฉันคืออะไรวิธีที่ดีที่สุดในการเรียนรู้ LISP คืออะไร ฉันจะไม่สนใจซื้อหนังสือหรือลงทุนสักระยะ ฉันแค่ไม่อยากให้มันเสียเปล่า แนวคิด "สุดท้าย" จะใช้ LISP สำหรับการพัฒนาเว็บและฉันรู้ว่ามันไม่ธรรมดาดังนั้น ... ฉันรู้ว่ามันเป็นเรื่องดีที่จะวางแผนการเรียนรู้ของฉันก่อนที่จะเลือกหนังสือเล่มแรกหรือบทช่วยสอนและใช้เวลากับบางสิ่งบางอย่างที่อาจไม่ เป็นวิธีที่ดีที่สุด! ขอบคุณสำหรับคำตอบของคุณ! แก้ไข:ฉันอ่าน Common LISP ที่ใช้งานได้จริงและ: ... นาน, ยาก, น่าสนใจและแน่นอนว่าฉันได้กลิ้งใน Lisp หลังจากนั้นฉันอ่าน schemer เล็กน้อยและมันสั้นสนุกและดีมากสำหรับการเขียนโปรแกรมโดยรวมของฉัน ดังนั้นคำแนะนำของฉันคือการอ่าน schemer ตัวน้อยก่อนจากนั้น …
167 lisp  scheme  common-lisp 

16
วิธีที่ดีที่สุดในการทำ GUIs ใน Clojure คืออะไร
วิธีที่ดีที่สุดในการทำ GUIs ในClojureคืออะไร มีตัวอย่างของฟังก์ชั่นSwingหรือSWT wrapper หรือไม่? หรือการบูรณาการบางอย่างกับคำอธิบาย GUI ที่ประกาศJavaFXซึ่งสามารถห่อไปที่s-expressionsได้อย่างง่ายดายโดยใช้ macrology บางอย่าง? บทเรียนใด ๆ

30
เสียงกระเพื่อมในโลกแห่งความจริง
ฉันได้ทดลองกับ Lisp (จริง ๆ แล้ว Scheme) และพบว่ามันเป็นภาษาที่สวยงามมากที่ฉันสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ อย่างไรก็ตามปรากฏว่า Lisp ไม่เคยถูกใช้ในโครงการที่จริงจังและฉันไม่ได้เห็นมันเป็นทักษะที่ต้องการในการโพสต์งานใด ๆ ฉันสนใจที่จะได้ยินจากใครก็ตามที่ใช้เสียงกระเพื่อมหรือเห็นมันใช้ใน "โลกแห่งความจริง" หรือใครจะรู้ว่ามันเป็นภาษาวิชาการอย่างแท้จริงหรือไม่

4
โปรดอธิบายบางประเด็นของ Paul Graham เกี่ยวกับ Lisp
ฉันต้องการความช่วยเหลือบางทำความเข้าใจบางจุดจากพอลเกรแฮมสิ่งที่ทำให้เสียงกระเพื่อมที่แตกต่างกัน แนวคิดใหม่ของตัวแปร ใน Lisp ตัวแปรทั้งหมดเป็นตัวชี้อย่างมีประสิทธิภาพ ค่าคือสิ่งที่มีประเภทไม่ใช่ตัวแปรและการกำหนดหรือตัวแปรที่มีผลผูกพันหมายถึงการคัดลอกพอยน์เตอร์ไม่ใช่สิ่งที่พวกเขาชี้ไปที่ ประเภทสัญลักษณ์ สัญลักษณ์แตกต่างจากสตริงที่คุณสามารถทดสอบความเท่าเทียมกันโดยการเปรียบเทียบตัวชี้ สัญกรณ์สำหรับรหัสโดยใช้สัญลักษณ์ของต้นไม้ ภาษาทั้งหมดใช้ได้เสมอ ไม่มีความแตกต่างที่แท้จริงระหว่างเวลาอ่านเวลาคอมไพล์และรันไทม์ คุณสามารถรวบรวมหรือเรียกใช้รหัสในขณะที่อ่านอ่านหรือเรียกใช้รหัสในขณะที่รวบรวมและอ่านหรือรวบรวมรหัสที่รันไทม์ ประเด็นเหล่านี้หมายความว่าอย่างไร พวกเขาแตกต่างกันในภาษาเช่น C หรือ Java อย่างไร ภาษาอื่นที่ไม่ใช่ภาษาตระกูล Lisp มีโครงสร้างเหล่านี้หรือไม่?

12
ทำไมความชั่วร้ายจึงเป็นจริง?
ฉันรู้ว่าโปรแกรมเมอร์ Lisp และ Scheme มักจะบอกว่าevalควรหลีกเลี่ยงเว้นแต่จำเป็นอย่างเคร่งครัด ผมเคยเห็นคำแนะนำเหมือนกันสำหรับการเขียนโปรแกรมภาษาหลาย evalแต่ฉันยังไม่เห็นรายชื่อของการขัดแย้งที่ชัดเจนกับการใช้งานของ ฉันจะหาบัญชีของปัญหาที่อาจเกิดขึ้นจากการใช้งานได้evalที่ไหน ตัวอย่างเช่นผมรู้ว่าปัญหาของGOTOในการเขียนโปรแกรมขั้นตอน (โปรแกรมทำให้อ่านได้ยากและยากที่จะรักษาทำให้ปัญหาความปลอดภัยยากที่จะหา ฯลฯ ) evalแต่ผมไม่เคยเห็นมีปากเสียงกับ ที่น่าสนใจข้อโต้แย้งที่เหมือนกันGOTOนั้นน่าจะใช้ได้กับการต่อเนื่อง แต่ฉันเห็นว่า Schemers นั้นจะไม่พูดว่าการต่อเนื่องนั้นเป็น "ความชั่วร้าย" - คุณควรระวังเมื่อใช้มัน พวกเขามีแนวโน้มที่จะขมวดคิ้วเมื่อใช้โค้ดevalมากกว่าใช้โค้ดต่อเนื่อง (เท่าที่ฉันเห็น - ฉันอาจผิด)

6
เหตุใด Clojure จึงมี "คำหลัก" นอกเหนือจาก "สัญลักษณ์"
ฉันมีความรู้เกี่ยวกับ Lisps อื่น ๆ (โดยเฉพาะโครงการ) จากทางกลับ เร็ว ๆ นี้ผมได้อ่านเกี่ยวกับClojure ฉันเห็นว่ามันมีทั้ง "สัญลักษณ์" และ "คีย์เวิร์ด" สัญลักษณ์ที่ฉันคุ้นเคย แต่ไม่ใช่กับคำหลัก Lisps คนอื่นมีคีย์เวิร์ดไหม คีย์เวิร์ดแตกต่างจากสัญลักษณ์อื่นที่ไม่ใช่สัญกรณ์ต่างกันอย่างไร (เช่นโคลอน)
130 lisp  clojure  scheme  keyword 

29
ทำไมฉันจึงควรเรียนรู้ Lisp [ปิด]
ตามที่กล่าวไว้ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันรู้สึกว่าควรเรียนรู้Lispจริงๆและมีแหล่งข้อมูลดีๆมากมายที่จะช่วยฉันทำ ฉันไม่ได้ท้อถอยด้วยไวยากรณ์ที่ซับซ้อน แต่ใน "การเขียนโปรแกรมเชิงพาณิชย์แบบเดิม" ฉันจะหาสถานที่ที่เหมาะสมที่จะใช้แทนภาษาขั้นตอน มีแอพนักฆ่าเชิงพาณิชย์ที่เขียนด้วย Lisp หรือไม่?

10
ฐานข้อมูลและการเขียนโปรแกรมเชิงฟังก์ชันมีความขัดแย้งกันหรือไม่?
ฉันเป็นนักพัฒนาเว็บมาระยะหนึ่งแล้วและเพิ่งเริ่มเรียนรู้การเขียนโปรแกรมเชิงฟังก์ชันบางอย่าง เช่นเดียวกับคนอื่น ๆ ฉันมีปัญหาสำคัญบางประการในการนำแนวคิดเหล่านี้ไปใช้กับงานวิชาชีพของฉัน สำหรับฉันเหตุผลหลักคือฉันเห็นความขัดแย้งระหว่างเป้าหมายของ FP ในเรื่องการไร้สัญชาติที่เหลืออยู่นั้นค่อนข้างขัดแย้งกับความจริงที่ว่างานพัฒนาเว็บส่วนใหญ่ที่ฉันทำนั้นมีความเชื่อมโยงกับฐานข้อมูลอย่างมากซึ่งมีข้อมูลเป็นศูนย์กลาง สิ่งหนึ่งที่ทำให้ฉันเป็นนักพัฒนาที่มีประสิทธิผลมากขึ้นในด้าน OOP คือการค้นพบตัวทำแผนที่เชิงสัมพันธ์เชิงวัตถุเช่น MyGeneration d00dads สำหรับ. Net, Class :: DBI สำหรับ perl, ActiveRecord สำหรับทับทิม ฯลฯ สิ่งนี้ทำให้ฉันต้องอยู่ห่าง ๆ จากการเขียนแทรกและเลือกคำสั่งทั้งวันและมุ่งเน้นไปที่การทำงานกับข้อมูลได้อย่างง่ายดายเหมือนวัตถุ แน่นอนว่าฉันยังคงสามารถเขียนแบบสอบถาม SQL ได้เมื่อจำเป็นต้องใช้พลังงาน แต่อย่างอื่นมันก็เป็นนามธรรมเบื้องหลังอย่างดี ตอนนี้เปลี่ยนไปใช้การเขียนโปรแกรมเชิงฟังก์ชันดูเหมือนว่าสำหรับเฟรมเวิร์กเว็บ FP จำนวนมากเช่นลิงค์ต้องการการเขียนโค้ด SQL แบบสำเร็จรูปจำนวนมากดังในตัวอย่างนี้ Weblocks ดูเหมือนจะดีกว่าเล็กน้อย แต่ดูเหมือนว่าจะใช้แบบจำลอง OOP สำหรับการทำงานกับข้อมูลและยังต้องใช้โค้ดในการเขียนด้วยตนเองสำหรับแต่ละตารางในฐานข้อมูลของคุณดังตัวอย่างนี้ ฉันคิดว่าคุณใช้การสร้างโค้ดบางอย่างเพื่อเขียนฟังก์ชันการทำแผนที่เหล่านี้ แต่ดูเหมือนจะไม่เหมือนเสียงกระเพื่อม (หมายเหตุฉันไม่ได้ดู Weblocks หรือ Links อย่างใกล้ชิดมากนักฉันอาจเข้าใจผิดว่าใช้อย่างไร) ดังนั้นคำถามคือสำหรับส่วนการเข้าถึงฐานข้อมูล (ซึ่งฉันเชื่อว่ามีขนาดใหญ่พอสมควร) ของเว็บแอปพลิเคชันหรือการพัฒนาอื่น ๆ …

4
อะไรคือความแตกต่างระหว่าง Clojure, Scheme / Racket และ Common Lisp?
ฉันรู้ว่าพวกเขาเป็นภาษาถิ่นในตระกูลเดียวกันที่เรียกว่า lisp แต่อะไรคือความแตกต่างกันแน่? คุณช่วยให้ภาพรวมครอบคลุมหัวข้อต่างๆเช่นไวยากรณ์ลักษณะคุณลักษณะและแหล่งข้อมูลหากเป็นไปได้

10
เมื่อใดควรใช้ '(หรือ quote) ใน Lisp?
หลังจากผ่านส่วนสำคัญของหนังสือ Lisp เบื้องต้นแล้วฉันยังไม่เข้าใจว่าฟังก์ชันตัวดำเนินการพิเศษ(quote)(หรือเทียบเท่า') ทำหน้าที่อะไร แต่นี่เป็นรหัส Lisp ทั้งหมดที่ฉันเคยเห็น มันทำอะไร?
114 lisp  quote 

4
ตัวแปร Lisp เต็มแบบคงที่เป็นไปได้หรือไม่?
ตัวแปร Lisp เต็มแบบคงที่เป็นไปได้หรือไม่? มันสมเหตุสมผลหรือไม่ที่สิ่งนี้จะมีอยู่จริง? ฉันเชื่อว่าหนึ่งในคุณธรรมของภาษา Lisp คือความเรียบง่ายของคำจำกัดความ การพิมพ์แบบคงที่จะประนีประนอมหลักการสำคัญนี้หรือไม่?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.