gc语言没什么可比性。go和c#当然不用考虑对象生存期的问题,但并发访问的安全问题不会被gc解决,所有权分析仍然是有力的工具。实际上,所有权分析的学术讨论远早于rust,很多论文都是基于java这种面向对象语言的。(例如,ownership type的重要综述是2013年的Ownership Types: A Survey一文,而这篇论文介绍ownership类型研究当时已有15年历史了。)
c++自由,rust限制多,其他方面差不了那么多。rust的卖点是安全又不是方便。大型企业大型项目就是需要更多语言约束,这个需求是很自然的。
【 在 hgoldfish 的大作中提到: 】
: 这事我思考了一段时间,为啥现在对象的所有权会变得这么复杂呢。一个很重要的原因就是有大量回调函数的存在,让对象的生命周期跳出函数的生命周期。
:
: 原本 RAII 或者简单引用计数就能够做好资源管理,现在因为有大量的异步回调,变得不够用了。所以新兴的 rust 这些语言才会搞出这么复杂的资源管理模型。
: ...................
--
修改:milksea FROM 114.246.236.*
FROM 114.246.236.*