IronScheme สมบูรณ์เพียงพอหรือมั่นคงเพียงพอที่จะเรียนรู้ที่คุ้มค่าหรือไม่


17

IronSchemeถูกกล่าวถึงในWikipediaว่าเป็นตัวตายตัวแทนต่อโครงการที่ล้มเหลวที่เรียกว่า IronLisp นำ Lisp ไปยัง CLR และ. NET วิธีที่ Clojure ทำเพื่อ JVM ใครบ้างมีประสบการณ์กับภาษานี้หรือไม่? มันดูค่อนข้างสมบูรณ์ (99%) แต่ฉันไม่แน่ใจว่าจะตัดสินได้อย่างไรว่ามันคุ้มค่ากับเวลาของฉันที่จะทำตามวิธีการตั้งค่าหรือไม่ ด้วยความเสถียรหรือสมบูรณ์ฉันหมายถึงการใช้มันสำหรับโครงการจริงมากกว่าแค่เล่นซอกับเครื่องมือและปัญหาสไตล์ของ Project Euler

คำตอบ:


26

ฉันเป็นผู้เขียน IronScheme ฉันไม่แน่ใจจริงๆว่าจะตอบคำถามของคุณอย่างไร แต่จะลอง :)

IronScheme แรกพยายามใช้ Scheme (R6RS โดยเฉพาะ) โดยมีวัตถุประสงค์รองเป็น CLR การทำงานร่วมกัน

เมื่อเปรียบเทียบกับ Clojure (มุ่งเน้นไปที่จุดเสียของพวกเขา) IronScheme จะไม่:

  • ให้ข้อยกเว้นรันไทม์ CLR ให้คุณ; IronScheme ใช้การจัดการข้อยกเว้นของ Scheme
  • ให้สแต็กตรูแบบไม่ จำกัด IronScheme หางซ้ำอย่างถูกต้อง
  • ตั้งค่าได้ยาก แยกไปยังไดเรกทอรีและไป
  • ใช้เวลานานในการเริ่มต้น; IronScheme (เมื่อ ngen'd) ใช้เวลาเพียง 0.1 วินาทีในการเริ่ม REPL
  • คลุมเครือ IronScheme ใช้ข้อมูลจำเพาะที่เป็นมาตรฐาน

น่าเสียดายที่ Clojure ชนะคือ:

  • เอกสาร
  • กรอบและไลบรารี
  • ชุมชนผู้ใช้

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

สำหรับการสนับสนุนฉันปกติจะช่วยให้ผู้ใช้เร็วเท่าที่จะทำได้ หลักฐานนี้สามารถเห็นได้จากเวลาตอบสนองของฉันในกระดานสนทนา IronScheme นอกจากนี้ข้อผิดพลาดจะได้รับการแก้ไขตามปกติทันทีที่มีการระบุ

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

สำหรับการใช้งานถ้าคุณคุ้นเคยกับ. NET Framework คุณสามารถทำอะไรกับ IronScheme ได้มากเท่าที่คุณจะทำได้ด้วยภาษา NET อื่น ๆ มันอาจจะยากขึ้นหรือง่ายขึ้นทั้งนี้ขึ้นอยู่กับว่าคุณเต็มใจที่จะให้นามธรรมเป็นสำนวนที่เหมือนโครงการมากขึ้น สิ่งต่างๆนั้นง่ายมากในการเขียนใน IronScheme ตัวอย่างเช่นกรอบงาน MVC ทั้งหมดของฉันคือรหัสโครงการ 400 บรรทัดแทบจะต้องขอบคุณการแตะลงใน ASP.NET (ฉันไม่ชอบการประดิษฐ์วงล้ออีกครั้ง)

อย่าลังเลที่จะขอคำอธิบายหากคำตอบนั้นไม่เพียงพอ Demian ก็ทำคะแนนดีในแง่ของการบำรุงรักษาเช่นกัน

ความนับถือ

leppie


1
IronScheme + Net เปรียบเทียบกับ, พูด, แร็กเก็ต, เฟรมเวิร์ก wrt และไลบรารีอย่างไร
Joe Internet

ฉันไม่ทราบว่ามีกรอบ MVC อยู่ เป็นส่วนหนึ่งของการดาวน์โหลด IronScheme หรือไม่
Robert Harvey

1
@Robert Harvey: ใช่โค้ดตัวอย่างบางส่วนอยู่ในไดเรกทอรี websample ขณะนี้ยังทำงานบนironscheme.net/docและeval.ironscheme.net
leppie

@ โจอินเทอร์เน็ต: ไม่มีกรอบจริงๆ แต่ IronScheme รวมถึง SRFI จำนวนมาก ห้องสมุดส่วนใหญ่ที่ฉันเขียนนั้นใช้สำหรับ CLR interop
leppie

2

หมายเหตุ: ฉันไม่เคยมีประสบการณ์กับ IronScheme ดังนั้นลองคิดดูด้วยเกลือเม็ดเล็ก ๆ (แม้ว่ามันจะพุ่งตรงไปที่การใช้เทคโนโลยี edge edge)

ในขณะที่ฉันจะได้ของเล่นที่มีเทคโนโลยีใหม่ที่มีปัญหาเล็ก ๆ น้อย ๆ (เครื่องมือส่วนบุคคลโครงการออยเลอร์ ฯลฯ ) ผมมากระมัดระวังในการใช้เทคโนโลยีดังกล่าวในโครงการเป่าเต็ม ทำไม?

  • การสนับสนุนชุมชน: คุณจะได้รับความช่วยเหลือจากใครเมื่อคุณชนกำแพง
  • ปัญหาที่ไม่คาดฝัน: ถ้าเทคโนโลยีไม่ได้รับอย่างทั่วถึงรบทดสอบฉันจริงๆต้องการที่จะขุดลงไปในรหัสห้องสมุดที่จะลองและคิดออกวิธีการแก้ปัญหาที่อาจจะไม่ได้รับการพบ? ถ้าฉันต้องการเป็นส่วนหนึ่งของทีมที่มุ่งมั่นบางทีอาจจะ 99% ของเวลาที่ฉันต้องการให้โครงการของฉันเสร็จและไม่ต้องกังวลเกี่ยวกับระบบประปา
  • ความมุ่งมั่นของทีม: จะเกิดอะไรขึ้นหากใครก็ตามที่มุ่งหน้าโครงการดึงปลั๊ก? โครงการของฉันจะถูกกำพร้าเว้นแต่ฉันต้องการที่จะครอบครองโครงการที่ฉันมีปัญหาเช่นเดียวกับจุดก่อนหน้า

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


3
แม้ว่าคุณจะมีประเด็น แต่ฉันสงสัยว่าคุณคาดหวังว่าเทคโนโลยีใหม่ ๆ จะได้รับการทดสอบการต่อสู้ถ้าคำแนะนำของคุณไม่ต้องพึ่งพาพวกเขาในการต่อสู้? ;)
back2dos

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