[简介]Rust语言

不想看我写的,直接跳官网:Rust programming language

简介:

Rust是一门系统编程语言 [1] ,专注于安全 [2] ,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。Rust在语法上和C++类似 [3] ,但是设计者想要在保证性能的同时提供更好的内存安全。 Rust最初是由Mozilla研究院的Graydon Hoare设计创造,然后在Dave Herman, Brendan Eich以及很多其他人的贡献下逐步完善的。 [4] Rust的设计者们通过在研发Servo网站浏览器布局引擎过程中积累的经验优化了Rust语言和Rust编译器。
Rust已经连续三年(2016,2017,2018)在Stack Overflow开发者调查的“最受喜爱编程语言”评选项目中折取桂冠。
--百度百科

口号:

Empowering everyone to build reliable and efficient software.

也就是说,Rust的本质在于赋能,让每个人都能写可靠高效的软件,让你在更广泛的编程领域走的更远,写出自信。
初学者可能会困惑,尤其是有其他编程语言背景的人,编程语言作为工具使用,锻炼思维,没其它能力呀,不理解怎么赋能,还能写出自信,搞传销呢?不理解没关系,以后慢慢就明白了。

特点:


  1. Rust没有运行时,没有垃圾收集器,有很快的运行速度,你可能会想,没有像Python,Java的运行时,那它写着和c一样慢吧,不是的,它有很好的表现能力,很高的抽象能力,效率刚刚的,可以运行在嵌入式系统中,也能很容易地整合其它语言。
  2. 可靠
    Rust有丰富的类型系统和所有权模型,不仅能保证内存和线程安全,还能帮你在编译时找到各种Bug,戏称“fighting compiler”。
  3. 高生产力
    Rust有丰富的文档,友好的编译器,各种各样的工具,比如:强大的包管理工具cargo,格式化工具fmt,调试工具clippy等。也支持很多编辑器,比如:sublime,vscode,intellij等。
    其实吧,目前生产力并不高,编辑器插件有各种bug,不过社团对这方面很重视。

目的:

创建这个新语言的目的是为了解决一个顽疾:软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升。Rust是针对多核体系提出的语言,并且吸收一些其他动态语言的重要特性,比如不需要管理内存,比如不会出现Null指针等等。

开源项目:

  1. 系统级语言当然写系统了,不像某o,说是系统级语言,却没法写操作系统。一个类Unix操作系统,目前各种功能已完备。
    Redox - Your Next(Gen) OS - Redox - Your Next(Gen) OS

  2. Mozilla的下一代浏览器引擎,中国目前没有自己的浏览器引擎。项目之大,可见一斑,Servo与Rust语言相辅相成。
    Servo, the parallel browser engine

  3. Cargo--Rust的编译器,已自举。
    The Cargo Book

示例代码:

fn main() {
    let greetings = ["Hello", "Hola", "Bonjour",
                     "Ciao", "こんにちは", "안녕하세요",
                     "Cześć", "Olá", "Здравствуйте",
                     "Chào bạn", "您好"];
 
    for (num, greeting) in greetings.iter().enumerate() {
        print!("{} : ", greeting);
        match num {
            0 =>  println!("This code is editable and runnable!"),
            1 =>  println!("¡Este código es editable y ejecutable!"),
            2 =>  println!("Ce code est modifiable et exécutable !"),
            3 =>  println!("Questo codice è modificabile ed eseguibile!"),
            4 =>  println!("このコードは编集して実行出来ます!"),
            5 =>  println!("여기에서 코드를 수정하고 실행할 수 있습니다!"),
            6 =>  println!("Ten kod można edytować oraz uruchomić!"),
            7 =>  println!("Esse código é editável e executável!"),
            8 =>  println!("Этот код можно отредактировать и запустить!"),
            9 =>  println!("Bạn có thể edit và run code trực tiếp!"),
            10 => println!("这段代码是可以编辑并且能够运行的!"),
            _ =>  {},
        }
    }
}

你可能感兴趣的:([简介]Rust语言)