19 คะแนน โดย GN⁺ 2024-05-23 | 5 ความคิดเห็น | แชร์ทาง WhatsApp
  • ภาษาโปรแกรมสมัยใหม่ที่คอมไพล์เป็น Bash มีความปลอดภัยด้านชนิดข้อมูลและความปลอดภัยขณะรันไทม์
    • ช่วยให้เขียนสคริปต์ได้ง่ายขึ้นโดยจัดการบั๊กและข้อผิดพลาดจำนวนมากในขั้นตอนคอมไพล์
  • ฟีเจอร์หลัก
    • ไวยากรณ์สมัยใหม่: ฟีเจอร์ของภาษาจำนวนมากจะให้ความรู้สึกคุ้นเคย และเรียนรู้ได้เร็วกว่าเริ่มต้นเรียน Bash ตั้งแต่ศูนย์มาก
    • ความปลอดภัยขณะรันไทม์: เป็นหนึ่งในองค์ประกอบสำคัญที่มักขาดหายไปในเชลล์สคริปต์ทั่วไป และสามารถจับบั๊กจำนวนมากได้ตั้งแต่ตอนคอมไพล์
    • ความปลอดภัยด้านชนิดข้อมูล: ทุกคำสั่งและฟังก์ชัน Bash ที่อาจล้มเหลวต้องถูกจัดการไม่ทางใดก็ทางหนึ่งเสมอ
  • สามารถใช้เป็นโซลูชันแบบพกพาได้บน macOS และ Linux

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

  • ข้อดีของ Amber
    • เพิ่มประสิทธิภาพการพัฒนา: ด้วยไวยากรณ์สมัยใหม่และความปลอดภัยด้านชนิดข้อมูล นักพัฒนาจึงสามารถเขียนสคริปต์ได้เร็วขึ้นและปลอดภัยมากขึ้น
    • ลดบั๊ก: สามารถจับบั๊กจำนวนมากได้ตั้งแต่ขั้นตอนคอมไพล์ จึงช่วยลดข้อผิดพลาดขณะรันไทม์
  • สิ่งที่ควรพิจารณา
    • เส้นโค้งการเรียนรู้: สำหรับผู้ที่เคยเขียน Bash script มาก่อน อาจต้องใช้เวลาเรียนรู้ไวยากรณ์และแนวคิดใหม่
    • ปัญหาความเข้ากันได้: อาจเกิดปัญหาความเข้ากันได้กับ Bash script บางประเภท
  • โครงการที่คล้ายกัน
    • Fish Shell: เป็นภาษาเชลล์สคริปต์อีกตัวที่มีไวยากรณ์ใช้งานง่ายและมีความสามารถทรงพลัง
    • Zsh: เป็นเชลล์ที่มีฟีเจอร์และปลั๊กอินมากกว่า Bash และเป็นที่ชื่นชอบของนักพัฒนาจำนวนมาก
  • สิ่งที่ควรพิจารณาเมื่อนำเทคโนโลยีมาใช้
    • การย้ายสคริปต์เดิม: ควรพิจารณาเวลาและความพยายามที่ต้องใช้ในการย้าย Bash script เดิมไปยัง Amber
    • การสนับสนุนจากชุมชน: เมื่อนำภาษาใหม่มาใช้ สิ่งสำคัญคือต้องตรวจสอบว่าชุมชนและเอกสารรองรับดีเพียงใด

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

 
cometkim 2024-05-27

ทำให้นึกถึง Batsh เลย ฮ่าๆ

 
kandk 2024-05-24

อันนี้ดีนะ!

 
coremaker 2024-05-24

ดูจากลักษณะนี้ เหมือนว่าควรเรียกว่าเป็นทรานสไพเลอร์มากกว่าจะเป็นคอมไพเลอร์นะครับ

 
secret3056 2024-05-24

ผมก็คิดแบบนั้นเหมือนกัน แต่ช่วงนี้ดูเหมือนจะเรียกกันว่าคอมไพเลอร์ไปหมดแล้ว
แม้แต่ TypeScript compiler(?) ก็ยังเรียกว่า tsc เลย...

 
GN⁺ 2024-05-23
ความคิดเห็นบน Hacker News

สรุปความคิดเห็นจากคอมเมนต์บน Hacker News

  • ความเข้ากันได้ของ Bash และ POSIX sh

    • อยากให้มันเป็นเครื่องมือที่เข้ากันได้กับ POSIX sh มากกว่าจะเป็นเครื่องมือสำหรับเขียน Bash เหมือนกับที่ MJML ใช้เขียนอีเมล HTML จึงควรมีเครื่องมือที่ช่วยลดความซับซ้อนของ Bash
  • ความคิดเห็นเกี่ยวกับการ Transpile

    • แนวคิดในการ transpile ไปเป็น Bash น่าสนใจ และข้อดีคือขั้นตอนการติดตั้งทำได้ง่าย
  • ซับโปรเซสและการจัดการความล้มเหลว

    • ควรมีวิธีที่ดีกว่านี้สำหรับการจัดการซับโปรเซสและความล้มเหลว วิธีที่มีอยู่ในเอกสารตอนนี้ดูยังไม่เพียงพอ และไม่มีการพูดถึงการส่งต่อ exit code ของ pipe
  • งาน DevOps ที่ซับซ้อน

    • อยากใช้ Bash ทำงาน DevOps ที่ซับซ้อน แต่เพราะข้อจำกัดของ Bash จึงต้องใช้เครื่องมืออย่าง jq, sed, awk ร่วมกันซึ่งไม่สะดวก และดูเหมือนว่าเครื่องมืออย่าง Amber อาจช่วยแก้ปัญหานี้ได้
  • ผลลัพธ์ที่ Amber สร้างออกมา

    • ผลลัพธ์ที่ Amber สร้างออกมาดูไม่สม่ำเสมอและอ่านยาก แม้ผลลัพธ์จากคอมไพเลอร์ส่วนใหญ่จะอ่านยากสำหรับมนุษย์อยู่แล้ว แต่ Amber ยังไม่ได้ให้ข้อดีมากพอที่จะคุ้มกับการยอมแลกความอ่านง่าย
  • การใช้งานในระบบฝังตัว

    • Amber น่าจะมีประโยชน์เมื่อต้องจัดการลอจิกที่ซับซ้อนในระบบฝังตัว และอาจเป็นทางเลือกที่ดีกว่าในสภาพแวดล้อมที่ใช้ได้แค่ Bash
  • ปัญหาของ Bash

    • pipeline และ subshell ใน Bash ทำงานช้า แม้แต่คำสั่งเงื่อนไขง่าย ๆ ก็ถูกแปลงให้ออกมาซับซ้อน อีกทั้งยังมีปัญหาเรื่องความเข้ากันได้ของเวอร์ชันเครื่องมือ CLI ภายนอก และที่บอกว่าไม่สามารถซ้อน array ได้ก็ไม่เป็นความจริง
  • ความสำคัญของการเรียนรู้ Bash

    • การเรียนรู้ Bash เป็นสิ่งสำคัญ และการเรียนรู้พื้นฐานของ Bash อาจมีประสิทธิภาพมากกว่าการไปเรียนรู้ทางเลือกใหม่
  • ปัญหาการเรียกโปรแกรมภายนอก

    • การเรียกโปรแกรมภายนอกสำหรับงานง่าย ๆ นั้นไม่มีประสิทธิภาพ จึงอยากให้คอมไพล์ออกมาเป็น Bash ล้วน
  • ความสับสนกับ Amber Smalltalk

    • มีความสับสนเพราะชื่อไปตรงกับ Amber Smalltalk และตอนนี้มีภาษาใหม่ที่ใช้ชื่อเดียวกัน