รู้จักกับภาษา Rust - มันคือ C/C++ แห่งโลกประมวลผลแบบขนาน

by mk
26 January 2012 - 08:13

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 ก็ขอยกมาจากเว็บต้นทางเลยนะครับ

  • Compilation model batch, ahead-of-time, C/C++ compatible
  • Type system static, structural-algebraic, with metadata
  • Type inference yes, only local variables
  • Generic types yes, only simple, non-turing-complete substitution
  • Concurrency isolated tasks, message passing
  • Unique pointers move semantics, no races or sharing
  • Memory safety no buffer overflow, use before init, NULL or free()
  • Immutability immutable by default, mutability is the special case
  • Garbage collection optional, per-task, only "shared" types
  • Error handling isolated tasks, unrecoverable unwinding
  • Text utf8 strings, ucs4 characters
  • Tier 1 platforms Linux, OSX, Windows
  • Developers Mozilla
  • License MIT

เป้าหมายสุดท้ายของ Rust คือเป็นภาษาที่มาแทน C++ ของฝั่ง Mozilla และในอนาคตเราอาจได้เห็นโค้ดบางส่วนของ Firefox ถูกแปลงเป็น Rust แทน C++

ที่มา - ExtremeTech

Blognone Jobs Premium