LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 还在担心你的程序不够健壮吗?赶紧入坑rust吧

还在担心你的程序不够健壮吗?赶紧入坑rust吧

2019-07-10 不详 来源:网络

作为一名c/c++ 程序员,最大的痛苦莫过于解决内存溢出或泄漏的问题,即使是最有经验的程序员,也会写出非常不健壮的代码,而且这个代码很有可能在未知的某个时刻出现崩溃。导致这个问题的罪魁祸首当然就是内存的使用太过于自由了,作为一个底层编程语言,甚至可以底层到可以和硬件直接打交道,在学会了c/c++技能后,程序员确实可以为所欲为,但这种给程序员的自由也给企业带来很大的困惑,因为一个经验不太足的程序员确实可以用简单的代码给企业带来非常大的杀伤力!

这或许是影响c语言一统世界的最根本原因,现在终于出现了一门语言,可以让老板再也不用担心员工写不出安全的代码!这个语言就是rust,相比c或c++的自由,rust是在他规定的条条框框内,给予程序员一定的自由!实际上,我们人生活在世界上也是受一些条条框框约束。记得康德曾经说过,自由不是你想做什么就做什么,而是你不想做什么可以不做什么。

640 wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

rust问世以来解决的程序员届的第一个痛点问题就是安全,而随着区块链行业的兴起,越来越多的区块链项目也采用rust作为编程语言。我认识的好多区块链程序员,现在就转行跳到了rust这个坑里,大家如果想入坑,现在还算是早期!近期别谈到最多的区块链项目毫无疑问是libra,该项目就是采用rust语言编写,所以可见rust已经可以有它的用武之地了!

rust是一个静态类型语言,它需要编译,它的运行效率超过java,仅次于c/c++等,它的编译器就像是一个古板的老学究一样,rust程序员需要强大的耐心去写出符合编译器要求的代码,当然这些代码在编译器看来合格之后,运行起来几乎就没有问题了,这简直就是老板们的最爱!

rust的知识点非常多,学习曲线也非常陡峭,本人建议区别于其他语言学习,rust语言学习还是应扎紧篱笆,循序渐进!当然不管在陡峭的学习曲线,安装环境始终是第一位的!rust在安装非常简单,在有网络的情况下一条命令就搞定了!(官网地址)

  • for unix(macos,linux)

curl https://sh.rustup.rs -sSf | sh

  • for windows

下载rustup-init.exe

第一个rust程序,惯例都是hello-world。

fn main() { println!("hello world");}

我们都知道main函数作为程序执行入口,这一点rust与其他语言一样。fn作为函数关键字,真的是简洁了好多!println!这是一个宏,凡是以!结尾的函数名字,都可以理解为一个宏,rust对宏的使用非常灵活!每句话仍然是以;作为结尾。

运行一下试试,将上述代码保存为 hello.rs

rustc hello.rs

编译后我们将得到 hello(windows下为hello.exe)

.\hello

将会顺利的输出hello-world.

学习rust编程,最显著的特点是任何事情都要显性声明,比如你要修改一个变量,那么你必须把变量声明为可修改的,否则的话,对不起,你没有资格修改该变量!

fn main() { println!("{: }", plus_one(x)); let mut z:i32 = 5; plus_one2(&mut z); println!("{: }", z);}fn plus_one(x: i32) -> i32 { x + 1 // 不能有分号}fn plus_one2(x: &mut i32) { *x += 1;}

这是一个通过函数修改变量值让其加1的例子,对于z变量来说,它的类型是i32,这对于程序员很好理解,mut则是修饰这个变量是mutable的,也就是可以修改的,否则z的值在后面的代码中将不可以被修改!在plus_one中,是通过返回值将变量结果增加进行返回,注意x+1后是没有分号的,这也是rust语言的特点。而 plus_one2 则是直接通过指针修改z的结果,这就需要函数声明时同样声明参数类型为&mut,否则编译将不能通过。

好了,本文简单介绍了一下rust理念,以及两个小例子让大家大概了解rust到底是想做一个什么样的编程语言,只要能搞定编译器就能获得相对安全的代码质量,rust技能,你绝对值得拥有!

想要了解更多请锁定柏链项目学院公开课以及官网,柏链项目学院官网链接:http://pdjedu.com/(在官网注册,将会附赠体验课程,也有往期公开课回方入口)。

7月11日和7月12日晚间20:00,柏链项目学院将开展两期区块链技术公开课,公开课讲师分别是公链亦来云高级技术顾问以及我自己,欢迎各位想学技术的程序爱好者莅临直播间预约观看。

640 wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

640 wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

—-

编译者/作者:不详

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...