阅读更多

1顶
3踩

编程语言

原创新闻 Mozilla发布Rust语言编译器v0.1

2012-01-29 16:11 by 资深编辑 luiang1018 评论(4) 有7124人浏览
历经五年多的开发后,Mozilla和Rust社区发布了Rust语言编译器的首个alpha版本——v0.1。Rust是Mozilla开发的一门新编程语言,由Web语言的领军人物Brendan Eich(js之父)、Dave Herman以及Mozilla公司的Graydon Hoare等合力开发。该语言强调了并发性和内存安全,按照计划,其最终可能取代C++成为Mozilla的编译语言——未来Firefox将很可能(部分)用Rust重写。

更多一些关于Rust的内容:Rust是一个可被编译的、面向对象的静态类型语言(默认情况下对象是immutable的)。编译器支持Windows、Linux和Mac平台。Rust在功能上有意地抛弃了任何不切实际的概念,其构建于那些在其他语言中已有的知名功能上。语法方面,Rust使用了像C、C++以及JavaScript一样的花括弧{},但又比较新颖,查看下面的代码块。
use std;
fn main(args: [str]) {
     std::io::println("hello world from '" + args[0] + "'!");
}

这里我们可以将Rust与Google的Go做一比较。据Rust社区明确表示,Rust与Go语言并没有任何关系——其开发早于Go——倒是受Rob Pike开发的其他语言如Newsqueak、Alef和Limbo等影响较深。Rust与Go在功能上很相似,但Rust似乎更关注安全(security- and safety-orieted)。Go拥有全局的垃圾收集器、Null指针及可共享的mutable修饰符,Rust的GC则是可选的,不允许出现Null指针,且默认状态下对象是immutable的。

以下是Mozilla所描述的Rust v0.1的一些功能介绍:

  • 大多数语言支持功能,包括:unique指针、闭包、移动语义(move semantics);泛型接口约束;iDispatch接口;多线程任务模式;Typestate 断言等。
  • 可在Linux x86/x86_64、MacOS x86/x86_64以及Windows x86系统架构下运行。
  • 支持交叉编译及多目标(Muti-target)配置。
详细信息可参见Rust compiler 0.1的发行公告

不过就Rust语言的当前状态而言,其大多数功能虽然已经可用,但还不太完善。标准库API仍可能随时改变。在性能方面,Rust应该达到与C++一样的速度,但现在也尚未做到。Mozilla表示,v0.1还只是一个alpha版本(Mozilla提供了一个打包工具Windows安装器),因此开发人员目前应该仅是体验。

Rust语言的官网:http://www.rust-lang.org/

Via  extremetech

1
3
评论 共 4 条 请登录后发表评论
4 楼 qingyue 2012-01-30 19:54
百度推广的广告挺不匹配的  
3 楼 wj2699 2012-01-30 13:40
2 楼 bcw104 2012-01-30 09:36
D Rust Go,专注于哪一个好呢?
1 楼 mengyancui 2012-01-29 17:48
   

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • DWRACTION使用

    在dwr-action中除了基本配置外,需引入自己的转换器 [code="java"] [/code] 其中加入param是为了防止诸如: 11:07:49,500 INFO DefaultRemoter:51 - Exec: DWRAction.execute() 11:07:49...

  • Web.xml常用元素

    Web.xml常用元素  定义了WEB应用的名字 声明WEB应用的描述信息 ...context-param元素声明应用范围内的初始化... 过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联。 一旦命名了一个过滤

  • Java面试题(全)

    事务具有4个属性,通常称为ACID特性2.1原子性(atomicity)事务是一个完整的操作.事务的各步操作是不可分的;要么都执行、要么都不执行.2.2一致性(consistency)当事务完成时,数据必须处于一致状态.2.3隔离性...

  • 两周面试突击

    以下问题均来自网络,答案以及笔记也是自己去查阅总结的,技术能力有限,如有错误,请联系改正 1、java 初级、中级、高级工程师有什么区别? 技术不同,简单的可以理解为:初级中级的只关注代码,编程。高级的就要考虑...

  • 程序员找工作必看面试题1

    String 有没有 length( ) 这个方法?..... 27 59 、 使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 27 60 、 类与对象的关系是什么........................................ 27 61 、 ...

  • JAVA技术面试题

    1、 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?  可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。 2、 Java有没有goto?  java中的保留字,现在没有在...

  • JAVA开发全集

     //6���根据Qname创建相应的节点(QName就是一个带有命名空间的节点)���������ռ��)  QName qname = new QName(" http://java.zttc.edu.cn/webservice ",   "add","ns");//<ns:add xmlns=" ...

  • web.xml详解

    当值为负或未定义:Servlet容器将在Web客户首次访问这个servlet时加载它   12. Web应用图标:指出IDE和GUI工具用来表示Web应用的大图标和小图标   写道 <icon>  <small-icon>/images/app_small.gif...

  • Java面试-北大青鸟合肥科海学院

    内部资料,请勿外传 目录一、 Java基础部分... 111、 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?.. 112、 说说&和&&的区别。.. 113、 ...

  • Web.xml的配置及加载 .

    当值为负或未定义:Servlet容器将在Web客户首次访问这个servlet时加载它    12.Web应用图标:指出IDE和GUI工具用来表示Web应用的大图标和小图标   写道    <small-icon>/...

  • Struts2

    文档中有提到说ActionInvocation中实现了command模式,这点有点看不太懂,难道是迭代那些interceptor的intercept方法就是所谓的命令模式的实现,这个无非就是面向接口编程,难道命令模式本身就没什么内容? 该内容后续...

  • ProtoBuffer3文件转成C#文件Unity3D工具

    在Unity3D编辑器中一键将文件夹下的Proto文件转成C#文件。 此资源中包含Protobuf3相关dll和生成工具压缩包。

  • 企业员工岗前培训管理系统 SSM毕业设计 附带论文.zip

    企业员工岗前培训管理系统 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B

  • 软考冲刺 - 软考相关知识点

    软考冲刺 - 软考相关知识点

  • 毕业设计之mimo系统中中最大比合并和空时编码的性能研究

    本程序对mimo系统中中最大比合并和空时编码的性能研究

  • 史上最强NDK入门项目实战.zip

    史上最强NDK入门项目实战

  • java快速开发框架源码 企业通用开发平台框架源码数据库 MySQL源码类型 WebForm

    JAVA快速开发框架源码 企业通用开发平台框架源码 系统说明如下: 1、系统源码导入Eclipse、MyEclipse等IDE发布到应用服务器,例如Tomcat上即可运行。 2、导入系统后请将系统编码设置为UTF-8,不是GBK。SQL导入也是UTF8编码。 3、导入后如果出现感叹号,请修改实际的Java Build Path。 4、登录页面:4.1、Hibernate版本访问地址:http://localhost:8080/jeefw/login.jsp 4.2、Mybatis版本访问地址:MySQL版本和Oracle版本都是http://localhost:8080/ + 项目名,账号:admin 密码:1 5、系统默认数据库是mysql。Hibernate版本的applicationContext.xml配置文件里的mysql用户名是root,密码是123456; Mybatis版本在 dbconfig.properties修改。如果和您的不一样,请修改即可运行。 6、基于Bootstrap的Java企业通用开发平台框架只引用了一个第三方jar包

  • 流媒体线程下载,播放,(支持断点).zip

    流媒体线程下载,播放,(支持断点)

  • 一个基于C语言开发的面向底层设备驱动的驱动库项目资源.zip

    一个基于C语言开发的面向底层设备驱动的驱动库项目资源

  • JAVA的Springboot博客网站源码数据库 MySQL源码类型 WebForm

    Springboot博客网站源码 运行环境:idea+mysql5.7+jdk1.8+maven3 项目技术:SpringBoot MyBatis MySQL JQuery html 源码描述:游客可以浏览文章, 游客可以登录注册成用户,发布文章 管理自己的文章,评论和回复, 点赞评论回复文章等 管理员可以对整个系统用户管理,文章管理,分类管理,角色权限管理,评论管理等等

Global site tag (gtag.js) - Google Analytics