Tag: rust

Subscribe to Feed of articles under rust

  1. "Smoothing Your Rust Crates Release With Cargo-release"

    Cargo-release is a cargo subcommand that automates your libraries release process. The idea was inspired by Clojure's leiningen, which has a release command does exact same thing.

    Typically, when you decide to release a library to crates.io, you need to go through following steps at least:

    • bump version in …
  2. "Handlebars 的 rust 实现"

    本来一度感觉到用过 Clojure 之后很难对新语言产生兴趣了,还好遇到了 Rust 再次激活了这方面的生命力。今年的重点之一是学习 Rust 语言,方便自己能真正 touch bare metal。1月17号的 Rust 聚会上发现很多人都持有类似的想法。 C++ 之后鲜有这种语言,以至于之后成长起来的一代人都是在一个 VM 里编程,无论是 Java 还是 Python,最终都没有办法自己去管理内存,Rust 的出现给了大家一个机会。一个具备现代特性的系统编程语言,Zero runtime,可以运行在各种设备上。去年还给程序员杂志写了一篇 Rust 的文章,结果导致现在程序员杂志停刊了。

    扯远了,和当时学 Clojure 一样,这次的计划还是写一个正经的项目来促进学习。关于时机的选择,主要是 crates.io 仓库的发布基本上标志生态圈开始建立了,这个时候写东西就方便很多了。

    这次选的就是实现 Handlebars …

  3. "在 Docker 中安装和使用 Rust nightly 版本"

    一直关注 Rust 语言,最近一下发现了两个 web 框架,IronNickel.rs。先不说这两个框架成熟度如何,一般情况下,一个语言有了 web 框架,算是一个里程碑,说明他离靠谱也不远了。这样我决定跟一下 nightly 版本(新框架都是跟 nightly),另外也能感受一下 Yehuda Katz 的构建工具 Cargo。ArchLinux 的仓库里已经有 0.11 版本,再用脚本安装必然会有冲突。于是想到了最近半年最火的 Docker,可以轻松的创建多个环境,正是一个非常好的场景。

    安装

    安装 Docker, Arch Linux 仓库里很早就有,非常方便:sudo pacman -S docker。完成之后启动他 …

  4. "Rust语言:安全的并发"

    本文原载于2014年3月《程序员》杂志编程语言专题。

    Rust 语言是近两年来 Mozilla 正在开发的一种新编程语言,它以并发,安全和实用为口号,主要使用场景是系统编程,用来取代C++语言的角色。有人戏称 Mozilla 由于大量使用 C++,深知其弊端,所以诞生了 Rust。目前,Rust 的两个主要产品是 Mozilla 下一代的浏览器布局引擎 Servo 和 Rust 编译器。由于语言在快速的开发和演进中,每个版本都会产生一些不兼容的变更,所以现在并非是学习这门语言细节并真正使用它的最佳时机。不过,这并不影响我们了解 Rust 语言:作为多年来鲜有的新系统编程语言,他本身有很多新颖之处,也可以帮助我们了解一些编程语言设计的流行趋势。

    并发

    和现在流行的很多新语言一样,Rust 在语言层面支持了绿色线程(Green threads):Task。Task 作为并发执行的单元,是用户空间的“线程”,创建和调度成本较低 …