阅读更多

1顶
3踩

编程语言

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

2012-01-29 16:11 by 资深编辑 luiang1018 评论(4) 有7125人浏览
历经五年多的开发后,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方法就是所谓的命令模式的实现,这个无非就是面向接口编程,难道命令模式本身就没什么内容? 该内容后续...

  • Python项目-自动办公-56 Word_docx_格式套用.zip

    Python课程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

  • 《松鼠》生态性课堂体验教案.docx

    《松鼠》生态性课堂体验教案

  • Java系统源码+智慧图书管理系统

    Java系统源码+智慧图书管理系统 内容概要: 本资源包含了完整的Java前后端源码及说明文档,适用于想要快速搭建并部署Java Web应用程序的开发者、学习者。 技术栈: 后端:Java生态系统,包含Spring Boot、Shiro、MyBatis等,数据库使用Mysql 前端:Vue、Bootstrap、Jquery等 适用场景示例: 1、毕业生希望快速启动一个新的Java Web应用程序。 2、团队寻找一个稳定的模板来加速产品开发周期。 3、教育机构或个人学习者用于教学目的或自学练习。 4、创业公司需要一个可以立即投入使用的MVP(最小可行产品)。

  • 基于ssm+jsp实现的超市管理系统高级版v2-lw.zip

    项目包含前后台完整源码。 项目都经过严格调试,确保可以运行! 具体项目介绍可查看博主文章或私聊获取 助力学习实践,提升编程技能,快来获取这份宝贵的资源吧!

  • 《松鼠》教学方案.docx

    《松鼠》教学方案

  • 基于ssm的计算机课程实验管理系统源代码(完整前后端+mysql+说明文档+LW).zip

    学生角色 学生用户在系统的前台界面可以浏览站内新闻、系统公告等公共的信息,在进行了注册和登录等操作后可以进入个人后台管理界面,对自己的个人信息进行管理,还可以进行实验成绩查看和实验交流等操作。 教师角色 教师用户也可以正常使用本系统的前台功能,但最主要的功能还是在个人后台界面中。在教师的个人后台界面中,首先教师可以管理自己的个人信息,还可以对学生进行实验任务书下达,对学生的实验成果和实验成绩管理等操作。 管理员角色 系统管理员可以管理整个系统的数据,比如可以管理教师和学生的个人资料,对违反了网站及学校实验室规定的同学可以进行删除。除了管理教师和学生的信息外,管理员用户还可以对公告信息及新闻信息等进行管理。 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7

  • 毕业设计-0-1背包问题动态规划模型Python代码.rar

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、本项目仅用作交流学习参考,请切勿用于商业用途。

  • 基于ssm的大创项目申报管理系统源代码(完整前后端+mysql+说明文档+LW).zip

    管理员 管理员管理 工作人员管理 用户管理 公告信息管理 往届项目管理 工作人员 个人资料修改 公告查看 项目申报信息管理,发布(项目申报信息、要求、时间节点等信息) 项目模板管理 往届项目查询 用户 个人资料修改 公告查看 项目模板下载 项目申报信息查看 我的项目申报 项目申报结果查看 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7

  • 福禄寿FloruitShow - 多一个世界 [mqms].ogg

    福禄寿FloruitShow - 多一个世界 [mqms].ogg

Global site tag (gtag.js) - Google Analytics