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

Java 日子人想学点其他的语言来丰富下自己的技能点,是继续 JVM 系列的语言还是搞点新潮的 rust/next.js?

  •  
  •   Sigrdirfa · 2024-01-02 15:29:54 +08:00 · 8037 次点击
    这是一个创建于 367 天前的主题,其中的信息可能已经有所发展或是发生改变。
    已经忘记为什么学 Java 了,反正就这么浑浑噩噩的过了四年,而立之年,天天 psvm sout log.error ,厌了腻了。
    觉得 Java 真的很啰嗦,我个人认为对于工作上来说写代码的速度比编译速度和运行速度重要的多,因为需求是做不完的,虽然很多时候可以随便写,但是随便写不是乱写,总是有很多代码是避免不了的,我爱强类型的简单明了但也觉得日积月累的多写那几行代码估计都能有个小型工程的代码量了,四舍五入就是亏了。

    想面向简历,学习一门新语言,扩充下自己的宽度。

    元旦假期开始看 kotlin 的教程,自己搭了些 demo ,也咨询了自己接单的哥们,他是 kotlin + spring 一把梭,看起来在小项目上的效能还挺高的。

    同时听说学习 rust 可以在整个编程语言上面提高自己的理解,但是又心水 next.js 。

    感觉拿不定主意,我想花三到四个月时间的下班时间学一学想问问大伙觉得先学哪个能写到简历上呢?
    61 条回复    2024-01-04 11:49:33 +08:00
    xianyv
        1
    xianyv  
       2024-01-02 15:32:48 +08:00
    能写在简历上的话,学一下 Go 吧
    Sigrdirfa
        2
    Sigrdirfa  
    OP
       2024-01-02 15:36:38 +08:00
    @xianyv 考虑过 go ,但是认为 go 不是一门用来开发业务的语言,而更适合中间件。如果是面向简历的学习,没有大型开源项目的资源,很难将 go 落地。
    yazinnnn0
        3
    yazinnnn0  
       2024-01-02 15:36:54 +08:00
    kotlin 已经接近什么都可以干了, 正在向.net 应用场景全面靠拢

    学 rust 对你找工作有帮助吗?
    Ayanokouji
        4
    Ayanokouji  
       2024-01-02 15:37:58 +08:00
    如果是为了效率的话,web 项目,kotlin + spring 确实不错
    yazinnnn0
        5
    yazinnnn0  
       2024-01-02 15:39:14 +08:00
    如果作为兴趣研究的话, 研究型语言推荐 scheme/racket/haskell, 工程型语言推荐 clojure 和 fsharp

    都是最潮最 in 的函数式语言
    Leviathann
        6
    Leviathann  
       2024-01-02 15:44:46 +08:00
    Scala3
    galikeoy
        7
    galikeoy  
       2024-01-02 16:00:55 +08:00
    next.js ?还是 nest.js?
    Sigrdirfa
        8
    Sigrdirfa  
    OP
       2024-01-02 16:01:46 +08:00
    @galikeoy next.js
    visper
        9
    visper  
       2024-01-02 16:03:23 +08:00
    研究和对编程语言的理解,就要去看完全不同模式的。比如你 java 的看 kotlin,对理解好像没什么帮助,也就一些语法。不过还有协程。rust 的话和 java 不同,增加对内存管理的理解。其他的 erlang 的 actor 模型,haskell 的函数式等等。不过这些都没法写在简历上,基本没人用。如果是写在简历上对找工作找帮助的,那就看目前市面上都用哪些的多。
    Sigrdirfa
        10
    Sigrdirfa  
    OP
       2024-01-02 16:04:01 +08:00
    @Leviathann Scala 也在考虑之列,因为现在的活有一部分就是和移动公司的大数据部门做对接,手里也有点资源可以冲一波老家移动的大数据岗位,但是感觉很难落地,我手头没有项目来支持语言的落地所以写不到简历上。
    ixixi
        11
    ixixi  
       2024-01-02 16:30:30 +08:00
    老板喜欢啥活都能干的
    简历上写点 vue react 感觉更好些
    woctordho
        12
    woctordho  
       2024-01-02 16:33:15 +08:00 via Android
    扩充宽度是吧,学 Lisp
    pengtdyd
        13
    pengtdyd  
       2024-01-02 16:37:54 +08:00
    C 学这个最靠谱,了解底层能走的更远。
    gowk
        14
    gowk  
       2024-01-02 16:54:47 +08:00
    C# 学完你不就不想再写 Java 了
    Frankcox
        15
    Frankcox  
       2024-01-02 16:59:03 +08:00
    @Sigrdirfa #2 为啥 Go 不是用来开发业务的语言?难不成目前 rust 在应用开发领域比 Go 强?
    ma836323493
        16
    ma836323493  
       2024-01-02 17:04:02 +08:00
    可以写 python , 写起工具来真是爽
    lvdream
        17
    lvdream  
       2024-01-02 17:08:31 +08:00
    python +1
    我也是主线 java ,支线 python
    thetbw
        18
    thetbw  
       2024-01-02 17:09:51 +08:00
    kotlin yyds ,不过感觉和找工作没啥帮助,国内也就安卓?
    potatowish
        19
    potatowish  
       2024-01-02 17:13:36 +08:00 via iPhone
    同后端,建议学 next.js ,kotlin 自己玩玩得了
    chrisia
        20
    chrisia  
       2024-01-02 17:23:53 +08:00
    如果是找工作的话那就 go ,不然就 kotlin ,kotlin 能改变你的语言观
    Akitora
        21
    Akitora  
       2024-01-02 17:27:31 +08:00
    Java 人上 kt 和 Go 不是很简单,边看文档边写就行。

    要想对找工作有帮助那就学点 React 和 next.js ,自己做点东西毕竟也要前端。
    peyppicp
        22
    peyppicp  
       2024-01-02 17:29:43 +08:00
    问了内部 java 转 go 的,大家基本上意见统一了,go 写着真爽,不想再写 java 了
    kuituosi
        23
    kuituosi  
       2024-01-02 17:37:35 +08:00
    rust 类似 c++的生态位,而且学习门槛开发周期都非常长
    除开 c++/rust 的情况,你会 java 其他语言对你就是开心菜
    我自己会 java ,学 python 只需要 2 天,golang 只需要 2 周,nextjs/nestjs 加一起不超过一个月
    rust6 个月
    NessajCN
        24
    NessajCN  
       2024-01-02 17:41:41 +08:00
    不会 C/C++ 的 Java 仔不建议难为自己强上 Rust ,
    否则你得做好心理准备从计算机硬件原理开始补课
    CLMan
        25
    CLMan  
       2024-01-02 18:03:07 +08:00
    纯函数式语言工程界都没怎么用,工程语言也就吸收点函数式语法糖,和正宗的函数式语言差远了,学生时代可以学,面向工作时代就没必要了。

    JVM 上的其它语言(主动)学习的价值其实都不大,因为它们就是用来替代 Java 的,用的框架、编译结果都没啥区别。招 Java 写后端的公司也不可能让你进去写 Kotin (你跑路了怎么维护)。例外情况是,安卓开发需要学习 Kotin ,用 Spark 需要学习 Scala 。
    flytsuki
        26
    flytsuki  
       2024-01-02 18:07:28 +08:00
    学 go,rust 看完就忘了
    kneo
        27
    kneo  
       2024-01-02 18:16:12 +08:00 via Android
    实用性建议:
    1. new java
    2. go
    3. typescript/react
    4. flutter

    学 rust ,说实话没啥用……因为我很肯定你学不明白,也就图个乐,吹个牛,给自己一种很厉害的错觉。
    Belmode
        28
    Belmode  
       2024-01-02 18:17:43 +08:00
    哈哈哈,在不久的未来,可能就是 kotlin for the All platforms 了,非常期待。

    目前主力 Java ,搞私活,基本都是 kotlin + spring , 偶尔用用 nodejs 。
    kneo
        29
    kneo  
       2024-01-02 18:18:04 +08:00 via Android
    4. python
    5. flutter
    musi
        30
    musi  
       2024-01-02 18:24:42 +08:00
    学 js ,不想写后端的时候还能写点前端
    happy32199
        31
    happy32199  
       2024-01-02 19:53:28 +08:00 via iPhone
    可以看看 jvm 上的 groovy 向 PHP 看齐
    dddys
        32
    dddys  
       2024-01-02 20:25:33 +08:00
    函数式方向:haskell
    底层方向:Rust
    cloud 方向:go
    当爱好用:next.js, vercel,
    dddys
        33
    dddys  
       2024-01-02 20:25:57 +08:00
    当然多探索总是有好处的
    zhiyu1998
        34
    zhiyu1998  
       2024-01-02 20:48:03 +08:00
    1. Rust 我学完了,感觉语言很难,学了一个借用和所有权,感觉以目前的智商无法应对 rust 面试问题
    2. 楼上说的 Python ,如果你以后要读研可以学一个,现在 GitHub 的 Treading 基本上都是 Python 拿了搭大模型
    3. Kotlin 可能是比较好的选择,Go 我也学了确实有点难写业务,感觉 Kotlin 可以解决你的问题,前几个月玩 QQ 机器人有些机器人就是用 Kotlin 写的,看了下开源代码有些写的比较花里胡哨,但是还是比 Go 写起来舒服多了(个人感觉,喷子绕道)。
    silentsky
        35
    silentsky  
       2024-01-02 20:58:48 +08:00 via Android
    最近看好 Python 写一些小工具真的很强大又方便
    Sigrdirfa
        36
    Sigrdirfa  
    OP
       2024-01-02 21:09:03 +08:00
    @silentsky @kneo @lvdream @ma836323493 其实元旦写了一个 pandas 处理 Excel 的小东西来处理 PM 给的 Excel ,用来直接生成 sql 插入数据库的,python 确实很有用,但是写小工具和干活的差距还是挺大的,我以前有份工作就是用 python 做 MES 软件,但是一个月我就跑路了,感觉很差(当然我说不出是公司的问题,还是一下上了太多新技术栈的问题 python 、GraphQL 等等)。

    @ixixi 会点 js 会点 node 会点 vue...但是就是会点,会 npm i 、npm run 会写点 fun ,哈哈
    EscYezi
        37
    EscYezi  
       2024-01-02 22:15:12 +08:00 via Android
    学 dart flutter 转全栈 2333
    dart 这个语言还是挺有意思的,写起来像 java 没有什么花里胡哨的东西,但是却解决了 java 的很多痛点:空安全,线程安全,自动推断类型,扩展方法,mixin 等等,还有强大的 build_runner 代码生成器,类似 java 的注解处理器,但是在写代码时运行,监测代码变化自动生成新代码。
    说个与主题无关的,个人感觉 golang 缺一个 build_runner
    NotAfraidLP
        38
    NotAfraidLP  
       2024-01-02 22:35:24 +08:00
    @yazinnnn0 居然能看到推荐 clojure 的...我司主推技术栈...可以说是自带加密...我们干完的项目全国没几个公司能接的...
    Pony69
        39
    Pony69  
       2024-01-02 22:58:01 +08:00
    学前端
    ericguo
        40
    ericguo  
       2024-01-02 23:16:17 +08:00
    OP 觉得 Java 很啰嗦,如果又不想搞 JVM 的语言了,还嫌 JS 生态太乱,可以考虑一下 Rails 。
    Narcissu5
        41
    Narcissu5  
       2024-01-03 08:38:02 +08:00
    同 java 日子人,入行 10+年,学过不少语言,目前觉得最有用的——python 。首先这东西作为小工具太有用了,而且可以帮你打开很多扇大门——pandas ,pytorch 。。。

    另外同生态位的不优先考虑,包括 kotlin ,c#这些,因为无法带给你新东西。python 也可以认识下脚本语言动态语言的玩法,duck type 之类的,有助于扩展眼界
    devilarchitect
        42
    devilarchitect  
       2024-01-03 09:16:43 +08:00
    把 Node.js 学会,学过 java 的 js jQuery 应该不在话下吧,可以结合 java 做网站做 app 做小程序都可以;
    或者去学习 Python ,因为 Python 配合任何一门语言它都是很好的辅助利器;
    因为在已经掌握一门语言的基础上,现在不管学什么都很快,所以想学什么就直接去学
    dif
        43
    dif  
       2024-01-03 09:35:37 +08:00
    后端选 Go (简单入门,只学一些和 java 有差异的地方就行),鉴于目前的环境,非常建议多学学前端的知识。
    Rust 基本上都是偏系统层面了,以后应该会比 Go 火爆,但 go 相对 rust 简单一点,等以后火爆了再学也不迟。
    最后:人生苦短、我用 python 。
    jlkm2010
        44
    jlkm2010  
       2024-01-03 09:39:22 +08:00
    rust
    ThinkCat
        45
    ThinkCat  
       2024-01-03 10:14:13 +08:00
    rust 吧 我觉得挺好的
    pkxutao
        46
    pkxutao  
       2024-01-03 10:29:29 +08:00
    正常来说,纯写代码时间占总开发工作应该不到三分之一吧?少写一些代码也省不了几个时间啊
    amon
        47
    amon  
       2024-01-03 10:57:01 +08:00   ❤️ 3
    我最近想看点前端的东西,结果前端没学到,学了 100 个名词。
    zzzmh
        48
    zzzmh  
       2024-01-03 11:10:37 +08:00
    学个 javafx 把好好的技能树给点歪了 doge
    gongquanlin
        49
    gongquanlin  
       2024-01-03 11:16:33 +08:00
    php 、java 、go 、ts 都写过上过生产
    目前公司 spring 全家桶,个人项业务逻辑多用 spring ,简单的用 nextjs ,爬虫用 go 或者 ts (目前用下来还是 go 写爬虫爽的一批,虽然很多地方很啰嗦,但是封装好常用的库就好了)。php 基本上处于被抛弃的状态了
    coolmenu
        50
    coolmenu  
       2024-01-03 12:50:25 +08:00
    把所有新潮的语言都搬上 JVM ,你的知识点就扩充了
    superbai
        51
    superbai  
       2024-01-03 13:31:13 +08:00
    @Belmode #28 前端怎么解决?
    Belmode
        52
    Belmode  
       2024-01-03 13:42:38 +08:00
    @NotAfraidLP 不会是滴滴吧,哈哈哈
    Belmode
        53
    Belmode  
       2024-01-03 13:49:17 +08:00
    @superbai 小程序和 h5 用的 uniapp ;移动端只会开发 android ,现在流行 Compose ,用起来还行; BS 前端这边,基本就是什么都用,大乱炖,毕竟是客户要什么,我就给什么,主力技术栈,还是 vue3+ts+naviui+unocss 。
    superbai
        54
    superbai  
       2024-01-03 14:11:42 +08:00
    @Belmode #53 感谢回复,我刚开始以为是说 kotlin + spring 把前端也一把梭了
    Belmode
        55
    Belmode  
       2024-01-03 14:20:13 +08:00
    @superbai 不客气。KMM 写 js 玩玩花样,炫一下技还可以,用来做项目,现阶段不行。很多东西缺失,不但要自己写构建逻辑,还要定义一大堆的类库的 lib.d.ts 声明到 kotlin 接口来辅助开发,非常麻烦。
    leiuu
        56
    leiuu  
       2024-01-03 14:44:32 +08:00
    --- 以下来自 AI 的总结---

    根据我收到的信息,共有 55 条回复。为了能够统计评论中各类观点的占比,我将对每个观点进行分类并计数。下面是各观点分类的统计结果:


    学习 Kotlin 和 JVM 语言:

    支持 Kotlin 或其他 JVM 语言: #3, #4, #6, #18, #20, #28, #34, #41, #55
    学习 Go:

    支持 Go: #1, #2, #23, #27, #32, #43, #44, #49
    学习 Rust:

    支持 Rust: #7, #23, #24, #27, #44, #45
    学习 JavaScript/TypeScript 前端技术(如 Next.js, React 等):

    支持 JS/TS 前端: #7, #9, #11, #19, #21, #30, #39, #53, #54
    学习 Python:

    支持 Python: #16, #17, #29, #36, #37, #42
    学习其他语言或技术(如 C, C#, Flutter, Dart 等):

    支持 C: #13
    支持 C#: #14, #40
    支持 Flutter/Dart: #37, #38
    支持 PHP: #31, #49
    支持 Scala: #6
    支持函数式语言( Haskell, Scheme 等): #5, #32
    继续 Java 或相关领域:

    建议继续 Java 或不换语言: #26, #46
    对学习新语言持怀疑态度或认为无差别:

    对学新语言持保留意见: #23, #25, #26, #27, #47
    学习全栈技术或移动开发技术:

    支持全栈或移动开发: #38, #53

    现在我们将对每个分类进行计数:


    Kotlin 和 JVM 语言: 9 条
    Go: 8 条
    Rust: 6 条
    JavaScript/TypeScript 前端技术: 9 条
    Python: 6 条
    其他语言或技术: 11 条
    继续 Java 或相关领域: 2 条
    对学习新语言持怀疑态度或认为无差别: 5 条
    学习全栈技术或移动开发技术: 2 条

    根据以上统计,可以看到回复中最常被推荐的是学习其他语言或技术,其次是 Kotlin 和 JavaScript/TypeScript 前端技术,然后是 Go 和 Python 。对于是否继续 Java 或相关领域的建议相对较少,而对学习新语言持怀疑态度的观点也有一定比例。学习全栈技术或移动开发技术的建议是最少的。
    dog82
        57
    dog82  
       2024-01-03 15:21:07 +08:00
    我建议搞全栈,服务端工程师可以学 vue
    NotAfraidLP
        58
    NotAfraidLP  
       2024-01-03 15:40:12 +08:00
    @Belmode 不是 十几个人小公司...公司好几个产品 前端 cljs 后端 clojure...
    keymao
        59
    keymao  
       2024-01-03 15:50:34 +08:00
    需求驱动 学的才会快。
    xiaohuzi
        60
    xiaohuzi  
       2024-01-03 20:16:10 +08:00
    学点编程外的...curd api boy 腻了
    heeeeeee
        61
    heeeeeee  
       2024-01-04 11:49:33 +08:00 via iPhone
    @Sigrdirfa 这是个前端框架,主要用来做服务端渲染的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2876 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:29 · PVG 19:29 · LAX 03:29 · JFK 06:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.