บนเส้นทางสู่การตรัสรู้: Scheme, Common Lisp, Clojure? [ปิด]


26

ผู้คนจำนวนมากฉลาดกว่าที่ฉันเขียนไว้เสมอเมื่อคุณเรียนรู้ Lisp มันทำให้คุณเป็นโปรแกรมเมอร์ที่ดีขึ้นเพราะคุณ "เข้าใจ"

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

ฉันต้องการติดตามหนังสือ SICP และหรือ ANSI Common LISP แต่ในเวลาเดียวกันฉันกำลังศึกษาภาษาถิ่นและการใช้งานที่ฉันสามารถใช้ในโครงการส่วนบุคคลได้

SICP มุ่งเน้นไปที่ Scheme ดังนั้นจึงเป็นการลงคะแนนเสียงครั้งใหญ่ พอลเกรแฮมกล่าวว่าหากเขาจะสอนมือใหม่เขาจะทำใน Scheme แต่ฟังดูเหมือน Scheme ยังด้อยกว่า Common LISP แต่แล้วก็มี Clojure - ซึ่งฉันบอกว่าถูก จำกัด ด้วยวิธีการ แต่มีประโยชน์มากกว่าสำหรับคนอื่น ๆ (ห้องสมุด JVM)

ดูเหมือนว่าฉันจะสามารถเข้าถึงวัสดุ Scheme ได้ง่ายขึ้นบรรลุการรู้แจ้ง "จริง" จาก CL หรือเข้าใกล้ Clojure และสามารถทำสิ่งนี้ได้มากขึ้นในระยะยาว

ทั้งหมดนี้เป็นความจริงเพียงใด? ฉันควรหยุดคิดเกี่ยวกับสิ่งที่จะเรียนรู้และเพียงไปและเรียนรู้เกี่ยวกับมันเมื่อไหร่?


4
+1 แต่ระวังพวกเขาไม่ได้ดีที่นี่ดูว่าเกิดอะไรขึ้นกับมัน: programmers.stackexchange.com/users/39479
Cedric Martin


1
สวัสดี Conrad "ฉันควรเรียนรู้ภาษาอะไรต่อไป" ไม่ได้อยู่ในหัวข้อที่นี่

@ MarkTrapp คำขอโทษของฉัน ฉันคิดว่าคำถาม "ภาษาใดดีที่สุดสำหรับ [x]" ยังอยู่ในหัวข้อเพราะมันเป็นเรื่องของการเลือกเครื่องมือที่เหมาะสมสำหรับงาน ฉันคิดว่ามีหลายคนที่ต้องการทราบถึงการแลกเปลี่ยนการเรียนรู้บางอย่างที่มีชื่อเสียงทางวิชาการกับเครื่องมือที่คล้ายกันที่สามารถเข้าถึงแพลตฟอร์มที่จัดตั้งขึ้นได้ สิ่งนี้ยังคงเป็นเหตุให้ปิดหรือไม่
Conrad.Dean

2
@ MarkTrapp ฉันคิดว่านี่เป็นคำถามที่ดี ภูมิทัศน์เสียงกระเพื่อมอาจทำให้สับสนในการนำทางในตอนแรกและ OP มีเกณฑ์เฉพาะบางอย่างเพื่อช่วยให้ผู้คนตัดสินคำตอบที่เหมาะสม ฉันคิดว่าคำถามนี้ไม่ได้คลุมเครือเหมือน "ฉันควรเรียนรู้ภาษาอะไรต่อไป"
benekastah

คำตอบ:


19

บางทีทั้งหมดที่ฉันได้ยินเกี่ยวกับเสียงกระเพื่อมเปลี่ยนชีวิตของคุณเป็นเพียงเรื่องตลกใหญ่ในมือใหม่

ไม่จริงอย่างแน่นอนมันไม่ใช่เรื่องตลก
ด้วยเสียงกระเพื่อมคุณจะสร้างสิ่งที่คุณต้องการแม้แต่ภาษาโปรแกรมของคุณเอง

คุณจะรู้แจ้งไม่ว่าคุณจะเลือกอะไรไม่ว่าจะเป็น CL, Scheme หรือ Clojure
ฉันแนะนำให้คุณเรียนรู้ Clojure เป็นการส่วนตัวเพราะมันเป็น Lisp ที่ใช้งานได้จริงซึ่งเป็นภาษาที่ใช้งานได้จริงซึ่งสนับสนุนการเขียนโปรแกรมพร้อมกันอย่างสง่างามและมันทำงานบน JVM (จุดขายขนาดใหญ่)

ClojureScript นำ Lisp ไปใช้กับการเขียนโปรแกรมฝั่งไคลเอ็นต์ซึ่งเป็นสิ่งที่ยอดเยี่ยมจริงๆ

และโดยวิธีการSICP มีอยู่ใน Clojure

ยินดีต้อนรับบนเรือ :)


การแปล Clojure ของ SICP น่าตื่นเต้นสำหรับฉันจริงๆ ครั้งล่าสุดที่ฉันตรวจสอบมันยังคงอยู่ระหว่างดำเนินการ แต่ตอนนี้ต้องดำเนินการต่อไป ทุกคนสามารถให้ความเห็นว่าการแปลนี้ยังคงรักษานิพพานที่คุณได้รับจากการอ่าน SICP ได้อย่างไร
Conrad.Dean

@ Conrad.Dean: ยังมีคำเตือนที่โดดเด่นพอสมควร: "คุณไม่ควรอยู่ที่นี่จริงๆแล้วคุณยินดีต้อนรับดูรอบ ๆ ฉันจะหลีกเลี่ยงการวางกรวยจราจรและป้ายหยุด แต่ไซต์นี้อยู่ในระหว่างการก่อสร้างเป็นอย่างมากและไม่มีที่ไหนใกล้กับจุดที่เป็นประโยชน์เลย "
Jerry Coffin

3
การปิดการแปล SICP คือความตายตั้งแต่ปี 2009 นั่นเป็นเรื่องน่าเศร้าเพราะการแก้ปัญหามีอยู่ใน clojure ...
AndreasScheinert

หากคุณต้องการเปลี่ยนแปลงชีวิตของคุณเรียนรู้วางแผนกำหนดบทเปิดฉากและ C ตามลำดับ Python ก็คุ้มค่ากับการสูดดมหนึ่งหรือสอง ถ้าหัวของคุณยังไม่ระเบิดให้ไปและออกแบบภาษาโปรแกรมของคุณเองหรือช่วยภาษาใหม่อื่น ๆ ที่สมบูรณ์แบบ
Sam Watkins

7

ดูเหมือนว่าฉันจะสามารถเข้าถึงวัสดุ Scheme ได้ง่ายขึ้นบรรลุการรู้แจ้ง "จริง" จาก CL หรือเข้าใกล้ Clojure และสามารถทำสิ่งนี้ได้มากขึ้นในระยะยาว

อย่าคาดหวังปาฏิหาริย์ การทำงานในภาษาเช่น Scheme จะขยายขอบเขตของคุณและอาจสอนคุณเล็กน้อยเกี่ยวกับวิธีการใช้งานโปรแกรม แต่ไม่ใช่ตั๋วด่วนไปสู่ ​​Sphere of Infinite Consciousness

ฉันควรหยุดคิดเกี่ยวกับสิ่งที่จะเรียนรู้และเพียงไปและเรียนรู้เกี่ยวกับมันเมื่อไหร่?

ประมาณ 7 วินาทีหลังจากที่คุณอ่านคำตอบนี้เสร็จแล้ว


5

หากคุณต้องการเริ่มต้นด้วย SICP ไปกับรูปแบบเพียงเพราะนั่นคือสิ่งที่หนังสือเล่มนี้สอน การย้ายจาก Scheme ไปยัง Clojure นั้นง่ายมาก


คุณสามารถแสดงความคิดเห็นได้หรือไม่ว่าประเด็นหลักของ SICP แปลในโครงการSICP ใน Clojureหรือมีอะไรหายไประหว่างรูปแบบการปิดบัง?
Conrad.Dean

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