Mozilla发布Rust语言编译器v0.1

fmms 12年前
     Mozilla Labs和Rust社区    <a href="/misc/goto?guid=4958326619817302952">发布了</a>Rust语言编译器的    <a href="/misc/goto?guid=4958326620617379948">第一个alpha测试版</a>。    <a href="/misc/goto?guid=4958326621415688942">Rust语言</a>突出了并发和内存安全,如果一切按计划进行,Rust将替代C++成为Mozilla的编译语言,未来Firefox将部分用Rust重写。    <br />    <br />    <p>Rust是一种可被编译、静态类型、面向对象程序语言,编译器支持Windows、Linux和Mac。<br /> 由web语言的领军人物Brendan Eich(js之父),Dave Herman以及Mozilla公司的Graydon Hoare 合力开发。<br /> <br /> </p>    <p>创建这个新语言的目的是为了解决一个很顽疾的问题:软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升。Rust是针对多核体系提出的语言,并且吸收一些其他动态语言的重要特性,比如不需要管理内存,比如不会出现Null指针等等。</p>    <p><a href="/misc/goto?guid=4958326622200081006" target="_blank">Rust </a>最早是在今年7月的Mozilla的社区峰会上公之于众的,当时就有人问以后是否会用Rust重写Firefox,Brenda说希望如此。Rust目前还处于初期的开发阶段,开发团队目前并不想花太多的时间在语法上,不过他们还是提供了一小段代码:</p>    <p> </p>    <p></p>    <pre class="brush:javascript; toolbar: true; auto-links: false;">iter pairs() -> tup(int,int) {     let int i = 0;     let int j = 0;      while (i < 10) {        put tup(i, j);        i += 1;        j += i;      }    }    fn main() {      let int i = 10;      let int j = 0;      for each (tup(int,int) p in pairs()) {          log p._0;          log p._1;          check (p._0 + 10 == i);          i += 1;          j = p._1;        }      check(j == 45);    }</pre>    <p> </p>