Rust无法流行起来

Rust 据说是最安全的编程语言.

今天简单学习了一下,感觉并不是那么的容易接受.

根据我的经验, 凡是复杂的东西, 必然很难推广.

从设计上来说确实是挺安全的, 考虑的很多 .

但是我感觉Rust 编译器强制让程序员注意变量作用域的范围. 引入了很多奇奇怪怪的限制. 增加了思考的维度. 这不是一个好的选择.

应该考虑增加一些其它的机制来一次性解决内存安全的问题, 而不是全部交给程序员来解决. 每个变量在使用的时候要注意这个变量是否还存在的问题. 这不是一个非常好的选择. 如果能让编译器或者某种程序来解决这种问题. 那么最好是交给程序来解决. 交给程序员来解决, 那将是非常麻烦的.

可以定义一种规约限制变量的作用域, 划清某些边界和界限. 目前是每个变量的使用有很多违反直觉的方面.

最好的机制, 应该是让程序员感觉不到它的存在. 而不是让程序员时时刻刻的考虑到它的存在.

当然我也看到了rust中有些优秀的地方. 例如

rust 复制代码
{
    // 在声明以前,变量 s 无效
    let s = "runoob";
    // 这里是变量 s 的可用范围
}
// 变量范围已经结束,变量 s 无效

变量范围,确实挺好的, 而且编译器后面增加了自动销毁变量的功能 .

1.去掉了指针,

2.保留了引用.

3.支持泛型

4.代码简化.

我感觉Rust最主要的缺点是代码阅读起来并不是那么的直观易懂. 主代码逻辑隐藏在大量的 各种符号 { } 中. 非常不便于代码理解.

总之感觉挺糟糕的阅读体验.

rust 复制代码
use std::fmt::Display;

fn longest_with_an_announcement<'a, T>(x: &'a str, y: &'a str, ann: T) -> &'a str
    where T: Display
{
    println!("Announcement! {}", ann);
    if x.len() > y.len() {
        x
    } else {
        y
    }
}

我看了半天这个代码, 也没看懂啥意思. 这个跟程序员的技术能力无关, 写代码的目标不是为了炫技能, 而是能够清晰易懂的描述自己的思想逻辑. . 凡是看半天看不懂的. 不好意思, 再见. 再也不见. 目前我遇到的, 一眼之下看不懂源代码的语言有C++, object-c , 现在又多加了一个Rust.

相关推荐
第九序言T4 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
学长毕设4 小时前
基于springboot的食品仓库管理系统
java·spring boot·后端
滴滴答答哒5 小时前
ASP.NET Core + FaceRecognitionDotNet 人脸识别实战:DI 单例、特征向量持久化与 1:N 比对
后端·asp.net
龙亘川5 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人5 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
Raas1005 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
专注仿真6 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
jimy17 小时前
C++ 中的 `T&&`:右值引用与转发引用
开发语言·c++
captain3767 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
呆呆虫127 小时前
用 orjson 加速 SerpBase 响应解析:基准对比与注意事项
开发语言·php