คริสตัล 0.34.0 เปิดตัวแล้ว

Crystal เวอร์ชันใหม่เปิดตัวแล้ว ซึ่งเป็นภาษาการเขียนโปรแกรมแบบคอมไพล์พร้อมไวยากรณ์ Ruby คุณสมบัติหลักคือรันไทม์พร้อมลูปเหตุการณ์ "ในตัว" ซึ่งการดำเนินการ I/O ทั้งหมดเป็นแบบอะซิงโครนัส รองรับมัลติเธรด (ตราบใดที่ เนื่องจากเปิดใช้งานโดยแฟล็กระหว่างการคอมไพล์) และการใช้งานที่ง่ายและสะดวกอย่างยิ่งกับไลบรารีใน C

ตั้งแต่เวอร์ชัน 0.34.0 ภาษาจะเริ่มก้าวไปสู่การเปิดตัวจริงครั้งแรกอย่างเป็นทางการ (เช่น เวอร์ชัน 1.0)

Crystal เวอร์ชันใหม่มีการเปลี่ยนแปลงและการปรับปรุงตามลำดับความสำคัญดังต่อไปนี้:

  • มีการเพิ่มไลบรารีการบันทึกใหม่ลงใน API เข้าสู่ระบบซึ่งแตกต่างจากแบบเก่าตรงที่สามารถส่งข้อความไปยังแบ็กเอนด์ที่แตกต่างกันและกรองข้อความเหล่านี้แตกต่างกันไปตาม "แหล่งที่มา"

  • พื้นฐานจากโลกแห่งการพัฒนา C เออร์โน и WinErrorซึ่งใช้สำหรับ I/O ดั้งเดิม กำลังกลายเป็นเรื่องในอดีตเนื่องจากลำดับชั้นข้อยกเว้น IO::ข้อผิดพลาด (แต่ยังไม่มีใครห้ามใช้ Errno)

  • ลบการแทนที่อัตโนมัติของ else nil ออกจากตัวดำเนินการ กรณี/เมื่อ/อื่น. การทำเช่นนี้เพื่อป้องกันไม่ให้นักพัฒนาข้ามสาขาใดสาขาหนึ่งโดยไม่ตั้งใจ เมื่อ เมื่อจับคู่กับกรณีที่กำหนด เช่น การแจงนับ และการส่งผ่านประเภทจาก Union กล่าวง่ายๆ ก็คือ รหัสนี้จะใช้งานไม่ได้อีกต่อไปหากไม่ได้ระบุอีกรหัสหนึ่ง เมื่อ (เมื่อ Char) หรืองานต่างๆ อื่น-สาขา:

ก = 1 || 'x' || "ฟู"
กรณี ก
เมื่อ Int32
#…
เมื่อสตริง
#…
ปลาย

  • ตัวเลือกคอมไพเลอร์ Disable_overflow ไม่สามารถใช้ได้อีก. สำหรับการดำเนินการล้น ให้ใช้เมธอด &+, &-, &*

  • อาร์เรย์#เติม ตอนนี้บินได้เร็วกว่ากระสุนด้วยการแทนที่ลูปโง่ ๆ ด้วย memset ง่าย ๆ อันเดียว

  • ผู้จัดการเศษ (แพ็คเกจ) เรียกว่าขัดแย้งกัน เศษตอนนี้ใช้อัลกอริธึมความพึงพอใจในการพึ่งพา Molinillo ที่เร็วและมีประสิทธิภาพมากขึ้นที่พบใน CocoaPods (Swift) และ Builder (Ruby)

  • เพิ่มการสนับสนุน LLVM 10ซึ่งในทางทฤษฎีจะทำให้เราเพิ่มผลผลิต ความเสถียร ฯลฯ ได้บ้าง

... และอื่นๆ อีกมากมายในความเห็นส่วนตัวของฉัน การปรับปรุงที่มีนัยสำคัญน้อยกว่า

ฉันต้องการทราบว่า Crystal เป็นภาษาที่สร้างขึ้นบน LLVM ซึ่งช่วยให้คุณเขียนแอปพลิเคชันได้เร็วกว่า ง่ายกว่า และรัดกุมมากกว่าในการตีความ "พี่น้อง" และในขณะเดียวกันก็ได้รับไบนารี่ที่ค่อนข้างเร็วด้วย เมื่อเปรียบเทียบกับ Golang มันมีความโดดเด่นเนื่องจากมี OOP ที่ครบถ้วนสมบูรณ์ รองรับยาชื่อสามัญ และไวยากรณ์ที่เรียบง่ายและเข้าใจได้ จุดประสงค์ส่วนใหญ่คล้ายกับ Nim แต่ในขณะเดียวกันก็เน้นไปที่การใช้งานจริง "ที่นี่และเดี๋ยวนี้" อย่างชัดเจน ต้องขอบคุณ API ที่มีอยู่ในคลังแสง API มากมายที่มีการจัดทำเอกสารอย่างดี สะดวก และมีเครื่องมือคุณภาพสูง ซึ่งสนับสนุนโดย นักพัฒนาภาษาจึงมีเสถียรภาพมาก

ที่มา: linux.org.ru

เพิ่มความคิดเห็น