Stage1st

 找回密码
 立即注册
搜索
楼主: why3000

[科技] 美国国家安全局:建议停止使用 C 和 C++

[复制链接]
     
发表于 2023-1-22 22:18 来自手机 | 显示全部楼层
C  屎山的维护难度是Java屎山的一百倍来自: iPhone客户端
回复

使用道具 举报

     
发表于 2023-1-22 23:00 来自手机 | 显示全部楼层
b0207191 发表于 2023-1-22 21:24
linux内核说要纳入rust,是说部分内核模块、驱动用rust编写,还是一个宏伟的所有代码rust改写计划?? ...

允许使用rust写。重写是不可能的
回复

使用道具 举报

     
发表于 2023-1-22 23:21 | 显示全部楼层
QShen 发表于 2023-1-22 21:39
阻碍C/C++发展的因素之一就是太难上手,rust相比C/C++,在学习的时候给人带来的挫败感更大,所以普及难度会 ...

从初中搞OI到大学搞ACM,加上参加的各种开源项目实习项目,写了十几年C/C++,后来转Rust,感觉主要就是把写C/C++时候的一些隐式需要遵守的规则变得显式了。毕竟指望程序员靠自己永远维护invariant既不可靠也缺乏可维护性。

初学者可能并不适合直接上手Rust,因为会无法理解为什么需要borrow checking。反而是学过或者正在学C/C++的时候,来几次segmentation fault以后就可以直观理解borrow checking到底是什么目的什么意思。
回复

使用道具 举报

     
发表于 2023-1-22 23:26 | 显示全部楼层
因为rust 生态很活跃也吸引了很多年轻人造轮子

任何语言都有自身生命周期啦
回复

使用道具 举报

     
发表于 2023-1-22 23:42 | 显示全部楼层
d2loader 发表于 2023-1-22 23:26
因为rust 生态很活跃也吸引了很多年轻人造轮子

任何语言都有自身生命周期啦 ...

造轮子 ❎
弯道超车 ✅
回复

使用道具 举报

     
发表于 2023-1-22 23:49 | 显示全部楼层
万恶淫猥手 发表于 2023-1-22 23:42
造轮子 ❎
弯道超车 ✅

UI领域真的就是在造轮子了,elm范式的框架还在早期肉搏中
回复

使用道具 举报

     
发表于 2023-1-22 23:54 | 显示全部楼层
d2loader 发表于 2023-1-22 23:49
UI领域真的就是在造轮子了,elm范式的框架还在早期肉搏中

elm范式的框架是什么,展开讲讲
回复

使用道具 举报

     
发表于 2023-1-22 23:57 | 显示全部楼层
万恶淫猥手 发表于 2023-1-22 23:54
elm范式的框架是什么,展开讲讲

最通俗的说法是react。。。
UI=f(state)

这种范式比起OOP更适合Rust来写UI
回复

使用道具 举报

     
发表于 2023-1-23 00:01 | 显示全部楼层
d2loader 发表于 2023-1-22 23:57
最通俗的说法是react。。。
UI=f(state)

函数式?还以为出了什么新范式...
回复

使用道具 举报

     
发表于 2023-1-23 00:08 | 显示全部楼层
万恶淫猥手 发表于 2023-1-23 00:01
函数式?还以为出了什么新范式...

是啦,现在即使写react也有很多人开始用immer之类的immutable state tree

总之就是受fp的影响很深
回复

使用道具 举报

     
发表于 2023-1-23 00:12 | 显示全部楼层
d2loader 发表于 2023-1-23 00:08
是啦,现在即使写react也有很多人开始用immer之类的immutable state tree

总之就是受fp的影响很深 ...

UI确实非常适合函数式,因为之前的那套极复杂又容易出问题,性能优化又有瓶颈。

不过UI不是Rust全部就是了,进入UI这个领域,Rust的优点没那么突出,反倒有点自废武功
回复

使用道具 举报

     
发表于 2023-1-23 00:14 | 显示全部楼层
万恶淫猥手 发表于 2023-1-23 00:12
UI确实非常适合函数式,因为之前的那套极复杂又容易出问题,性能优化又有瓶颈。

不过UI不是Rust全部就是 ...

所以说造轮子啊

在比如ML领域,还在重写线性代数库的阶段。。。
回复

使用道具 举报

发表于 2023-1-23 00:15 | 显示全部楼层
cpp2请(不过这个也八字还没一撇呢吧)
回复

使用道具 举报

     
发表于 2023-1-23 01:17 | 显示全部楼层
zeroboss 发表于 2023-1-22 21:46
看来说f35 2030年就退役是真的

不可能,通用的XA100适配F35A/B/C适配个寂寞?
回复

使用道具 举报

     
发表于 2023-1-23 07:04 来自手机 | 显示全部楼层
QShen 发表于 2023-1-22 21:39
阻碍C/C++发展的因素之一就是太难上手,rust相比C/C++,在学习的时候给人带来的挫败感更大,所以普及难度会 ...

纯编程新手,我本来以为c++就算难的那一批语言了呢
回复

使用道具 举报

     
发表于 2023-1-23 07:13 | 显示全部楼层
之前c++的创造者不是喷了这种言论吗

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2023-1-23 07:22 | 显示全部楼层
内存使用,
回复

使用道具 举报

     
发表于 2023-1-23 07:39 来自手机 | 显示全部楼层
我焯,我今年的okr有一条是参与代码重构,内容是解耦各个模块,重新设计接口,删除所有嵌入汇编代码,并把20年的c屎山重构成cpp
你和我说cpp不让用了

—— 来自 Xiaomi 22041211AC, Android 12上的 S1Next-鹅版 v2.5.4
回复

使用道具 举报

     
发表于 2023-1-23 11:52 | 显示全部楼层
ESAKA!!!! 发表于 2023-1-23 07:04
纯编程新手,我本来以为c++就算难的那一批语言了呢

策略问题,你的代码有100个错误,c艹在编译期只会报5个错,你处理掉就能跑起来了。剩下的那95个你爱弄不弄,也不需要懂。
rust在编译期会报95个(通过要求显式编码说明变量所有权来做编译期检查),你不搞懂原理排查好错误编译都过不了,不要说跑起来了。
前者懂一点点就能动,有bug是以后的事。后者不基本懂完你动都别想动,把bug扼杀在萌芽期

评分

参与人数 2战斗力 +2 收起 理由
再买自检星剁手 + 1 好评加鹅
ESAKA!!!! + 1 好评加鹅

查看全部评分

回复

使用道具 举报

     
发表于 2023-1-23 11:56 来自手机 | 显示全部楼层
支持 rust,所以谁来重写

—— 来自 Xiaomi 2203121C, Android 13上的 S1Next-鹅版 v2.5.4
回复

使用道具 举报

     
发表于 2023-1-23 11:59 | 显示全部楼层
我讨厌let 看起来不舒服
回复

使用道具 举报

     
发表于 2023-1-23 12:04 来自手机 | 显示全部楼层
rust写ui的框架是啥?tauri?

—— 来自 HUAWEI VOG-AL00, Android 10上的 S1Next-鹅版 v2.5.4
回复

使用道具 举报

     
发表于 2023-1-23 12:09 来自手机 | 显示全部楼层
YoumuChan 发表于 2023-1-22 23:21
从初中搞OI到大学搞ACM,加上参加的各种开源项目实习项目,写了十几年C/C++,后来转Rust,感觉主要就是把 ...

写了几年傻逼golang,rust的生命周期和borrow之类的实在是太高级辣

—— 来自 Xiaomi 2203121C, Android 13上的 S1Next-鹅版 v2.5.4
回复

使用道具 举报

     
发表于 2023-1-23 12:16 | 显示全部楼层
rust吹了那么久,去年TIOBE年度语言竟然是老掉牙的CPP
回复

使用道具 举报

发表于 2023-1-23 12:18 | 显示全部楼层
nsa的话信得过么?

会不会是nsa觉得c++放后门太难了

回复

使用道具 举报

     
发表于 2023-1-23 12:20 来自手机 | 显示全部楼层
kztp 发表于 2023-1-23 11:52
策略问题,你的代码有100个错误,c艹在编译期只会报5个错,你处理掉就能跑起来了。剩下的那95个你爱弄不 ...

听起来好像C**说的这95个错误都是代码检查工具能查出来的东西啊
回复

使用道具 举报

     
发表于 2023-1-23 12:37 | 显示全部楼层
御坂MKII 发表于 2023-1-23 12:09
写了几年傻逼golang,rust的生命周期和borrow之类的实在是太高级辣

—— 来自 Xiaomi 2203121C,  ...

golang应该没啥内存安全性问题吧,主要问题可能是强行不用channel的时候有data race?我感觉golang最优雅的地方就是那套channel了。

之前golang没有泛型的时候,同步原语都是不带数据的,依赖程序员自己维护锁。现在有泛型了是不是也可以搞owned mutex了?
回复

使用道具 举报

发表于 2023-1-23 13:04 | 显示全部楼层
rust什么鬼,为什么不换成java,成熟稳健开发维护成本低
回复

使用道具 举报

     
发表于 2023-1-23 13:11 来自手机 | 显示全部楼层
rust到底是不是未来可期的,有没有人说说
回复

使用道具 举报

发表于 2023-1-23 13:11 | 显示全部楼层
Rho 发表于 2023-1-23 12:20
听起来好像C**说的这95个错误都是代码检查工具能查出来的东西啊

语义上的东西怎么用代码检查
举个例子c++的const
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|stage1st 沪ICP备13020230号-1 沪公网安备 31010702004909号

GMT+8, 2023-1-27 15:48 , Processed in 0.039574 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表