Janet - ภาษาโปรแกรมเชิงฟังก์ชันและเชิงคำสั่ง
(janet-lang.org)-
ไบนารีเดี่ยวที่รวมทั้งภาษา (คอร์, อินเทอร์พรีเตอร์, คอมไพเลอร์, แอสเซมเบลอร์, PEG) ไว้ครบทั้งหมด และมีขนาดไม่เกิน 1Mb
-
รองรับ Windows/Mac/Linux
-
เหมาะสำหรับใช้เป็นภาษาสคริปต์ระบบ
-
ใช้งานได้กับทุกงานที่ใช้ Lisp (การทำต้นแบบระบบ, ระบบไดนามิก เป็นต้น)
-
ฝังลงในโปรแกรมอื่นได้ง่ายเหมือน Lua หรือ Guile (ไฟล์ C หนึ่งไฟล์และไฟล์เฮดเดอร์ 2 ไฟล์)
-
ผสานข้อดีของหลายภาษาเข้าด้วยกัน
→ ไวยากรณ์คล้าย Lisp และ Scheme
→ first-class closure และ green thread
→ Generators สไตล์ Python
→ Mutable & Immutable : array/tuple, table/struct, buffer/string
→ แมโครแบบ Lisp
→ โหลดไลบรารี C แบบไดนามิกได้
→ รองรับ REPL
→ ฝัง PEG ไว้ในคอร์ไลบรารี
→ สามารถสร้างไฟล์รันแบบสแตนด์อโลนได้ด้วยเครื่องมือบิลด์ jpm
2 ความคิดเห็น
เป็นเรื่องที่เจอกันเสมอทุกครั้งที่มีภาษาใหม่ออกมา.. ถึงจะบอกว่ามีข้อดีหลายอย่างและเหมาะกับการใช้งานแบบนั้นแบบนี้ ... แต่สุดท้ายถ้าไม่มี "แอปนักฆ่า" ของภาษานั้น ก็ดูเหมือนว่าจะใช้งานได้ยากอยู่ดี ถ้าไม่มีแอปนักฆ่า ก็เหมือนจะหลีกเลี่ยงคำถามถาโถมอย่าง "จะพัฒนาด้วยภาษานี้ได้ไกลแค่ไหน?" หรือ "มีไลบรารีอะไรที่รองรับบ้าง?", "จะมีทรัพยากรพอให้ดูแลต่อเนื่องได้ไหม?" .. ไม่พ้นจริงๆ
ก็เลยตั้งตารอดูว่า Janet จะอยู่รอดได้นานแค่ไหนครับ
ใน GitHub ของ Janet แนะนำตัวว่าเป็น Modern Lisp แต่ก็มีคนที่บอกว่า "ถ้าไม่มี List ก็ไม่ใช่ Lisp" อยู่เหมือนกัน
(เพราะชื่อ LISP มาจาก LISt Processing)
→ List ถูกแทนที่ด้วยโครงสร้างข้อมูลอย่าง array, hashtable, struct, tuple เป็นต้น ตามที่เขียนไว้ข้างบน