Mozilla发布Rust语言编译器v0.1
fmms 13年前
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>