V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
LosLord
V2EX  ›  程序员

想学新语言但是对找工作没帮助还值得学吗?

  •  
  •   LosLord · 2019-04-16 22:50:50 +08:00 · 3107 次点击
    这是一个创建于 2078 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是个 Java/Kotlin 后端开发者,也能写一些前端(能自己写项目但是写不了组件的程度)。

    最近辞职在家了,想学习补充下,硬件知识自认为凑合着(不是那种会组个电脑的水平),软件也能写,但是软件底层这一点自己就很无力了,因为常年写“高级语言”偏业务,所以系统层面的知识薄弱,在看很多文章的时候如果偏底层一点就会看不懂(就是有一种断层的感觉,很无力),所以想学个 Rust 在 Linux 下开发慢慢练手( C 语言已经忘到姥姥家了)。

    说实话自己 JVM 那一套还搞不清楚呢(当时能看懂,但是长久写业务压根接触不到就会忘了),但是自己又底层知识匮乏。学 Rust 短期看来是对找 Java 开发方面的工作没有帮助的,但是又想学学看来补充自己,请问这值得吗?

    15 条回复    2019-04-17 16:52:52 +08:00
    oblivious
        1
    oblivious  
       2019-04-16 23:02:16 +08:00 via iPhone
    值得学习。

    当初在学校也只会 Matlab,辛亏自学了 py,要不然工作面试要减很多分。
    ashlord
        2
    ashlord  
       2019-04-16 23:11:14 +08:00
    菜🐔一枚,抛砖引玉。
    rust 是挺有意思的语言,学习一下没坏处,很是能开阔视野……
    但是 rust 学习曲线陡峭,更贴近函数式语言,能不能帮助 lz 加强底层开发能力比较难说……

    个人对 rust 的看法就是这门语言的设计要求太高,适合用来重写项目( rewrite in rust 哈哈);用 rust 从头写代码太容易有挫败感了
    其实 lz 的情况重新学习一下 c,温习一下 csapp 会更合适?
    考虑找工作的话,go ?
    LosLord
        3
    LosLord  
    OP
       2019-04-16 23:12:32 +08:00
    @oblivious 咱俩情况不太一样,python 的话可以直接找工作,况且我也不认为自己学个个把月能学会 rust,就算学会了我也不认为有几家公司需要
    jedrek
        4
    jedrek  
       2019-04-16 23:28:54 +08:00   ❤️ 1
    做长远些的投资学 Rust 不会错
    LosLord
        5
    LosLord  
    OP
       2019-04-16 23:45:39 +08:00
    @ashlord 谢谢,只是看了网评“ Rust 用了都说好”这种论调,所以希望学习一下,GO 的话因为有 GC 在我看来还是不够“底”,csapp 这本字典也是当时看能懂后来忘了,看来还是要复习了。
    jackmod
        6
    jackmod  
       2019-04-17 00:00:56 +08:00
    学底层的话还得读 csapp。补断层的话可以看看那些语言和 C 接口交互的原理。大概。
    pursuer
        7
    pursuer  
       2019-04-17 00:37:49 +08:00
    个人觉得底层还是学 C/C++,要是有 JNI 的需求的时候就可以拿来用了
    boris1993
        8
    boris1993  
       2019-04-17 00:51:57 +08:00 via Android
    值得,玩得开心就好,如果能帮助找工作那更好
    aodeng
        9
    aodeng  
       2019-04-17 09:06:04 +08:00
    学 golang 吧
    love
        10
    love  
       2019-04-17 10:17:22 +08:00 via Android
    底层和上层不用都会,两个完全不同的领域。
    no1xsyzy
        11
    no1xsyzy  
       2019-04-17 10:21:32 +08:00
    @LosLord 你说 GC,Rust 是直接控制生命周期,也不算多么底,说到底还是语言控制资源分配行为模式。
    GC 就是引用计数(还是可能泄漏)或者标记(对异步不算太友好),然后就是两个方法结合。
    而 Rust 就是通过各种规范要求引用计数恒为 1,对原型真的很麻烦,尤其你还没把程序逻辑厘清楚的时候你还要同时考虑生命周期,是人干的事吗?我认为这就是上面说的 “适合重写项目”,重写的时候程序逻辑已经很清楚了;另一种场景大概就是有专门的设计程序逻辑的流程甚至专员(架构师?)。
    所以其实应该是大量代码外包给各种不同公司或者是 Firefox 这样的大型多人协作项目适合的语言?因为代码质量控制比较困难,至少能从语言层面保证不要产生泄漏就很好。我没多了解,只是看到有人吐槽 Rust 生命周期就去看了下。
    no1xsyzy
        12
    no1xsyzy  
       2019-04-17 10:26:51 +08:00
    另外,如果没看过 SICP (计算机程序的构造和解释)的话我推荐看一下,这个真的强。
    自己用 define-syntax 重新写个对象系统可能是对 Java 帮助很大的。
    其实编程有自己的底层,叫做 λ 演算。
    crate
        13
    crate  
       2019-04-17 11:06:02 +08:00
    看一下 rust 很好 我觉得学习语言知识很适合这种设计的比较完备的语言,rust 也借鉴了很多优良的设计 (pattern matching, 宏,module system ),同时有涉及一些内存知识,起码我觉得学完了以后我对 c++理解提升了不少。
    alexmy
        14
    alexmy  
       2019-04-17 13:36:17 +08:00
    还是先找工作吧,储蓄多的另说。
    另外吧,你学了新语言,过上一两周,对现在用的 java 什么的也会陌生一点的,就更不利于找新工作了。
    LordChen
        15
    LordChen  
       2019-04-17 16:52:52 +08:00
    有工作的前提下,想学就学~
    没有工作还不快学个可以找工作的先?!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2939 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 00:35 · PVG 08:35 · LAX 16:35 · JFK 19:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.