Java语言毫无疑问地稳坐霸主位置了。如今很难找到哪台机器上没有安装JDK。有了虚拟机,确实很方便,不需要过多地考虑机器环境,一次编写到处运行基本实现了。但,隔着一层“虚拟机”,无论怎样优化,总还是比直接编译到本地指令慢些。

    C语言总还是有用武之地的。如果特别看重效率,比如一些核心算法,总是想着用C重写。

    C语言要想真正驾驭确实很难,而且不同程序员间水平差异巨大。要组个称心的团队,难啊。上个世纪七十年代的语言,奋斗到今日还要担纲主角,可以算个奇迹了。几十年的软件工程实践,已经为我们积累了宝贵的经验。需要恰当地反应到新语言中。

    Go语言希望能代替C,称为21世纪的C语言。GO的确也做得很好,至少是足够简单、实用。

    但,GO语言在语言层面并无太多的创新,仅仅是没有泛型,没有解构匹配就很可惜了。

    Rust语言则提出了很多革命性的解决方案。虽然比GO复杂,但其后的空间广阔!

    Rust采用了 所有权、引用借用、生命期等一系列全新的概念来解决内存分配的问题。这是所有高级语言要面对的头疼问题。C把责任全推给程序员,如果你思路不严谨,内存泄漏,活该!Java等一大部分后起之秀使用“垃圾回收”制度。管杀不管埋,有专门的收尸队。什么时候来收,你说了不算。

    Rust无垃圾回收,却实现了内存的自动管理。这是低成本、高效率的内存管理。所有可能出现的内存资源问题,都交给编译器搞定,不是在“运行期”修补!这恐怕是Rust最引以为豪的特性了。属于Rust宣称的:“零成本抽象”。

    Rust有很多激动人心的特性,比如泛型,比如对并发的支持(与Go语言类似)

    万事开头难,还是先安装一下环境吧。

------------------------------------

 登陆官网,下载Windows下的安装包,我选的是32位for GNU的。

rust-1.9.0-i686-pc-windows-gnu.msi

    安装很简单,几乎是一键完成。实际上,Rust可以不用安装,直接拷贝解压到某个目录下就可以的。安装只不过是自动设置了环境变量path指向了rust的bin目录。这对于我等程序员出身易如反掌。

    安装后做个小测试。随便找个位置,打开cmd窗口。输入: rustc --version

    如打印出版本信息,则安装成功了。

    再写个小程序试试。做个文本文件,改名:my.rs 内容:

fn main(){
       println!("hello, rust!");
    }

    先编译一下:  rustc my.rs

    看看目录下,是否生成了 my.exe, 运行它就可以了。

    作为程序员,总不能只用记事本,至少需要一个代码编辑环境,最少要能够代码着色啊,能代码提示、补全就更好。

    这里推荐:SublimeText3。

    从官方下载该编辑工具。免费版与注册版的差异是时不时弹出对话框,脸皮厚度够,这倒无大妨碍。

    sublimeText支持强大的插件扩展。

(1) 安装 package controler
ctrl + ` (tab 上方的键)
输入(很长,只有一行,是个python脚本):



import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())



等待完成,提示重启。

(2) 安装Rust插件

此时,preferences 下多了一项:package control, 运行它(有快键:ctrl + shift + p)

输入:ins,选install Packages

等待弹出可安装插件的列表。再输入rust,

安装前3个就可以了。

(3)其中的第3个插件,RustAutoComplete,代码自动补全,额外需要两个东西:一个是外部工具 racer, 一个是Rust编译器的源代码。

对于第一个,下载racer的rust源码,并编译。这需要Rust的管理工具cargo,已经随着rust发行了。

找个靠谱的位置,运行cmd,输入:

就会下载racer源代码(如果不知道git怎么安装,那个另一个问题)

然后,

cd racer

cargo build

等待编译完成吧......

一切ok后,到racer/target/debug 目录下寻找我们的产品: racer.exe

把它安排到个 path 能看见的位置。

对于第二项,直接到rust网站找到源码下载。下载后解压,做个环境设置:

RUST_SRC_PATH = D:\1_GREEN\RUST\rustc-1.9.0\src

这时候,cmd下,运行racer.exe 就不会出错了。

一切ok,回头设置 sublimeText:

preferences | package settings | RustAutoComplete | Settings - user

该文件中写入:

{ 
// racer.exe绝对路径 
"racer": "racer.exe", 
// rust源码文件路径 
"search_paths": [ "D:\\1_GREEN\\RUST\\rustc-1.9.0\\src" ]
}

重启 sublimeText, 应该可以自动代码补全了。