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

想学一门新语言, go 和 Python 大家推荐哪个

  •  
  •   shigure00 · 2022-07-06 17:30:07 +08:00 · 9451 次点击
    这是一个创建于 900 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在开发语言主要是 java 和 scala ,主要是写 spring boot 增删改查还有 spark/flink 开发

    最近有些空余时间,感觉可以新学习一门语言,拓宽一下自己的技能,感觉最近 go 和 python 都大火,python 稍微了解点,go 是完全不了解,所以问一下大家这两门语言的前景如何,然后主要是用来做哪方面的开发。或者有没有其它的语言推荐。

    98 条回复    2022-07-14 17:32:35 +08:00
    yohole
        1
    yohole  
       2022-07-06 17:35:12 +08:00   ❤️ 1
    两年前我面临跟你一样的抉择,我写了比较长时间的 java ,始终适应不来 go 的语法,于是选择了 python 。

    然后后面用 python 写了一些 demo 级的东西,有爬虫,有数据分析,也为了把 tensorflow 跑起来,了解了一些基础知识,但是由于始终没有工作场景,荒废一段时间了

    于是。。。最近又开始重学了 C
    iold
        2
    iold  
       2022-07-06 17:35:22 +08:00   ❤️ 2
    选 C: Rust
    Jwyt
        3
    Jwyt  
       2022-07-06 17:35:54 +08:00
    这俩还是选 go 吧
    qianxi0410
        4
    qianxi0410  
       2022-07-06 17:44:17 +08:00
    你写 scala 不该去学 Haskell 吗,go 的类型系统你受不了。
    shyrock
        5
    shyrock  
       2022-07-06 17:48:33 +08:00
    难道不应该是 js ?这样一个人就全栈了啊
    shigure00
        6
    shigure00  
    OP
       2022-07-06 17:51:12 +08:00
    @qianxi0410 Haskell 也太硬核了,这东西学了怕是只能提升 fp 水平,没有具体场景可以用得到吧
    shigure00
        7
    shigure00  
    OP
       2022-07-06 17:52:25 +08:00
    @shyrock 阻挡我全栈的是 css ,而不是 js ,css 这玩意我觉得不是一般人能学会的
    shigure00
        8
    shigure00  
    OP
       2022-07-06 17:52:47 +08:00
    @yohole 多谢分享,我参考参考
    garlics
        9
    garlics  
       2022-07-06 17:56:17 +08:00
    如果是兴趣推荐学 python ,感受一下动态语言的语法。前景就 go
    xooass
        10
    xooass  
       2022-07-06 17:58:50 +08:00
    用来自己私活搞点东西就 py 这玩意就跟搭积木一样 做东西太舒服了

    但是公司不会去用积木的,真要拿工资的那还是 go
    XCFOX
        11
    XCFOX  
       2022-07-06 18:02:05 +08:00   ❤️ 1
    有 Java 基础 学这两门语言的语法半天就学会了,所以我觉得你应该都学一下。
    Go 的主要应用场景是后端开发,目前市场比较火热。
    Python 的主要应用场景是人工智能和大数据,不过这些学起来比 Python 本身费劲儿多了。

    单纯享受学习编程语言这个过程的话,我会推荐学习 Rust 和 C#,现代且优雅。
    ciki
        12
    ciki  
       2022-07-06 18:02:11 +08:00
    rust 啊
    imycc
        13
    imycc  
       2022-07-06 18:04:47 +08:00
    储备技能用于转行:选 go
    用来做玩具:选 python
    catsoul
        14
    catsoul  
       2022-07-06 18:13:27 +08:00
    当然是 JS & TS
    v23x
        15
    v23x  
       2022-07-06 18:16:54 +08:00
    2022 年了还学 python 啊....

    哪怕学 Node.js 都比 python 好很多啊
    v23x
        16
    v23x  
       2022-07-06 18:17:51 +08:00
    真要学新语言 现在这个阶段 肯定是 Rust 首选啊
    BBCCBB
        17
    BBCCBB  
       2022-07-06 18:19:10 +08:00
    我前几年学 go, 现在在学 rust. 比较好的一门语言...
    jujyjse
        18
    jujyjse  
       2022-07-06 18:20:55 +08:00
    建议都学
    ChangQin
        19
    ChangQin  
       2022-07-06 18:28:33 +08:00
    为啥建议学 rust 的人那么多啊
    SteinsGate
        20
    SteinsGate  
       2022-07-06 18:40:35 +08:00 via Android
    建议 go
    billzhuang
        21
    billzhuang  
       2022-07-06 18:42:51 +08:00   ❤️ 1
    当然是 rust 了,毫无疑问。

    挑难的学,简单的就不在话下了。
    13d1101
        22
    13d1101  
       2022-07-06 18:55:21 +08:00 via Android
    rust ,正在学习中,推荐
    xingjue
        23
    xingjue  
       2022-07-06 19:21:04 +08:00
    选 rust
    233373
        24
    233373  
       2022-07-06 19:22:47 +08:00
    @shigure00 同后端,也是感觉 CSS 好难,但是慢慢用起来,多跟着 YB 上面的教程模仿几个网页,慢慢的就感觉没这么难了,还是写的太少
    coolmenu
        25
    coolmenu  
       2022-07-06 19:24:17 +08:00
    rust 可以看看,uber 现在后台服务的选型是 zig ,加强版本的 C 语言,可以看看,rust 要是没啥项目,学了忘的特别快。
    LxnChan
        26
    LxnChan  
       2022-07-06 19:26:54 +08:00
    @shigure00 我跟你正相反,感觉 js 里面有些东西才反人类;至于 css 可以找现成的然后在 DevTools 里面慢慢调。

    顺便歪个楼问一下,现在我正在学 Go (以搞钱为最终目的),但是有点迷茫不知道 Go 能实现什么,以及学完了怎么强化和增加“工作经验”,请问大家现在怎么办。
    liaohongxing
        27
    liaohongxing  
       2022-07-06 19:27:00 +08:00
    python 根本不用学 ,脚本语言轻松上手 。
    Leviathann
        28
    Leviathann  
       2022-07-06 19:32:45 +08:00
    @coolmenu uber 要从 go 迁移到 zig 了?
    littlewing
        29
    littlewing  
       2022-07-06 19:39:13 +08:00
    rust
    fox0001
        30
    fox0001  
       2022-07-06 19:40:53 +08:00 via Android
    go 吧
    Moha
        31
    Moha  
       2022-07-06 19:42:17 +08:00
    为啥推荐 Rust 的这么多= =
    coolmenu
        32
    coolmenu  
       2022-07-06 19:42:53 +08:00
    coolmenu
        33
    coolmenu  
       2022-07-06 19:53:13 +08:00
    @Leviathann 不过 uber 主要用的 zig 的工具箱,不是 language ,作者的标题有点歧义
    roseduan
        34
    roseduan  
       2022-07-06 20:08:11 +08:00
    当年跟你类似,也是写 Java ,后来学了 Go ,转到 Go 做了一阵。
    现在是用 C 语言。
    mythabc
        35
    mythabc  
       2022-07-06 20:12:35 +08:00
    写 flink 应该是在做数据类工作把?往中间件走就学 go ,往应用、分析方向走就学 python
    DOLLOR
        36
    DOLLOR  
       2022-07-06 20:35:15 +08:00
    只要你熟悉过至少一个编程语言,python 基本不用学,拿来就能直接用了。
    alsas
        37
    alsas  
       2022-07-06 20:40:17 +08:00
    都学
    dabaibai
        38
    dabaibai  
       2022-07-06 20:52:42 +08:00
    学 C 等于学了所有
    DeWjjj
        39
    DeWjjj  
       2022-07-06 21:01:33 +08:00
    我以前以为学语言是一劳永逸的事情,一门打一一辈子。
    后来,为了加钱,我把市面上的语言学了个七七八八。
    des
        40
    des  
       2022-07-06 21:07:47 +08:00 via iPhone
    @billzhuang @coolmenu 确实,我已经从头学了三次 rust 了😅
    shigure0
        41
    shigure0  
       2022-07-06 21:13:02 +08:00 via iPhone
    感谢各位,看上去 python 对找工作帮助不是太大,我决定先去学 go 了😂
    shigure0
        42
    shigure0  
       2022-07-06 21:16:48 +08:00 via iPhone
    @mythabc 主要还是偏业务,因为数据量太大了,kafka 一天数据量几百亿,只能上 flink 和 spark 处理了
    shigure0
        43
    shigure0  
       2022-07-06 21:18:15 +08:00 via iPhone
    @233373 我感觉我缺少某种思维方式,不能很好的把 ui 图通过布局代码写出来😂
    shigure0
        44
    shigure0  
       2022-07-06 21:18:44 +08:00 via iPhone
    @XCFOX 好的好的,多谢建议,我决定先去学学 go
    lmshl
        45
    lmshl  
       2022-07-06 21:28:20 +08:00   ❤️ 1
    建议继续学 Scala 3 ,水很深。什么 Akka, Cats-Effect ,ZIO ,Refined 都摸一遍,工作中也用的上,技术深度也足够了
    timothyye
        46
    timothyye  
       2022-07-06 21:45:12 +08:00 via Android
    都学,技多不压身
    Jet
        47
    Jet  
       2022-07-06 21:53:19 +08:00
    Python 还不如学 bash
    jones2000
        48
    jones2000  
       2022-07-06 22:05:54 +08:00
    已经会了一门语言,把大学里面的 高等数学,离散数学,概率论,编译原理等课程在好好看看, 基础是最重要的。编程最后看的还是数学和行业经验。
    233373
        49
    233373  
       2022-07-06 23:09:55 +08:00
    @shigure0 慢慢来呗,时间久了就好了
    Evilk
        50
    Evilk  
       2022-07-06 23:22:01 +08:00
    建议学 PHP
    Dogtler
        51
    Dogtler  
       2022-07-06 23:47:50 +08:00
    @shigure00 作为后端我也这么觉得,css 真的太不合逻辑了。
    fgwmlhdkkkw
        52
    fgwmlhdkkkw  
       2022-07-06 23:56:08 +08:00
    go 不是上手就来……
    dcoder
        53
    dcoder  
       2022-07-07 00:32:54 +08:00
    当然写 python, go 的话不是领工资, 自己写相对比较痛苦
    lanlanye
        54
    lanlanye  
       2022-07-07 02:55:30 +08:00
    你本身会 Java 的话,学 Python 好些吧?再学一门静态类型的语言感觉没必要,而且我觉得 Go 社区还需要再积累几年。
    dcsuibian
        55
    dcsuibian  
       2022-07-07 03:29:02 +08:00   ❤️ 1
    /t/864138 ,2022 年是 JavaScript 连续第十年成为最常用的编程语言。

    我主 Java ,第二语言选 js 。这样自己就能开发 web 应用了,甚至是小程序、套壳 app 、Electron 。(虽然我现在越来越喜欢原生应用了)
    只能说 CSS 是块硬骨头,必须得啃、反复地啃,推荐《精通 CSS 》。

    Python 不建议(我学得比 js 还早,现在已经彻底不用了),除非你想搞机器学习,否则 Nodejs 很多地方可以替代了。
    Python 常见应用爬虫,本质就是 http 请求解析,js 也能做,而且做得更好,比如网页需要运行脚本生成 DOM ,甚至还有无头浏览器 Puppter 和 Playwright 这种大杀器
    Python 有多线程,却因为 GIL 锁无法利用多核心,有 async 和 await 但生态拉跨。而 js 的 async/await 就很好用,异步编程思想深入骨髓。

    Python 最大的优势是和 C/C++结合得很好,而且不像 js 的语言缺陷那么严重。
    www5070504
        56
    www5070504  
       2022-07-07 09:27:17 +08:00
    go
    wangyzj
        57
    wangyzj  
       2022-07-07 09:34:40 +08:00
    钝角
    zone10
        58
    zone10  
       2022-07-07 09:41:10 +08:00
    精力够的话可以都学, 硬要选一门的话建议是 Python. 如果你不是已经有一门主语言的情况下毫无疑问选 Go, 考虑到你已经有 Java 了, Go 跟 Java 的领域可以说几乎重合, 学了对你用处不大, 除非你打算转云原生方面, 这方面 Java 可能比 Go 差了点. 或者你觉得 Java 太卷想弯道超车也可以选 Go, 我觉得是非常有前景的.
    misaka19000
        59
    misaka19000  
       2022-07-07 10:00:51 +08:00
    都学
    jackliang007
        60
    jackliang007  
       2022-07-07 10:01:36 +08:00
    学 go 吧,
    sun522198558
        61
    sun522198558  
       2022-07-07 10:02:05 +08:00
    c++
    pkoukk
        62
    pkoukk  
       2022-07-07 10:21:27 +08:00   ❤️ 1
    rust 和 c#,这两才是能满足我理想中的编程语言
    python 现在的大多数代码都写在了 zen of python 的反面
    go 问就是大道至简,语法是简了,代码量哗哗往上涨
    cmdOptionKana
        63
    cmdOptionKana  
       2022-07-07 10:26:51 +08:00
    @pkoukk 对,刚开始以为 zen of python 是夸 Python 具有这些特点,后来才发现,正因为写 Python 很容易写着写着就偏离 zen of python 的要求,所以才需要提醒程序员管好自己,靠个人能力(而不是靠语言特性)去实现 zen of python 。
    anmu
        64
    anmu  
       2022-07-07 10:34:06 +08:00
    干什么学什么
    nash
        65
    nash  
       2022-07-07 10:37:04 +08:00
    目前看好 go ,未来看好 rust
    hujun528
        66
    hujun528  
       2022-07-07 10:59:19 +08:00
    c++
    fiypig
        67
    fiypig  
       2022-07-07 11:01:34 +08:00
    go
    XTTX
        68
    XTTX  
       2022-07-07 11:06:25 +08:00
    你应该先弄清楚学了用来做什么。纯粹娱乐不如找个爱好。是不是未来有工作需求。如果都不知道的话,不如学个前端
    jheroy
        69
    jheroy  
       2022-07-07 11:23:43 +08:00
    学这些语言不如学些深入的东西, 操作系统原理, 编译原理这些学透. 语言这东西想换就换.
    INCerry
        70
    INCerry  
       2022-07-07 11:25:36 +08:00
    C++ 或者 Rust 需要一层系统级的开发语言
    Suddoo
        71
    Suddoo  
       2022-07-07 11:39:07 +08:00 via iPhone
    不如学汇编和微码吧
    lujiaosama
        72
    lujiaosama  
       2022-07-07 12:17:58 +08:00
    学 rust 的人天天写工具么, 学了不用等于白费.
    ox180
        73
    ox180  
       2022-07-07 13:49:37 +08:00
    看你喜欢哪一方面了,如果还是 CRUD ,意义不大。深度学习推荐 python 。
    lscexpress
        74
    lscexpress  
       2022-07-07 13:57:24 +08:00
    我说个题外话吧,都不选。怎么开心怎么快乐就怎么过,可能你盲目学习一两个月感觉很充实了,但你要知道知识和技能是永远学不完的。需要用到什么再去学什么也不迟,真的。
    吾生也有涯,而知也无涯。
    Qds
        75
    Qds  
       2022-07-07 14:03:37 +08:00   ❤️ 1
    爬虫 深度学习 推荐 python 服务器应用 高性能处理 推荐 golang curd 程序员 哪个开发效率高就选哪个 推荐 C# 可以用全世界最好的 ide Visual Studio 简称 VS
    duke807
        76
    duke807  
       2022-07-07 14:13:13 +08:00 via Android
    @ChangQin
    @Moha
    @lujiaosama

    https://www.v2ex.com/t/864629#r_11854823 的 10 樓,可能是為了炫耀吧

    建議優先學 python ,因為 python 能干的事情更多,學它更划算,學了之後再考慮其它的,譬如往上走做前端學 javascript ,往下走可以學學基礎的 c
    zhangchongjie
        77
    zhangchongjie  
       2022-07-07 14:40:59 +08:00
    我学 c++
    yy77
        78
    yy77  
       2022-07-07 14:44:58 +08:00
    @shigure00 css 用 tailwind 这类的就行。直接写在 tag 上。
    heng1025
        79
    heng1025  
       2022-07-07 15:03:12 +08:00   ❤️ 1
    多年菜鸟前端路过,现在写 css 基本没难度了(早些年的恶梦已经过去了😓),布局全部 flex, 应用开发直接上 tailwind 。
    有需要再学,花点时间陪陪家人,养生,愉悦自己,可能比选择 go 还是 python 更香
    cnwlei
        80
    cnwlei  
       2022-07-07 15:36:16 +08:00
    建议 go 我是 java 转 go 目前准备去干 web3 了
    lizhisty
        81
    lizhisty  
       2022-07-07 15:54:51 +08:00 via Android
    @catsoul 学了写前端吗
    Gottfool
        82
    Gottfool  
       2022-07-07 15:55:56 +08:00 via Android
    二选一选 go 。python 适合不打算深入的人
    lzs5240
        83
    lzs5240  
       2022-07-07 16:15:39 +08:00
    Python 玩具自用
    想要技能吃饭上班的话选 Go
    placeholder
        84
    placeholder  
       2022-07-07 16:19:34 +08:00
    当然是 python 和 go 啦
    catsoul
        85
    catsoul  
       2022-07-07 16:19:36 +08:00
    @lizhisty 嗯,学了卷前端
    encro
        86
    encro  
       2022-07-07 16:24:36 +08:00
    @heng1025
    @yy77

    为什么你们不用 windcss 和 unocss?
    encro
        87
    encro  
       2022-07-07 16:24:51 +08:00
    windicss
    xiaoriri666
        88
    xiaoriri666  
       2022-07-07 16:48:43 +08:00
    PHP
    ZACHM
        89
    ZACHM  
       2022-07-07 16:50:21 +08:00
    我也是一直有在学一门语言的需求,可惜工作中实在用到的场景太少,不经常用的话学了就忘。。。
    ErwinCheung
        90
    ErwinCheung  
       2022-07-07 16:51:03 +08:00
    rust ,正在学习中,推荐
    zyy314680012
        91
    zyy314680012  
       2022-07-07 17:59:04 +08:00 via Android
    面向工作就 go 平时自己用就 python 做点小东西确实方便 什么库都有
    flynaj
        92
    flynaj  
       2022-07-08 02:08:45 +08:00 via Android
    Python 那种缩进相当蛋疼。
    heng1025
        93
    heng1025  
       2022-07-08 10:09:06 +08:00
    @encro 都用,看心情吧,差不多的东西
    Moha
        94
    Moha  
       2022-07-08 10:11:59 +08:00
    @duke807 好的,谢谢大佬
    HB9527
        95
    HB9527  
       2022-07-08 15:25:13 +08:00
    RUST
    zagfai
        96
    zagfai  
       2022-07-08 18:35:26 +08:00
    用熟了 python 再也不想用其他语言。。。。。。 开发效率那真是高,我以前团队经验是人力消耗是 go 的 30% 40%左右
    zagfai
        97
    zagfai  
       2022-07-08 18:36:48 +08:00
    当然性能也拉跨,以前 py27 的时候,我们大项目的总体效率 go 用的计算资源是 py 的 20%左右,现在 py3 应该会好点
    xzsljc
        98
    xzsljc  
       2022-07-14 17:32:35 +08:00
    储备技能用于转行:选 go
    用来做玩具:选 python
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2657 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 113ms · UTC 15:12 · PVG 23:12 · LAX 07:12 · JFK 10:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.