- 主题:熟练掌握C++, 学Rust曲线陡峭吗
一直不太敢学Rust
一是因为学了也没什么应用场景, 另一个就是听别人说学习曲线陡峭
--
FROM 211.145.70.*
陡的...
一般的语言,你每学一章都能在程序里用上新学的东西。而且各语言之间虽然语法不同
但设计思路其实比较类似。
但rust需要你累计掌握好多新的知识才能入门,既使你已经能用C开发Linux内核了。
应用场景并不缺,所有C/C++的都可以用rust。我们说缺应用场景,是指目前没有热门的
项目只使用rust而其它语言做得不够好。
【 在 abettor 的大作中提到: 】
: 一直不太敢学Rust
: 一是因为学了也没什么应用场景, 另一个就是听别人说学习曲线陡峭
--
FROM 60.191.31.*
如果熟悉现代c++的话还好吧。写简单的程序碰不到什么复杂概念的话就没事,类型严一些很快也能适应。
一些概念虽然算是新的但不难掌握,比如带数据的 enum(相当于带标签的 union)和 pattern match。一些东西在现代c++里已经引入并经常使用,比如移动语义,Option类型,智能指针(Box类似unique_ptr),迭代器的流式处理(函数式语言常用)。一些东西不是新的只是默认和c++有差异,比如默认不变性、默认移动,默认没有隐式类型转换。还有一些简单的东西比如trait和trait object,我觉得对c++用户都很直观(类似concept和虚类)。
复杂一点的概念是生命周期的类型标注喝和相关的东西,特别是和并发编程之类结合起来的时候会有点费劲。这些本来也应该花点心力在上面。
【 在 abettor 的大作中提到: 】
: 一直不太敢学Rust
: 一是因为学了也没什么应用场景, 另一个就是听别人说学习曲线陡峭
: --
: ...................
--
FROM 124.64.17.*
rust出现的初衷是写servo,想通过严格的所有权和生命周期检查帮助写好复杂的并发程序。这块是核心差异,也是学起来最费劲的地方。
不涉及这些东西,比如现在好多人拿rust写命令行小工具,那我觉得没啥难上手的。
【 在 RunningOn 的大作中提到: 】
: 陡的...
:
: 一般的语言,你每学一章都能在程序里用上新学的东西。而且各语言之间虽然语法不同
: ...................
--
FROM 124.64.17.*
感觉写小工具无所谓,如果要写大型多线程系统的话,感觉至少要把Box/Rc/Arc/Cell/RefCell/Mutex/RwLock这些搞清楚先
【 在 abettor 的大作中提到: 】
: 一直不太敢学Rust
: 一是因为学了也没什么应用场景, 另一个就是听别人说学习曲线陡峭
--
FROM 182.150.115.*
感谢详细的回复, 非常有参考价值
感觉对我来说, 应该首先要找到个场景把Rust用起来, 不然费力学明白了, 也可能很快忘了
【 在 milksea 的大作中提到: 】
: 如果熟悉现代c++的话还好吧。写简单的程序碰不到什么复杂概念的话就没事,类型严一些很快也能适应。
: 一些概念虽然算是新的但不难掌握,比如带数据的 enum(相当于带标签的 union)和 pattern match。一些东西在现代c++里已经引入并经常使用,比如移动语义,Option类型,智能指针(Box类似unique_ptr),迭代器的流式处理(函数式语言常用)。一些东西不是新的只是默认和c++有差异,比如默认不变性、默认移动,默认没有隐式类型转换。还有一些简单的东西比如trait和trait object,我觉得对c++用户都很直观(类似concept和虚类)。
: 复杂一点的概念是生命周期的类型标注喝和相关的东西,特别是和并发编程之类结合起来的时候会有点费劲。这些本来也应该花点心力在上面。
--
修改:abettor FROM 211.145.70.*
FROM 211.145.70.*
用的人多了、样板代码见多了,难度就会下降吧
【 在 abettor 的大作中提到: 】
:
: 一直不太敢学Rust
: 一是因为学了也没什么应用场景, 另一个就是听别人说学习曲线陡峭
--
FROM 124.160.154.*
不陡, 我觉得有一两周就能把语法,思路啥的都看明白。都用不了21天。 后面就靠实际上手操作。
如果你不操作的话,过俩月就能全忘光。
【 在 abettor 的大作中提到: 】
: 一直不太敢学Rust
: 一是因为学了也没什么应用场景, 另一个就是听别人说学习曲线陡峭
: --
:
发自「今日水木 on iPhone 12」
--
FROM 114.249.63.*
"能用C开发Linux内核"是很高端的开发吗?
讲真linux内核开发,除非是开发新的子系统需要点技术,
剩下都是在框架里面填充函数指针,并没啥技术含量
【 在 RunningOn 的大作中提到: 】
: 陡的...
: 一般的语言,你每学一章都能在程序里用上新学的东西。而且各语言之间虽然语法不同
: 但设计思路其实比较类似。
: ...................
--
FROM 111.198.228.*
不评论你对于Linux开发的看法。
这里说C开发Linux内核意思是对C很熟练了。
【 在 AudiDoggie 的大作中提到: 】
: "能用C开发Linux内核"是很高端的开发吗?
: 讲真linux内核开发,除非是开发新的子系统需要点技术,
: 剩下都是在框架里面填充函数指针,并没啥技术含量
: ...................
--
FROM 101.68.68.*