Fish Shell ซอฟต์แวร์ shell กลุ่มเดียวกับ Bash และ PowerShell ออกเวอร์ชั่น 4.0 Beta 1 เป็นเวอร์ชั่นแรกที่พอร์ตฟังก์ชั่นแกนกลางไปยังภาษา Rust นับเป็นความเปลี่ยนแปลงขนาดใหญ่ในเวอร์ชั่นหลักครั้งนี้ ฟีเจอร์เดียวแก้ไข 126 ไฟล์ มีการ commit ใน pull request ถึง 50 รายการ รวมเวอร์ชั่น 4.0 มีการแก้ไขไฟล์ 1155 ไฟล์ เพิ่ม 110,247 บรรทัด ลบ 88,941 บรรทัด
ridiculousfish หนึ่งในนักพัฒนาหลักของ Fish เสนอแนวทางนี้เมื่อต้นปี 2023 ระบุเหตุผลว่า "ไม่มีใครชอบ C++ หรือ CMake จริงๆ หรอก" เพราะกระบวนการเซ็ตอัพยุ่งยาก การใช้ C++ ทำให้นักพัฒนาใหม่ๆ เข้าร่วมได้ยาก และ Rust ยังเปิดทางให้สามารถรันงานแบบ concurrent ได้อย่างปลอดภัยขึ้นในอนาคต
Fish เป็น shell ที่เน้นฟีเจอร์ช่วยเหลือผู้ใช้อย่างหนักเพื่อให้เป็นมิตรกับผู้ใช้ที่สุดเท่าที่เป็นไปได้ ตัว shell มีความสามารถ syntaxhighlight และ autosuggest ในตัว ที่ผ่านมาฟีเจอร์เหล่านี้ไม่ลดประสิทธิภาพ shell ลงเพราะรันใน thread แยกออกไป แต่พอทีมงานต้องการรันงานเป็น multithread จริงๆ กลับพบว่ายากมาก ฟังก์ชั่นในภาษา C++ จำนวนมากไม่เป็น thread-safe การพอร์ตไปใช้ Rust จะทำให้การอิมพลีเมนต์ฟีเจอร์เหล่านี้ได้ง่ายขึ้น แถม Rust มีแนวทางพยายามทำ error message ให้อ่านง่าย ซึ่งตรงกับ Fish
ที่มา - Fish Shell Blog
Topics:
Open Source
Rust
Programming
Continue reading...
ridiculousfish หนึ่งในนักพัฒนาหลักของ Fish เสนอแนวทางนี้เมื่อต้นปี 2023 ระบุเหตุผลว่า "ไม่มีใครชอบ C++ หรือ CMake จริงๆ หรอก" เพราะกระบวนการเซ็ตอัพยุ่งยาก การใช้ C++ ทำให้นักพัฒนาใหม่ๆ เข้าร่วมได้ยาก และ Rust ยังเปิดทางให้สามารถรันงานแบบ concurrent ได้อย่างปลอดภัยขึ้นในอนาคต
Fish เป็น shell ที่เน้นฟีเจอร์ช่วยเหลือผู้ใช้อย่างหนักเพื่อให้เป็นมิตรกับผู้ใช้ที่สุดเท่าที่เป็นไปได้ ตัว shell มีความสามารถ syntaxhighlight และ autosuggest ในตัว ที่ผ่านมาฟีเจอร์เหล่านี้ไม่ลดประสิทธิภาพ shell ลงเพราะรันใน thread แยกออกไป แต่พอทีมงานต้องการรันงานเป็น multithread จริงๆ กลับพบว่ายากมาก ฟังก์ชั่นในภาษา C++ จำนวนมากไม่เป็น thread-safe การพอร์ตไปใช้ Rust จะทำให้การอิมพลีเมนต์ฟีเจอร์เหล่านี้ได้ง่ายขึ้น แถม Rust มีแนวทางพยายามทำ error message ให้อ่านง่าย ซึ่งตรงกับ Fish
ที่มา - Fish Shell Blog
Topics:
Open Source
Rust
Programming
Continue reading...