3 คะแนน โดย GN⁺ 2024-09-23 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • หลังจากพัฒนาและใช้งานจริงมา 12 ปี ก็ได้เปิดตัว Hy 1.0.0
  • Hy เป็นภาษา Lisp dialect ที่ฝังอยู่ใน Python
    • เป็นภาษาการเขียนโปรแกรมอเนกกระบวนทัศน์แบบใช้งานทั่วไปในตระกูล Lisp
    • ถูกสร้างขึ้นในฐานะไวยากรณ์ทางเลือกของ Python
    • มอบฟีเจอร์ใหม่ การทำให้เป็นนามธรรมทั่วไป และการลดความซับซ้อนของไวยากรณ์ได้หลากหลายมากกว่า Python
    • เมื่อเทียบกับ Lisp อื่น ๆ สามารถเข้าถึงความสามารถในตัวของ Python และไลบรารี Python จากภายนอกได้โดยตรง
    • สามารถผสมผสานรูปแบบการเขียนโปรแกรมเชิงคำสั่ง เชิงฟังก์ชัน และเชิงวัตถุได้อย่างอิสระ

ความเห็นของ GN⁺

  • Hy เป็นภาษาโปรแกรมที่น่าสนใจซึ่งผสานข้อดีของ Python และ Lisp เข้าด้วยกัน โดยใช้ประโยชน์จาก ecosystem และไลบรารีอันอุดมสมบูรณ์ของ Python พร้อมทั้งมอบความสามารถอันทรงพลังและความยืดหยุ่นแบบ Lisp ซึ่งช่วยเพิ่มประสิทธิภาพการทำงานของนักพัฒนาได้
  • อย่างไรก็ตาม Hy ยังไม่ใช่ภาษาที่ถูกใช้อย่างแพร่หลาย จึงอาจมีข้อจำกัดด้านสื่อการเรียนรู้และการสนับสนุนจากชุมชน นอกจากนี้ยังอาจเกิดปัญหาความเข้ากันได้กับโค้ด Python เดิม จึงควรใช้งานด้วยความระมัดระวัง
  • ภาษาอื่นที่มีแนวคิดคล้ายกับ Hy ได้แก่ Clojure และ Racket ซึ่งเป็นภาษาในตระกูล Lisp ที่มอบความสามารถอย่างการเขียนโปรแกรมเชิงฟังก์ชันและ macro และทำงานอยู่บน JVM หรือรันไทม์ของตนเอง

1 ความคิดเห็น

 
GN⁺ 2024-09-23
ความคิดเห็นบน Hacker News
  • รู้สึกว่าทำความเข้าใจได้ยากว่า Hy ถูกแปลงเป็น Python อย่างไร

    • Hy เป็นภาษาถิ่นของภาษา Lisp โดยแปลง s-expression ไปเป็น abstract syntax tree (AST) ของ Python
    • ไปดูโค้ดบน GitHub แล้วพบว่าคอมไพเลอร์นี้เขียนด้วย Python
    • แทนที่จะอธิบาย Hy ว่าเป็น "ภาษาถิ่นของ Lisp ที่ฝังอยู่ใน Python" การอธิบายว่าเป็น "ภาษาถิ่นของ Lisp ที่คอมไพล์ไปเป็น AST ของ Python" น่าจะชัดเจนกว่า
    • มีหลายวิธีในการฝัง Lisp เข้าไปใน Python และแต่ละวิธีก็แตกต่างกันมากพร้อม trade-off ที่หลากหลาย
    • ตัวอย่างเช่น อาจเขียนอินเทอร์พรีเตอร์ด้วย C, คอมไพล์เป็น Python bytecode หรือแปลตรงไปเป็นซอร์สโค้ด Python ก็ได้
    • ไม่ว่าอย่างไร นี่ก็เป็นโปรเจ็กต์ที่น่าสนใจ
  • ชอบ HYPE POST มาก

    • ใช้งานร่วมกับซอฟต์แวร์ของบริษัทได้ยอดเยี่ยมมาก
  • ประหลาดใจที่เห็นว่า Hy พัฒนาไปไกลมากตั้งแต่ช่วงแรกจนถึงตอนนี้

    • เคยดู lightning talk ที่แนะนำ Hy ครั้งแรกในงาน Pycon
    • ได้พบกับ Paul และเริ่มมีส่วนร่วมกับ Hy เวอร์ชันแรก ๆ
    • รับผิดชอบส่วน kwargs สไตล์ CL และไลบรารีบางส่วน
    • ดีใจที่ได้เห็นโปรเจ็กต์ยังเดินหน้าต่อไป
  • ตอนนี้น่าจะจัดระเบียบ https://github.com/rcarmo/sushy ได้แล้ว

    • ทุกครั้งที่อัปเกรด Hy มักมีปัญหาไวยากรณ์พังหรือถูกย้ายออกจากแพ็กเกจ hyrule
    • Hy ทำงานได้ดีภายใน https://holzschu.github.io/a-Shell_iOS บน iPad
    • การทำ syntax highlighting ของ vim/neovim ต้องตามให้ทันรีลีส 0.29+ และความสามารถ async
    • เคยลองใช้ Fennel และ Guile แต่การเข้าถึงไลบรารีและ ecosystem ของ Python นั้นดีกว่า
    • ความสามารถ async ทำให้จัดการ API ได้อย่างมีประสิทธิภาพ
  • ขอแสดงความยินดี! มีสองคำถาม

    • รองรับการพัฒนาแบบอิง REPL หรือไม่ (เช่น condition system, breakloop ฯลฯ)
    • มีดิสทริบิวชันแบบ standalone หรือไม่ การแจกจ่ายตัว Python เองค่อนข้างยุ่งยาก สถานการณ์ในอุดมคติคือแจกจ่ายไบนารี Hy เดียวที่รวม dependency ทั้งหมดไว้
  • ข้อมูลที่เกี่ยวข้องสำหรับแฟน ๆ Clojure:

  • ขอแสดงความยินดีและขอบคุณ! เคยลองใช้ทรานส์ฟอร์เมอร์ด้วย Hy และปล่อย https://github.com/kunalb/orphism

    • ถึงเวลาที่จะกลับมาลองใช้ Hy อีกครั้งแล้ว
  • ชอบส่วนที่ไม่จริงจังมาก

    • อยากให้โปรเจ็กต์เกี่ยวกับการเขียนโปรแกรม更多รับเอาอารมณ์ขันมาใช้
    • นี่อาจเป็นวิธีที่ดีที่สุดในการยกย่องธรรมเนียมของ Python
  • สามารถได้โครงสร้างการเขียนโปรแกรมเชิงฟังก์ชันโดยไม่ต้องทิ้งไวยากรณ์ของ Python (แบบที่ Hy ทำ)

  • หนึ่งในข้อดีของ Raku คือโดยพื้นฐานแล้วมันให้ความรู้สึกแบบ Lisp ได้อย่างน่าทึ่ง