宇宙主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

欧基零壹微头条IP归属甄别会员请立即修改密码
楼主: 老湿姬

想学一门新语言,python 还是golang?我是小孩,要做选择的

   关闭 [复制链接]
发表于 2022-10-12 01:02:43 | 显示全部楼层
dunce 发表于 2022-10-12 00:46
Rust或许可以取代C++(实际上也是不可能的,那么多项目不可能都用Rust重写), 但绝对取代不了C,你不会以 ...

谈一个语言从来没有人会谈到系统级别ABI,这和语言本质有什么关系呢?

Rust或许可以取代C++(实际上也是不可能的)
这可不可能,我们今天这贴子回复一夜也解决不了,只是说每个人站的方不同罢了。(最少我觉得会,连Bjarne最近接二连二被RUST的支持者嘲讽他也没有明切的说定指出rust为什么能替代c++,而只是笑话人们往往喜欢新事物)。


最后我一直从头到尾想表示的,也是回复楼主的:
如果没有特别想去做嵌入式,或底层,没必要再去学C了,直接rust没错。(当你学完c,你就已经掌握了c++90%精髓了,你就不会再想去学rust或没必要再转rust了)
发表于 2022-10-12 01:07:51 | 显示全部楼层
Akewa 发表于 2022-10-12 01:02
谈一个语言从来没有人会谈到系统级别ABI,这和语言本质有什么关系呢?

Rust或许可以取代C++(实际上也是 ...

因为实际生产中,是不可避免的要跟C ABI打交道的。不要脱离现实,不然一切都用Rust从头开始写?
发表于 2022-10-12 01:08:12 | 显示全部楼层
dunce 发表于 2022-10-12 01:01
你知道的话可以直接说, 不必反问我。如果这算是技术讨论的话。

直接操作硬件的时候,你觉得这些东西有 ...

晕, 我是当你是个多年程序员角落和你谈论问题的,所以你自然知道rust取代c++最大的原因就在内存泄露,也占比重最大的原因。(不管从编译时长和程序生成大小和执行效率都给出了多方面评测,c++和rust相差无几),而就这一点,你让他们编译成机器码反汇编比较有意义吗

张三跑步快,李四发明个人造飞行器和他跑,比张三快了。 你要李三和李四比谁身上负载重
发表于 2022-10-12 01:14:22 | 显示全部楼层
dunce 发表于 2022-10-12 01:07
因为实际生产中,是不可避免的要跟C ABI打交道的。不要脱离现实,不然一切都用Rust从头开始写? ...

rust从头写是几呼不可能,不可能的是时间空间不允许,整个互联网基石下都有C的基石,你说全部突然换个轮子,一定时间内是达不到的。 就像你提到的说rust只是linux编译模块一样,rust也可以纯写全部内核,就像c也潜入大量汇编,你总不能说rust不能吧。

但是如果回到若干年前C和RUST一个起步线,那还真可能。

就像C语言编译器最开始是什么写的?这个轮子问题一样。
发表于 2022-10-12 01:17:06 | 显示全部楼层
Akewa 发表于 2022-10-12 01:08
晕, 我是当你是个多年程序员角落和你谈论问题的,所以你自然知道rust取代c++最大的原因就在内存泄露,也 ...

我当然不知道 Rust取代C++主要是为了解决memory leak。这不是什么大问题, 更大的问题是memory safety,程序直接挂了,或者被恶意利用。Rust是注重安全的语言,有了编译器检查就可以高枕无忧,只要不写unsafe code.

我们争论的主题是, Rust能否取代C语言。 C语言最大的价值就在于它足够底层,我自然要到汇编/机器码层面比较,以说明我的观点。
发表于 2022-10-12 01:22:19 | 显示全部楼层
dunce 发表于 2022-10-12 01:17
我当然不知道 Rust取代C++主要是为了解决memory leak。这不是什么大问题, 更大的问题是memory safety, ...

只要不写unsafe code.

呵呵哒。
这话估计全世界没一个人敢说,你说了。

开个小玩笑:难道今天linus的PC鸡内存挂了,6.1延迟了,是不是你等不支持rust的在捣鬼

和你一直争论没意义了,睡觉去了
发表于 2022-10-12 01:27:27 | 显示全部楼层
其实说实话,很大一部份争论不下去的原因是:
某些人开始用memory leak    memory safety     unsafe code.
等简单英文词汇故弄高级了。(最少我公司开会PPT不会用这些字母,不然肯定被笑话)
就像谈语言本身谈到ABI,我就已经有点蹦不住了,就开始memory leak    memory safety     unsafe code.。。。。 估计一会又dues ttien iin dds各处来了

。。。
有点装了。
聊不下去的意思。
发表于 2022-10-12 01:32:32 | 显示全部楼层
Akewa 发表于 2022-10-12 01:22
只要不写unsafe code.

呵呵哒。

当然, 前提是safe code之下的unsafe code可以证明是safe的。 你试试用纯safe code怎么写崩给我看看。。

最后,我还是要建议先学C语言,别妄想学了Rust就能跳过C。不了解底层细节,是写不好系统编程语言的。我们的争论中由于牵扯到了C语言跟Kernel的缘故,自然限定了Rust在此类场景下的使用。 实际上Rust可以做任何事情, 对于前端程序员而言,完全可以像GC语言那样写Rust。

点评

了解底层有个**用,人家在问python和golang,懂?就没去必须底层不底层,别TM装高级恶心人了  发表于 2022-10-12 02:50
发表于 2022-10-12 01:45:21 | 显示全部楼层
Akewa 发表于 2022-10-12 01:27
其实说实话,很大一部份争论不下去的原因是:
某些人开始用memory leak    memory safety     unsafe code. ...

用专业术语怎么叫装呢? C/C++/Rust程序员应该对这几个词非常的敏感才对, 从你一开始脱口而出内存泄漏我就绷不住了。

我是有点质疑10年经验的水分,C++程序员应该清楚地知道编译器额外做些了什么,倍加珍惜纯洁的C语言。敢问 C++模板元能玩到什么程度? CRTP, SFINAE这种伎俩应该不用我多提了吧。敢问标准用到什么程度? C++ 20 Coroutines, C++23 Ranges得用用吧, 难道还在用C++11? 那确实该被Rust取代了。

点评

https://github.com/zephyrchien 花了几分钟看了一下,水完不配和我聊天,完!  发表于 2022-10-12 01:58
发表于 2022-10-12 02:06:06 | 显示全部楼层
Akewa 发表于 2022-10-12 01:27
其实说实话,很大一部份争论不下去的原因是:
某些人开始用memory leak    memory safety     unsafe code. ...

偷偷点评我可就太阴暗了, 翻了下主题帖,您配个Nginx都要请人教,我确实配不上啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宇宙主机交流论坛

GMT+8, 2024-10-30 13:26 , Processed in 0.067286 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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