是个 Java/Kotlin 后端开发者,也能写一些前端(能自己写项目但是写不了组件的程度)。
最近辞职在家了,想学习补充下,硬件知识自认为凑合着(不是那种会组个电脑的水平),软件也能写,但是软件底层这一点自己就很无力了,因为常年写“高级语言”偏业务,所以系统层面的知识薄弱,在看很多文章的时候如果偏底层一点就会看不懂(就是有一种断层的感觉,很无力),所以想学个 Rust 在 Linux 下开发慢慢练手( C 语言已经忘到姥姥家了)。
说实话自己 JVM 那一套还搞不清楚呢(当时能看懂,但是长久写业务压根接触不到就会忘了),但是自己又底层知识匮乏。学 Rust 短期看来是对找 Java 开发方面的工作没有帮助的,但是又想学学看来补充自己,请问这值得吗?
1
oblivious 2019-04-16 23:02:16 +08:00 via iPhone
值得学习。
当初在学校也只会 Matlab,辛亏自学了 py,要不然工作面试要减很多分。 |
2
ashlord 2019-04-16 23:11:14 +08:00
菜🐔一枚,抛砖引玉。
rust 是挺有意思的语言,学习一下没坏处,很是能开阔视野…… 但是 rust 学习曲线陡峭,更贴近函数式语言,能不能帮助 lz 加强底层开发能力比较难说…… 个人对 rust 的看法就是这门语言的设计要求太高,适合用来重写项目( rewrite in rust 哈哈);用 rust 从头写代码太容易有挫败感了 其实 lz 的情况重新学习一下 c,温习一下 csapp 会更合适? 考虑找工作的话,go ? |
3
LosLord OP @oblivious 咱俩情况不太一样,python 的话可以直接找工作,况且我也不认为自己学个个把月能学会 rust,就算学会了我也不认为有几家公司需要
|
4
jedrek 2019-04-16 23:28:54 +08:00 1
做长远些的投资学 Rust 不会错
|
5
LosLord OP @ashlord 谢谢,只是看了网评“ Rust 用了都说好”这种论调,所以希望学习一下,GO 的话因为有 GC 在我看来还是不够“底”,csapp 这本字典也是当时看能懂后来忘了,看来还是要复习了。
|
6
jackmod 2019-04-17 00:00:56 +08:00
学底层的话还得读 csapp。补断层的话可以看看那些语言和 C 接口交互的原理。大概。
|
7
pursuer 2019-04-17 00:37:49 +08:00
个人觉得底层还是学 C/C++,要是有 JNI 的需求的时候就可以拿来用了
|
8
boris1993 2019-04-17 00:51:57 +08:00 via Android
值得,玩得开心就好,如果能帮助找工作那更好
|
9
aodeng 2019-04-17 09:06:04 +08:00
学 golang 吧
|
10
love 2019-04-17 10:17:22 +08:00 via Android
底层和上层不用都会,两个完全不同的领域。
|
11
no1xsyzy 2019-04-17 10:21:32 +08:00
@LosLord 你说 GC,Rust 是直接控制生命周期,也不算多么底,说到底还是语言控制资源分配行为模式。
GC 就是引用计数(还是可能泄漏)或者标记(对异步不算太友好),然后就是两个方法结合。 而 Rust 就是通过各种规范要求引用计数恒为 1,对原型真的很麻烦,尤其你还没把程序逻辑厘清楚的时候你还要同时考虑生命周期,是人干的事吗?我认为这就是上面说的 “适合重写项目”,重写的时候程序逻辑已经很清楚了;另一种场景大概就是有专门的设计程序逻辑的流程甚至专员(架构师?)。 所以其实应该是大量代码外包给各种不同公司或者是 Firefox 这样的大型多人协作项目适合的语言?因为代码质量控制比较困难,至少能从语言层面保证不要产生泄漏就很好。我没多了解,只是看到有人吐槽 Rust 生命周期就去看了下。 |
12
no1xsyzy 2019-04-17 10:26:51 +08:00
另外,如果没看过 SICP (计算机程序的构造和解释)的话我推荐看一下,这个真的强。
自己用 define-syntax 重新写个对象系统可能是对 Java 帮助很大的。 其实编程有自己的底层,叫做 λ 演算。 |
13
crate 2019-04-17 11:06:02 +08:00
看一下 rust 很好 我觉得学习语言知识很适合这种设计的比较完备的语言,rust 也借鉴了很多优良的设计 (pattern matching, 宏,module system ),同时有涉及一些内存知识,起码我觉得学完了以后我对 c++理解提升了不少。
|
14
alexmy 2019-04-17 13:36:17 +08:00
还是先找工作吧,储蓄多的另说。
另外吧,你学了新语言,过上一两周,对现在用的 java 什么的也会陌生一点的,就更不利于找新工作了。 |
15
LordChen 2019-04-17 16:52:52 +08:00
有工作的前提下,想学就学~
没有工作还不快学个可以找工作的先?! |