Cosmopolitan libc - Build-Once Run-Anywhere C
(justine.lol)- ไลบรารีที่ทำให้โค้ด C รันได้ทุกที่
→ คล้ายกับ Java แต่ไม่ต้องใช้ interpreter หรือ VM
→ ให้ความสามารถในการพกพาระดับ Go/Rust แต่ยังใช้ภาษา C แบบเดิม
→ คอมไพล์ด้วยไฟล์ไลบรารีที่ให้มา 5 ไฟล์ ก็รองรับ Mac/Windows/Linux ได้ทันที
-
ความเร็วระดับ glibc
-
สร้างและใช้งานฟอร์แมตชื่อ ape(αcτµαlly pδrταblε εxεcµταblε)
→ อาศัยข้อเท็จจริงที่ว่า Windows Portable Executable สามารถทำเป็นเชลล์สคริปต์ของ UNIX 6th Edition ได้
→ พกพาได้ แต่ขนาดเล็กกว่า hello world เวอร์ชัน Go ถึง 100 เท่า
- ฝัง BIOS bootloader ไว้ภายใน จึงสามารถบูตแบบ bare metal แล้วรันได้ด้วย
5 ความคิดเห็น
ยังนึกภาพไม่ออกเลยว่าจะเอาไปใช้งานได้อย่างไร แต่น่าสนใจดี
ผู้เขียนคือ Justine Tunney ซึ่งเป็นแฮ็กเกอร์ที่มีชื่อเสียง
https://en.wikipedia.org/wiki/Justine_Tunney
วิธีรันแบบ bare metal ผู้เขียนได้ตอบไว้ในคอมเมนต์บน HN
https://news.ycombinator.com/item?id=25558363
ดูเหมือนว่านี่อาจกลายเป็นวิธีใหม่ในการสร้างเครื่องมือบรรทัดคำสั่งด้วย C
ลองไล่ดูใน GitHub แล้ว... ASCII art ที่ใช้แสดงแต่ละ OS ข้างในนั้นน่าประทับใจมาก
https://github.com/jart/cosmopolitan/blob/master/ape/ape.S
คอมเมนต์ในโค้ดนี่... เป็นงานศิลปะเลย.. ศิลปะ..
5555 เจ๋งมากครับ ตอนแรกเห็นโลโก้ก็คิดว่าอ๋อประมาณนั้น แต่พอเห็นตั้งแต่ MS-DOS เป็นต้นไปนี่ประทับใจเลยครับ
พอมีอะไรแบบนั้นอยู่ในคอมเมนต์ มันเลยให้ความรู้สึกเหมือนกำลังพัฒนาแบบสนุก ๆ กันจริง ๆ เลยนะ 555