Image
By mk Founder on Tag: Rust, Programming
Rust

ภาษา Rust ฉลองอายุครบ 10 ปี นับจากการออกเวอร์ชัน 1.0 ในวันที่ 16 พฤษภาคม 2015 (เวอร์ชันก่อน 1.0 เก่ากว่านั้น เริ่มออกเวอร์ชัน 0.1 ในปี 2012)

เนื่องในโอกาสครบ 10 ปี Rust จึงออกเวอร์ชันใหม่ 1.87.0 ในวันนี้ ของใหม่คือ anonymous pipes อำนวยความสะดวกให้เชื่อมสตรีมข้อมูลเข้าด้วยกัน (เช่น 'stdout' กับ 'stderr'), เปิดให้โค้ดแอสเซมบลีที่ฝังมาใน 'asm!' สามารถเรียก jump ไปยังตำแหน่งที่ต้องการในโค้ด Rust ได้ เป็นต้น

ที่มา - Rust

By mk Founder on Tag: Ubuntu, Rust, Linux, Open Source, Security
Ubuntu

Ubuntu ประกาศเป็นดิสโทรลินุกซ์รายใหญ่ค่ายแรก ที่จะเปลี่ยนจาก sudo มาใช้ sudo-rs ที่เขียนด้วยภาษา Rust เพื่อป้องกันช่องโหว่หน่วยความจำ

โครงการ sudo-rs ได้รับเงินสนับสนุนจาก Internet Security Research Group (ISRG) กลุ่มวิจัยด้านความปลอดภัยอินเทอร์เน็ต ที่พยายามเขียนซอฟต์แวร์โอเพนซอร์สสำคัญๆ ใหม่ด้วย Rust โดยนอกจาก sudo แล้วยังมีตัวอื่น เช่น su, zlib และ Rustls ด้วย

By mk Founder on Tag: Rust, Programming, Open Source
Rust

ความเคลื่อนไหวน่าสนใจในวงการภาษา Rust นั่นคือ โครงการ Rust รองรับสเปกการเขียนโปรแกรม Ferrocene Language Specification (FLS) ส่งผลให้ภาษา Rust มีเอกสารสเปกของภาษาเป็นครั้งแรก

อ่านแล้วอาจสับสนอยู่บ้าง ต้องเท้าความก่อนว่า ภาษา Rust เกิดขึ้นในปี 2015 แม้ได้รับความนิยมแพร่หลายตลอด 10 ปี แต่ตัวโครงการ Rust ไม่เคยมีเอกสารสเปกของภาษาอย่างเป็นทางการ (official language specification) มาก่อน ซึ่งแปลว่าหากมีคนสร้างคอมไพเลอร์ Rust ขึ้นมาใหม่ อาจมีพฤติกรรมบางอย่างที่แตกต่างไปจากคอมไพเลอร์ของโครงการ Rust เอง

By mk Founder on Tag: Rust, Programming
Rust

โครงการภาษา Rust เผยผลการสำรวจข้อมูลนักพัฒนาประจำปี 2024 มีผู้ตอบแบบสอบถามสำเร็จทั้งหมด 7,310 คน น้อยลงกว่าในปี 2023 ที่มีผู้ตอบสำเร็จ 9,710 คน ด้วยเหตุผลเรื่องระยะเวลาเปิดแบบสอบถามที่สั้นกว่า

  • ระบบปฏิบัติการยอดนิยมของชาว Rust ยังเป็นลินุกซ์ ที่สัดส่วน 87.1% เพิ่มขึ้นจากปีก่อนที่ทำไว้ 85.4% ในขณะที่ Windows ตามมาที่ 44.4% และ macOS 29.7%
  • เครื่องมือพัฒนา (editor/IDE) ยอดนิยมยังเป็น VS Code ที่สัดส่วน 56.7% แต่ลดลงจากปีก่อน อันดับสองคือตระกูล Vi/Vim ที่ 30.2% และ Rust Rover ของ JetBrains ที่ 16.1%
By lew Founder on Tag: Linux, Rust, Kernel
Linux

Hector Martin นักพัฒนาเคอร์เนลผู้ดูแลโครงการ Asahi Linux ที่พยายามพอร์ตเคอร์เนลลินุกซ์ไปรันบน Apple Silicon ประกาศลาออกจากการเป็นผู้ดูแลเคอร์เนล หลังเกิดการโต้เถียงกันในประเด็นการ merge โค้ด Rust ในส่วน DMA

โค้ดที่โต้เถียงกันเป็น Rust binding สำหรับการเรียกฟังก์ชั่น DMA ซึ่งจำเป็นสำหรับเขียนไดร์เวอร์ แต่นักพัฒนาเคอร์เนลบางส่วน เช่น Christoph Hellwig เห็นว่าเคอร์เนลไม่ควรมาดูแลโค้ดเหล่านี้เอง แต่ควรปล่อยให้โค้ดไปอยู่ในโครงการไดร์เวอร์

By mk Founder on Tag: Rust, Kernel, Linux, Open Source
Rust

Greg Kroah-Hartman หรือ greg-kh หนึ่งในแกนหลักของนักพัฒนาเคอร์เนลลินุกซ์ ประกาศใน Git pull-request ของเคอร์เนล 6.14 ว่าตอนนี้สถานะของเคอร์เนลลินุกซ์นั้น "เกือบ" พร้อมแล้วสำหรับการเขียนไดรเวอร์ด้วยภาษา Rust อย่างจริงจัง

We are almost at the "write a real driver in rust" stage now, depending on what you want to do.

By lew Founder on Tag: Open Source, Rust, Programming
Open Source

Fish Shell ซอฟต์แวร์ shell กลุ่มเดียวกับ Bash และ PowerShell ออกเวอร์ชั่น 4.0 Beta 1 เป็นเวอร์ชั่นแรกที่พอร์ตฟังก์ชั่นแกนกลางไปยังภาษา Rust นับเป็นความเปลี่ยนแปลงขนาดใหญ่ในเวอร์ชั่นหลักครั้งนี้ ฟีเจอร์เดียวแก้ไข 126 ไฟล์ มีการ commit ใน pull request ถึง 50 รายการ รวมเวอร์ชั่น 4.0 มีการแก้ไขไฟล์ 1155 ไฟล์ เพิ่ม 110,247 บรรทัด ลบ 88,941 บรรทัด

By lew Founder on Tag: Curl, Rust
Curl

โครงการ curl ไคลเอนต์ HTTP ยอดนิยมประกาศถอดโค้ดโครงการ hyper ที่เป็นไลบรารีภาษา Rust หลังจากโค้ดนี้ได้รับบริจาคจาก ISRG มาสี่ปีแล้ว แต่ยังไม่สามารถพัฒนาให้ฟีเจอร์เทียบเท่า libcurl ได้

By lew Founder on Tag: Prisma, Rust, TypeScript, Programming
Prisma

Prisma โครงการ ORM ยอดนิยมประกาศแนวทางกรทำงานร่วมกับชุมชนเป็นชุดนโยบายหลายด้าน ตั้งแต่การประกาศฐานข้อมูลที่ีรองรับเป็นลำดับแรก, แนวทางการทำงานร่วมกับชุมชน, และการออกเวอร์ชั่นใหม่ที่จะคาดเดาได้ง่ายขึ้น แต่ประเด็นหนึ่งที่ระบุด้วยคือการถอดโค้ด Rust ออกจากโครงการหลัก

By lew Founder on Tag: SQLite, Open Source, Rust, Database
SQLite

Turso สตาร์ตอัพด้านฐานข้อมูล ผู้ดูแลโครงการ libSQL ที่เป็น fork ของ sqlite เพื่อแก้ปัญหา SQLite ไม่รับแพตช์ภายนอก ประกาศโครงการ Limbo ฐานข้อมูลใหม่เขียนด้วย Rust แต่ยังเข้ากันได้กับ SQLite

โครงการนี้เริ่มจากโครงการทดลองของ Pekka Enberg ทีมงานของ Turso โดยทดลองส่วนตัวอยู่ระยะหนึ่ง แม้ไม่ได้โปรโมทแต่กลับได้รับความสนใจ GitHub Star เกินพันและมีผู้ส่งแพตช์หลายสิบคน

By mk Founder on Tag: Rust, Library, Programming
Rust

การเกิดขึ้นของภาษา Rust ที่เป็น memory-safety ทำให้เราค่อยๆ เห็นกระบวนการเปลี่ยนผ่านไลบรารีหรือเครื่องมือพื้นฐานที่เดิมเขียนด้วย C/C++ มาเป็น Rust ซึ่งเหนือกว่าด้วยเหตุผลด้านความปลอดภัย และบางครั้งอาจมีประสิทธิภาพเพิ่มขึ้นด้วย

By mk Founder on Tag: Rust, GCC, Compiler, Programming, Open Source
Rust

โครงการ GNU Compiler Collection หรือ GCC เปิดตัวคอมไพเลอร์ภาษา Rust (gccrs) เป็นอีกทางเลือกหนึ่งนอกเหนือจากคอมไพเลอร์หลักของโครงการ Rust โดยตรง (rustc)

แนวทางของ GCC ต้องการเป็นชุดคอมไพเลอร์สำหรับภาษาโปรแกรมแบบครบวงจร และสร้างคอมไพเลอร์สำหรับภาษาต่างๆ ในชุดอยู่แล้ว (เช่น gccgo) กรณีของ gccrs ถูกพัฒนาขึ้นมาตั้งแต่ปี 2014 ก่อน Rust ออกเวอร์ชัน 1.0 ด้วยซ้ำ แต่ถูกทอดทิ้งไประยะหนึ่ง ก่อนมีนักพัฒนารายอื่นมารับช่วงโครงการต่อในปี 2019 แล้วพัฒนาต่อเรื่อยมา

By lew Founder on Tag: Microsoft, Virtual Machine, Open Source, Rust, Virtualization, CNCF
Microsoft

Microsoft Azure เปิดโครงการ Hyperlight ไลบรารีภาษา Rust สำหรับการรันฟังก์ชั่นขนาดเล็ก แต่แยกออกเป็น hypervisor ของตัวเองเพื่อเพิ่มความปลอดภัย ที่แม้แอปพลิเคชั่นถูกแฮกตัวแฮกเกอร์ก็ไม่สามารถเจาะโปรเซสอื่นๆ ที่อยู่ในเครื่องเดียวกันได้

Hyperlight ใช้เวลาเริ่มโปรเซสประมาณ 1-2ms อยู่ตรงกลางระหว่างการรัน sandbox ปกติที่ใช้เวลาน้อยกว่า 0.03ms เท่านั้น กับการรัน VM เดิมๆ ที่ใช้เวลาอย่างน้อยๆ 120ms แนวทางการรันแอปพลิเคชั่นบนระบบ virtual machine โดยตรงเช่นนี้มีหลายคนพยายามทำมาก่อนแล้ว เช่น Firecracker ของ AWS

By arjin Writer on Tag: TIOBE, Programming, Python, Rust, Mojo
TIOBE

TIOBE รายงานอันดับความนิยมภาษาเขียนโปรแกรมประจำเดือนตุลาคม 2024 โดยวัดจากจำนวนการค้นหาผ่านช่องทางต่าง ๆ ซึ่ง 3 อันดับแรกเป็น Python, C++ และ Java เหมือนกับเดือนกันยายน (Java แซง C มาเป็นอันดับ 3 ตั้งแต่เดือนที่แล้ว)

Paul Jansen ซีอีโอ TIOBE ให้ความเห็นจากอันดับที่ออกมา สะท้อนว่านักพัฒนาเริ่มมองหาภาษาอื่นมาแทน Python บนเงื่อนไข เรียนรู้ได้ง่าย ปลอดภัย และทำงานได้เร็ว โดยเขามองว่ามีภาษาที่สามารถแทนที่ได้เช่น Rust หรือ Mojo

By mk Founder on Tag: Rust, Android, Google, Security, Programming
Rust

กูเกิลเผยสถิติจากการใช้ภาษา Rust ในระบบปฏิบัติการ Android มาตั้งแต่ปี 2019 เป็นเวลาราว 6 ปี ว่าช่วยลดช่องโหว่ที่เกี่ยวข้องกับหน่วยความจำลงได้มาก จากฟีเจอร์ด้านหน่วยความจำที่ระดับตัวภาษา ถือเป็นมาตรการความปลอดภัยระดับสูงที่ทรงพลังมาก

แนวทางของกูเกิลคือเขียนโค้ดใหม่ของ Android ด้วยภาษา Rust ที่เป็น memory safe language ส่วนโค้ดเก่าพยายามคงจำนวนไว้ไม่ให้เพิ่มขึ้นมาก ผลคือสัดส่วนโค้ดที่เป็น memory safe ค่อยๆ เยอะขึ้นเรื่อยๆ (ตอนนี้ประมาณ 2:1 ระหว่างโค้ดเก่า vs โค้ดใหม่) แต่ผลที่ได้คือช่องโหว่ความปลอดภัยที่เกี่ยวกับ memory safety ลดลงอย่างมาก

By mk Founder on Tag: Rust, Android, Google, Programming, C, C++, Firmware
Rust

กูเกิลเผยรายละเอียดผ่าน Google Security Blog ถึงการเปลี่ยนโค้ดเฟิร์มแวร์ Android จากของเดิมที่เป็น C/C++ มาเป็น Rust เพื่ออาศัยจุดเด่นเรื่องความปลอดภัยหน่วยความจำ (memory-safe) ที่ระดับภาษา

กูเกิลเริ่มใช้ Rust ใน Android มาตั้งแต่ปี 2021 และได้ผลเป็นอย่างดี กรณีนี้ กูเกิลบอกว่าต้องการโชว์ให้เห็นว่าการเปลี่ยนโค้ด C/C++ มาเป็น Rust โดยตรงชนิดใช้แทนกันได้เลย (drop-in replacement) เป็นเรื่องที่สามารถทำได้จริงที่ระดับเฟิร์มแวร์

By lew Founder on Tag: Cloudflare, Rust
Cloudflare

Cloudflare รายงานถึงการอัพเกรด Ruleset Engine ที่ก่อนหน้านี้ไม่มีความสามารถในการทำ pattern matching แบบ globbing ทำให้การเขียนกฎต่างๆ ทำได้จำกัดมาก แม้จะมีฟีเจอร์อื่นๆ เพิ่มเข้ามา สุดท้ายต้องสร้างไลบรารีของตัวเองในชื่อ wildcard

การทำ pattern matching แบบ globbing มีการใช้งานเป็นวงกว้าง เช่น การแสดงไฟล์ตามเฉพาะนามสกุล .jpg เท่านั้น แต่การใช้งานของ Ruleset Engine จะซับซ้อนกว่าการตรวจว่าข้อความตรงกับ pattern ที่ระบุหรือไม่ เพราะต้องนำข้อความที่ match มาแปลง เช่น การ redirect ไปยังเซิร์ฟเวอร์อื่นๆ โดยใช้ URL เดิม

By lew Founder on Tag: Linux, Rust, QR Code, Kernel
Linux

โครงการย่อย DRM ส่งแพตช์อัพเดตเข้าโครงการลินุกซ์หลักเพื่อเตรียมรวมเป็นลินุกซ์ 6.12 โดยรอบนี้มีความพิเศษคือเพิ่มตัวเลือกแสดงหน้าจอแครชเป็น QR ได้

By lew Founder on Tag: Linux, Rust, Kernel
Linux

Wedson Almeida Filho หนึ่งในผู้ดูแลโครงการย่อย Rust for Linux ประกาศถอนตัวจากโครงการหลังดูแลโครงการนี้มา 4 ปีเต็ม ระบุเหตุผลว่าเบื่อที่จะต้องมาตอบโต้เรื่องที่ไม่ใช่เรื่องเทคนิค

By lew Founder on Tag: Rust, Programming, DARPA
Rust

DARPA องค์กรให้ทุนวิจัยของกระทรวงกลาโหมสหรัฐฯ ประกาศโครงการ Translating All C to Rust (TRACTOR) สร้างระบบแปลงโค้ดจากภาษา C มาเป็น Rust โดยยังได้โค้ดคุณภาพสูงใกล้เคียงกับที่โปรแกรมเมอร์ Rust มาเขียนเอง

Dan Wallach ผู้จัดการโครงการของ DARPA ยอมรับว่าทุกวันนี้ LLM แปลงโค้ดข้ามภาษากันเป็นปกติอยู่แล้ว เราสามารถโยนโค้ดภาษา C ให้ LLM แปลงเป็น Rust กันได้ แต่บางครั้งผลก็ดีมาก บางครั้งก็แย่ โครงการ TRACTOR มุ่งสร้างระบบแปลงอัตโนมัติที่จะแปลงโค้ดได้คุณภาพดีสม่ำเสมอ

Subscribe to Rust