阅读更多

1顶
3踩

编程语言

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

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

  • 毕业设计基于STC12C5A、SIM800C、GPS的汽车防盗报警系统源码.zip

    STC12C5A通过GPS模块获取当前定位信息,如果车辆发生异常震动或车主打来电话(主动请求定位),将通过GSM发送一条定位短信到车主手机,车主点击链接默认打开网页版定位,如果有安装高德地图APP将在APP中打开并展示汽车当前位置 GPS模块可以使用多家的GPS模块,需要注意的是,当前程序对应的是GPS北斗双模芯片,故只解析 GNRMC数据,如果你使用GPS芯片则应改为GPRMC数据即可。 系统在初始化的时候会持续短鸣,每初始化成功一部分后将长鸣一声,如果持续短鸣很久(超过20分钟),建议通过串口助手查看系统输出的调试信息,系统串口默认输出从初始化开始的所有运行状态信息。 不过更建议你使用SIM868模块,集成GPS.GSM.GPRS,使用更加方便

  • 基于tensorflow2.x卷积神经网络字符型验证码识别.zip

    基于tensorflow2.x卷积神经网络字符型验证码识别 卷积神经网络(Convolutional Neural Networks, CNNs 或 ConvNets)是一类深度神经网络,特别擅长处理图像相关的机器学习和深度学习任务。它们的名称来源于网络中使用了一种叫做卷积的数学运算。以下是卷积神经网络的一些关键组件和特性: 卷积层(Convolutional Layer): 卷积层是CNN的核心组件。它们通过一组可学习的滤波器(或称为卷积核、卷积器)在输入图像(或上一层的输出特征图)上滑动来工作。 滤波器和图像之间的卷积操作生成输出特征图,该特征图反映了滤波器所捕捉的局部图像特性(如边缘、角点等)。 通过使用多个滤波器,卷积层可以提取输入图像中的多种特征。 激活函数(Activation Function): 在卷积操作之后,通常会应用一个激活函数(如ReLU、Sigmoid或tanh)来增加网络的非线性。 池化层(Pooling Layer): 池化层通常位于卷积层之后,用于降低特征图的维度(空间尺寸),减少计算量和参数数量,同时保持特征的空间层次结构。 常见的池化操作包括最大池化(Max Pooling)和平均池化(Average Pooling)。 全连接层(Fully Connected Layer): 在CNN的末端,通常会有几层全连接层(也称为密集层或线性层)。这些层中的每个神经元都与前一层的所有神经元连接。 全连接层通常用于对提取的特征进行分类或回归。 训练过程: CNN的训练过程与其他深度学习模型类似,通过反向传播算法和梯度下降(或其变种)来优化网络参数(如滤波器权重和偏置)。 训练数据通常被分为多个批次(mini-batches),并在每个批次上迭代更新网络参数。 应用: CNN在计算机视觉领域有着广泛的应用,包括图像分类、目标检测、图像分割、人脸识别等。 它们也已被扩展到处理其他类型的数据,如文本(通过卷积一维序列)和音频(通过卷积时间序列)。 随着深度学习技术的发展,卷积神经网络的结构和设计也在不断演变,出现了许多新的变体和改进,如残差网络(ResNet)、深度卷积生成对抗网络(DCGAN)等。

  • 【三维装箱】遗传和模拟退火算法求解三维装箱优化问题【含Matlab源码 031期】.zip

    【三维装箱】遗传和模拟退火算法求解三维装箱优化问题【含Matlab源码 031期】.zip

  • 自己编写的python 程序计算cpk/ppk

    cpk&ppk python 小程序,品友点评

  • 基于Springboot开发的分布式抽奖系统.zip

    基于springboot的java毕业&课程设计

  • 课设毕设基于SpringBoot+Vue的影城管理系统 LW+PPT+源码可运行.zip

    课设毕设基于SpringBoot+Vue的影城管理系统 LW+PPT+源码可运行.zip

  • MC教育版(免登录版)

    MC教育版(免登录版)

  • 农作物叶片病害分类和分割数据集【数据集+标签】

    包含13993张数据和对应的13993张mask分割模版,数据集用不同目录保存,也可以用作分类数据集 类别包含:桃子、辣椒、覆盆子、大豆、南瓜、草莓

  • 基于vue+springboot二手交易网站.zip

    基于springboot的java毕业&课程设计

Global site tag (gtag.js) - Google Analytics