当 Rust 遇上 Fedora

Rust 是什么?

Rust 是一种系统编程语言,它运行速度惊人,并且可以避免几乎所有的崩溃、内存区块错误 以及数据竞争。你也许会质疑为什么我们还需要又一种这样的语言,因为已经有很多同类的语言了。这篇文章将会告诉你为什么。

安全性 vs. 控制权

你也许见过上面的图谱。一边是 C/C++,对运行的硬件拥有更多的控制权,因此它可以让开发者通过对所生成的机器代码进行更精细的控制来优化性能。然而这不是很安全,这很容易造成内存区块错误以及像 心血漏洞 这样的安全漏洞。

另一边是像 Python、Ruby 和 JavaScript 这种没有给予开发者多少控制权但是可以创建出更安全的代码的语言。虽然这些代码可以生成相当安全并且可控的异常,但是它们不会造成内存区块错误。

在图谱中间的区域是 Java 和一些其它混合了这些特性的语言。它们提供对运行的硬件部分控制权,并且尝试尽量减少漏洞的出现。

Rust 有点不太一样,它并没有出现在这个图谱上。它同时提供给开发者安全性和控制权。

Rust 的特性

Rust 是一种像 C/C++ 一样的系统编程语言,除此之外它还给予开发者对内存分配细粒度的控制。它不需要垃圾回收器。它的运行环境runtime很小,运行速度接近于在裸机上的运行。它为开发者提供了代码性能更大的保证。此外,任何了解 C/C++ 的人都能读懂以及编写 Rust 的代码。

Rust 的运行速度非常快,因为它是一种编译语言。它使用 LLVM 作为编译器的后端,并且还可以利用一大堆优化。在许多领域,它的性能都要高于 C/C++。它像 JavaScript、Ruby 和 Python 一样,与生俱来就是安全的,这意味着它们不会造成内存区块错误、野指针dangling pointers或者空指针null pointers。

另外一个很重要的特性就是消除数据竞争。如今,大多数计算机都具有多个核心,许多线程并发运行。然而,开发者很难编写好的并行代码,因此这个特性除去了他们的后顾之忧。Rust 使用两个关键概念来消除数据竞争:

所有权Ownership
。每一个变量都被移动到一个新的位置,并防止通过先前的位置来引用它。每一个数据块只有一个所有者。

借用Borrowing
。被拥有的值可以借用,以允许在一段时间内使用。

在 Fedora 24 和 25 上使用 Rust

若要开始使用,只需安装软件包:

sudo dnf install rust

示例代码 helloworld.rs:

fn main() {    println!("Hello, Rust is running on Fedora 25 Alpha!");}

编译并执行:

rustc helloworld.rs./helloworld

在 Fedora 上可以执行以下命令来安装最新的测试版本:

sudo dnf --enablerepo=updates-testing --refresh --best install rust
时间: 2024-09-04 05:37:54

当 Rust 遇上 Fedora的相关文章

当Rust遇上Fedora会怎样

Rust 是什么? Rust 是一种系统编程语言,它运行速度惊人,并且可以避免几乎所有的崩溃.内存区块错误 以及数据竞争.你也许会质疑为什么我们还需要又一种这样的语言,因为已经有很多同类的语言了.这篇文章将会告诉你为什么. 安全性 vs. 控制权 你也许见过上面的图谱.一边是 C/C++,对运行的硬件拥有更多的控制权,因此它可以让开发者通过对所生成的机器代码进行更精细的控制来优化性能.然而这不是很安全,这很容易造成内存区块错误以及像 心血漏洞 这样的安全漏洞. 另一边是像 Python.Ruby

当Rust遇上Fedora

Rust 是什么? Rust 是一种系统编程语言,它运行速度惊人,并且可以避免几乎所有的崩溃.内存区块错误 以及数据竞争.你也许会质疑为什么我们还需要又一种这样的语言,因为已经有很多同类的语言了.这篇文章将会告诉你为什么. 安全性 vs. 控制权 你也许见过上面的图谱.一边是 C/C++,对运行的硬件拥有更多的控制权,因此它可以让开发者通过对所生成的机器代码进行更精细的控制来优化性能.然而这不是很安全,这很容易造成内存区块错误以及像 心血漏洞 这样的安全漏洞. 另一边是像 Python.Ruby

当 App Store 遇上电视,开发者的第四代 Apple TV 开箱体验

当 App Store 遇上电视,开发者的第四代 Apple TV 开箱体验 引子 2015 年 9 月,San Francisco.今年接近 100 华氏度的气温要比往年都更热,而 Apple 例行的秋季发布会也如期在这里举行.自从 iPhone 一战成名后,每年的 iPhone 旗舰机型都是移动通讯设备的业界标杆.而今年秋季发布会大家也自然地将重点放在了最新的 iPhone 6s 上.手机乏善可陈,除了硬件参数的一些常规升级外,我们并没有看到 iPhone 有多大进步.不过这也是大家预料之中

当草根站长遇上品牌运营公司时

笔者最近在优化一个汽车车位锁网站,关键词竞争度倒是不大,当笔者一查几个竞争对手时,发现除了有几个厂家外,居然还有一个品牌运营公司.当草根站长遇上团队作战,经验丰富的品牌运营公司时,笔者是如下分析与制定计划的. 一.网站整体分析 遇上车位锁品牌运营公司,笔者觉得分析网站不能只分析简单的seo数据.应该从网站设计与布局,流量导入,口碑营销与社会化营销等诸多分析. 1.网站结构与设计 该品牌运营公司的网站结构简单,设计简洁大气,也符合该公司定位中高端车位地锁用户.实际上,笔者公司也曾请人模仿了该站,但

快速浏览Silverlight3 Beta:当HLSL遇上Silverlight

HLSL高级着色器语言(High Level Shader Language,简称HLSL),由微软拥有及开发的一种语言,只能供微软的Direct3D使用. HLSL是微软抗衡GLSL的产品,同 时不能与OpenGL标准兼容.他跟Nvidia的Cg非常相似. 看了上面的几行话,可能大家还不是很清楚这个东西与当前的Silverlight的关系.其实在园子里的兄弟发过这篇文章,介绍"silverlight3滤镜效果". 而其在源码中所使用的.ps文件(注:这里不是powershell呀),

transport-使用ffmpeg遇上了问题,都搞了好几天了还是不能解决

问题描述 使用ffmpeg遇上了问题,都搞了好几天了还是不能解决 有个问题想请教一下,就是我使用ffmpeg命令获取rtsp流,然后转换成rtmp再播放,我使用的命令:ffmpeg -rtsp_transport tcp -i rtsp://218.204.223.237:554/live/1/0547424F573B085C/gsfp90ef4k0a6iap.sdp -f flv -r 25 -s 640x480 -an rtmp://localhost/myapp/stream1.但有错误:

当搜索引擎营销遇上SaaS(软件即服务)

本文讲的是当搜索引擎营销遇上SaaS(软件即服务),[IT168 资讯]互联网创造若干个神话,也造就无数的网络英雄,随着Web2.0应用的不断深入,销售人员的触脚已经延展到互联网的各个角落,就拿刚刚成立四年的网上提供高端步行和野营装备的Backcountry Edge公司而言,绝对不会放过任何一个营销机会,于是Clickable公司在去年推出新的软件即服务(SaaS)时,该公司马上报名参加测试该服务以求觅得销售良机. Clickable的服务宗旨是在搜索引擎营销的复杂性和乏味性上做减法,让用户能

金融和互联网好像北京遇上西雅图

本文讲的是金融和互联网好像北京遇上西雅图,中国工商银行电子银行部总经理侯本旗表示,金融和互联网好像不太一样,"金融长这样(吴秀波),稳重.可靠.有内涵.互联网长这样,漂亮.任性.烧钱.有魅力.当他们两个遇到一起就变成了这样,被拍成了一部电影<北京遇上西雅图>."他说,未来三年互联网金融势不可当. 以下为演讲实录: 侯本旗:金融和互联网好像不太一样,我不知道大家有没有想过金融长什么样,金融长这样(吴秀波),稳重.可靠.有内涵.互联网长这样(汤唯),漂亮.任性.烧钱.有魅力,当

献给天下的母亲:遇上你,三生有幸

忘不了这22年来,你含辛茹苦把我养大的恩情;忘不了这么多年来,你每日披星戴月的辛勤劳作;同样无法忘却的还有你从满头青丝到如今白发渐多的无悔付出!遇上你--我亲爱的妈妈,三生有幸! --题记 已经弃笔多时,久不写文有多日了.也有好多年没有为我的妈妈谱一曲赞歌了.这首歌不需要有多华丽的词藻,也不需要有多醉人的曲调,且听我慢慢道来我与我的母亲不可分割的缘分. 90年农历十月月二十五日,我在我母亲肚子里躁动不安,久久不肯出世.母亲说我是个折腾人的小家伙,从那日起,母亲就躺在床上,等着迎接我的到来.可是我