Rust เป็นภาษาโปรแกรมภาษาใหม่ที่พัฒนาโดย Mozilla โดยมุ่งเป้าว่าต้องการเป็นภาษาสำหรับงานประมวลผลที่ทำงานพร้อมๆ กัน (concurrency) และทำงานบนระบบขนาดใหญ่ ออกแบบมาไม่ให้มีปัญหาด้านหน่วยความจำอย่าง buffer overflow
การใช้งานจะเป็นระบบคอมไพล์ ตัว syntax ของภาษาจะคล้ายกับ C/C++ คือเป็นภาษาที่ใช้วงเล็บปีกกา {} และประกาศตัวแปรแบบ static
ตอนนี้สถานะของ Rust ยังเป็นเวอร์ชัน 0.1 รุ่นทดสอบ ความสามารถและประสิทธิภาพยังไม่สมบูรณ์มากนัก ตัวซอร์สโค้ดของเครื่องมือต่างๆ เปิดเป็นโอเพนซอร์สด้วยสัญญาอนุญาตแบบ MIT (โค้ดอยู่บน GitHub)
ตัวอย่างโค้ดในภาษา Rust
use std; import std::io; fn main() { for i in [1, 2, 3] { io::println(#fmt("hello %d\n", i)); } }
คุณสมบัติอื่นๆ ของภาษา Rust ก็ขอยกมาจากเว็บต้นทางเลยนะครับ
เป้าหมายสุดท้ายของ Rust คือเป็นภาษาที่มาแทน C++ ของฝั่ง Mozilla และในอนาคตเราอาจได้เห็นโค้ดบางส่วนของ Firefox ถูกแปลงเป็น Rust แทน C++
ที่มา - ExtremeTech
Comments
มี <br> ด้วย อิอิ
มันย่อซะจนแอบงงนะเนี่ย fn เอง fmt เอย
มันจะไม่ได้มาเป็น C/C++ ก็เพราะว่าภาษามันอ่านยากนี่ล่ะ
ชื่อไม่เป็นมงคลเลย Rust -> ถูกทิ้งให้สนิมขึ้น ??
ฮาๆครับ
twitter.com/djnoly
ดีนะที่ไม่ใช่ io::prtln(#fmt("hello %d\n", i));
ดีนะที่ไม่ใช่ io::prtln(#fmt("hlo %d\n", i));
ดีนะที่ไม่ใช่ io::ptl(#fmt("hl %d\n", i));
~ HudchewMan's Station & @HudchewMan~
จะเพิ่มภาษาอะไรกันมาอีกเยอะแยะใช้ syntax แบบ C/C++ ที่มีอยู่แล้วมันลำบากมากหรือไงนะ แทนที่จะเอาเวลาไป improve C++ compiler ยังจะดีซะกว่า เบื่อพวกโปรแกรมเมอร์ก้อตรงนี้แหละ ไม่อยากเห็นศาสดาภาษาโปรแกรมมิ่งเพิ่มแล้ว เบื่อ - -
ตัวเลือกเยอะย่อมดีกว่า เขาไม่ได้บังคับใช้น่ะ
ก็ C++ มันยุ่งยากไร้สาระเกินความจำเป็นน่ะครับ และบางทีก็ไม่เหมาะกับบางงาน
แถมไลบรารี่เก่าๆก็รกไปหมด Legacy ขยะก็มีเพียบ ไล่โค้ดก็ยาก
C++0x ก็พยายามแก้ แต่ก็ได้แค่นั้น
แต่ผมว่าเพราะความยุ่งยากนั่นแหละทำให้มันยืนหยัดอยู่จนทุกวันนี้
เหมือน C/C++ แต่เห็นแล้วคิดถึง Python นิดๆ
ทำให้มันใช้ integrate กับ C/C++ compiler ด้วยนะ จะได้นัวแบบ Objective-C
มีตัวอย่างแบบที่ได้อานิสงส์จากการประมวลแบบขนาน เช่น bitonic sort ไหมครับ แล้วมันได้ประโยชน์จาก GPGPU ด้วยไหม
ตรงที่เป็นบรรทัดเดียว แต่มีมากกว่า 1 statement คือ ทำขนานกันได้
aka ohmohm
ดูมีประโยชน์ แต่ต้องใช้สมาธิเวลาอ่าน ไม่งั้นจะงงว่า statement เดียวกัน เวลาตาลาย
คำตอบของข้า คือ ประกาศิต
Rust มันแตก tasks แบบนี้หรืิอเปล่า และมี Ports and channels ทำหน้าที่คล้ายๆ IPC
aka ohmohm
Rust version 0.2 มาแล้ว
aka ohmohm