专栏名称: 码农翻身
工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训, 不容错过。
目录
相关文章推荐
码农翻身  ·  千万别学Rust! ·  2 天前  
今天看啥  ›  专栏  ›  码农翻身

千万别学Rust!

码农翻身  · 公众号  · 程序员  · 2024-11-06 17:30

主要观点总结

本文主要描述了程序员张大胖在学习Rust编程语言时遇到的挑战和困惑。他通过实践了解到Rust的借用和所有权机制,意识到这些限制是为了保证内存安全。文章通过张大胖的经历介绍了Rust编译器的严格限制以及其在系统级编程中的优势。

关键观点总结

关键观点1: Rust介绍及特点

Rust是一种编程语言,具有严格的内存安全规则,通过所有权和借用机制来管理内存。Rust旨在提高内存安全性,无需垃圾回收机制。

关键观点2: 张大胖的学习经历

张大胖作为编程语言的爱好者,尝试学习Rust并编写程序,遇到了许多挑战,如理解所有权、借用和类型推断等概念。他通过实践逐渐理解这些规则的目的和重要性。

关键观点3: Rust的所有权和借用机制

Rust具有严格的所有权和借用规则,确保同一时刻只有一个可变借用或多个不可变借用,防止数据竞争和内存安全问题。这些规则通过编译器强制实施。

关键观点4: Rust在系统级编程的优势

Rust能够满足系统级编程的要求,包括快速、小型的运行时、直接访问内存以及内存安全。这些优势使得Rust成为替代C/C++的有力候选者。

关键观点5: Rust的内存安全理念

Rust通过严格的内存安全规则来避免常见的内存错误,如悬空指针和数据竞争。每个对象都有唯一的“主人”以及严格的读写限制,这些规则通过编译器来执行。


文章预览

张大胖被别人安利了一个新的语言:Rust,说是将来会替代C语言,就连Linux都要使用Rust了。 作为编程语言的狂热爱好者,他自然要尝试一番。  第一个程序自然是hello world,太简单了,都懒得去写,看看就行了: fn  main ()   {    println!( "hello world" ); } 张大胖原来用过C语言, 当时觉得非常不爽的是它本身没有内置常用的数据结构,比如一个可以动态增长的数组,这Rust怎么样呢? fn  main ()   {     let v = Vec:: new ();  //创建了一个数组     v.push( 4 );   // 向数组添加一个元素 } 张大胖写下let就意识到,这里是将值(数组)绑定到变量v , 应该是借鉴了Lisp的 模式匹配 ,可以预见将来会遇到这样的代码:  let  (name,age) = ( "Andy" , 30); 还有就是这Rust具备自动类型推断能力,这点挺不错的。  编译吧!咦,居然失败了,错误信息是:cannot borrow `v` as mut ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览