【软件构造】——课程篇 从数据类型和检查谈Rust语言的优异

        近日(好像也不算近日),在软构课上算是较为“系统地”学习了数据类型与类型检验地相关知识。其实最初接触这一块地知识算是之前学习Rust语言时第一次接触到。当时对于rust优异性的理解还仅限于大家的评价:高并发内存安全等。对于其性能的优异性的探查还并不了解。

rust是一门静态类型语言,这就意味着在编译时编译器可以推导出所有的表达式类型。同时需要注意的一点是,这个步骤在编译阶段完成,这与其强大的安全性是分不开的。rust具有强大的编译器cargo,保证了其在编译阶段就可以对程序潜在的所有错误进行检查。这与java的动态检查和静态检查概念有神似之处,但是比JAVA要好上不好,因为cargo相当于在编译阶段就对程序进行了“动态+静态”双检查,从而保证在编译阶段的代码就是一份“完美的代码”

        同时,rust需要显式的声明变量,即变量的可变与不变性是需要显式的声明的,正如课程中所讲,动态存储的变量会被存储在堆内存中,而静态存储的变量(即不变量)被存储在栈内存中,这就从变量的内存存储角度提供了安全性的问题。此外,rust中的“指针”也很有特点,指针在rust中被称作“引用”,其复杂精巧的设计保证了变量的可变性限制,防止非合法引用的出现(一切都是在编译过程中检查的!极其安全)。同时,特殊的引用机制也保证了内存的最大化利用与安全性。

        由此,从课堂上的知识出发分析rust语言,虽然其学习曲线十分的陡峭,但是其设计机制下的极高内存安全性让其从众多经典的语言中脱颖而出,成为目前一门逐渐被更多人掌握的应用,尤其在区块链这种对于代码安全性要求非常高的领域,rust正在越来越成crypto领域冉冉升起的底层新星!

        BTW,帮rust宣传下哈哈,rust的社区氛围真的做的非常好,代码库的上传与开源也做得十分出色,欢迎更多同学加入rust的大家庭哈哈哈!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值