V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
牛客网
HiShan
V2EX  ›  程序员

程序员如何选择自己的第二语言?

  •  1
     
  •   HiShan · 60 天前 · 6909 次点击
    这是一个创建于 60 天前的主题,其中的信息可能已经有所发展或是发生改变。

    题主主要是做 Golang 开发,不知道有没有必要选择第二门编程语言来学习,请教一下各位大佬。

    第 1 条附言  ·  59 天前
    选择第二门不是一个限制,只是想着如何提升自己的技术与思想
    第 2 条附言  ·  59 天前
    目前感觉:英语、Lisp 系、Haskell.
    主要是想用第二门语言来拓展视野和编程思想(例如学会 FP 可以用另外的角度来解决算法问题)
    84 条回复    2020-09-01 20:05:55 +08:00
    dji38838c
        1
    dji38838c   60 天前
    德语
    chenqh
        2
    chenqh   60 天前   ❤️ 1
    有就学 js?
    baozixixi
        3
    baozixixi   60 天前
    我是工作 golang + python
    自己平常在看 java
    tikazyq
        4
    tikazyq   60 天前   ❤️ 14
    英语
    nightwitch
        5
    nightwitch   60 天前   ❤️ 1
    第一门是静态语言第二门就选动态语言,建议 Python/Javascript,生态好,能干很多事
    qdwang
        6
    qdwang   60 天前 via iPhone
    rust
    akira
        7
    akira   60 天前
    多学几门语言,总归是好事。不一定要精通
    既然已经会 go 了,py 什么的可以考虑下
    guanhui07
        8
    guanhui07   60 天前 via iPhone
    js ?
    ericls
        9
    ericls   60 天前 via iPhone   ❤️ 2
    至少要 5 个语言 之后新语言基本上可以不学直接上手

    学那种能颠覆你认知的语言 完全不一样的语言
    no1xsyzy
        10
    no1xsyzy   60 天前   ❤️ 3
    这得看你选择第二种语言的目的是什么……
    1. 工资 —— 取决于当前环境和你的城市,大致上来说是 Java 供序都绝对地多,也就不容易出现不稳定因素;但同时一些老语言会产生铁饭碗、一些语言在特别领域的特殊应用(比如 Python 之于大数据、JavaScript 之于 Web )。
    2. 辅助性工具 —— 动态、解释型且库多的语言,主要是 Python/Javascript 。
    3. 另一种语言的思维方式 —— 我建议你选个和之前的非常不同的,上面说的 Python/Javascript 是一个选项,但我建议是 Lisp 或者 Haskell (因为实在太不同了),不要管那些语言的细枝末节技术细节,主要是借鉴思路。
    di94sh
        11
    di94sh   60 天前 via iPhone
    py 性价比非常高,无论是找工作还是自己用,另外推荐在学一门无 gc 的语言比如 rust
    love
        12
    love   60 天前   ❤️ 1
    js 比 py 性价比更高,py 能做的 js 也能做,py 做不了的 js 也能做
    ETiV
        13
    ETiV   60 天前
    学前端,一步到位
    直接学会 3 种语言:HTML 、CSS 、JavaScript
    wangritian
        14
    wangritian   60 天前   ❤️ 1
    学语言只是几天到几周的事,但操作系统、网络、数据库、分布式等等这些底层知识决定了你将来的高度,它们是需要长期累积的
    hahasong
        15
    hahasong   60 天前 via iPhone
    日语,平时看剧,海淘,东南亚旅游也方便
    hoper2333
        16
    hoper2333   60 天前 via Android
    😂想到之前是为了写油猴插件才学 js 的,第二门语言可能是被逼的
    liberty1900
        17
    liberty1900   60 天前 via Android
    Shell + Awk
    EminemW
        18
    EminemW   60 天前
    讨厌 py 虽然自己认真学的第一门是 py
    shangyes
        19
    shangyes   60 天前 via Android   ❤️ 1
    想提高生产力,考虑学 shell 或者 py
    想拓宽认知,考虑学 fp 语言
    想更接近底层,考虑学 rust 或者 c++
    还有 c#或者 kotlin,如果打算写 win/android 应用的话用起来很爽
    但是不管怎样学 js 肯定错不了(滑稽
    w3cfed
        20
    w3cfed   60 天前
    Golang 、JavaScript 、TypeScript 、C#
    wlt233
        21
    wlt233   60 天前 via Android
    看到标题→第二外语
    点进来→原来是编程语言...
    学些胶水语言呗,缝些小玩意还是蛮快乐的
    widewing
        22
    widewing   60 天前 via Android
    我这些年主力语言转变:C++ -> JAVA -> Python,越用越简单了
    MeatIndustry
        23
    MeatIndustry   60 天前 via iPhone
    直接学一下编程语言理论呗,嘿嘿
    copymaster
        24
    copymaster   60 天前 via Android
    这个问题我前不久刚问过,原帖 https://www.v2ex.com/t/694833,最终还是学了 c++
    计科专业只会 java,c 和 c++不学一个感觉有点水
    yousabuk
        25
    yousabuk   60 天前 via iPhone
    我自己这些年的我主力语言:
    底层,Linux,嵌入式:C
    互联网,数据分析,服务器:Java
    网页:VUE
    工业测控:LabVIEW
    cat
        26
    cat   59 天前 via iPhone   ❤️ 1
    说了几百次程序员不要被语言限制,喜欢哪个学哪个,面向工资编程 哪个高学哪个,多学几个语言开阔思路才是正解,别自己一上来就限制在“第二”语言
    zachlhb
        27
    zachlhb   59 天前 via Android
    可以多了解了解啊,每种语言都写个 demo,看自己能接受那种,像我就实在接收不了 golang 的语法,感觉贼别扭
    mathzhaoliang
        28
    mathzhaoliang   59 天前
    不管选择什么语言,一定以提升自己的生产力为第一目的,最好是有明确的使用需求。
    xuanbg
        29
    xuanbg   59 天前   ❤️ 1
    没必要特意去学一门语言。

    语法没啥好学的,大家都是差不多的。API 也没啥好学的,用的时候利用一下搜索引擎就完了。但你需要去了解 go 或者别的语言的一些生态,要知道有哪些好的工具,可以帮你做什么。这个非常重要,不了解生态,就做不好技术选型,就会掉坑里面。。。
    Redbeanw
        30
    Redbeanw   59 天前
    不管干什么 cpp 必学
    CosimoZi
        31
    CosimoZi   59 天前 via Android
    haskell
    DOLLOR
        32
    DOLLOR   59 天前
    如果为了好玩:haskell 、lisp 、Rust 。
    如果为了实用:JavaScript 、TypeScript 。
    tuchg
        33
    tuchg   59 天前 via Android
    提升思想那就完全颠覆思维,同楼上 haskell
    cco
        34
    cco   59 天前   ❤️ 1
    后端 JAVA + 前端 JS/HTML/CSS/VUE,饿不死。
    chengkai1853
        35
    chengkai1853   59 天前
    要用什么,直接学了拿来用就好了。除了主修语言,其它全是第二语言。反正不常用的总归忘得很快。
    supuwoerc
        36
    supuwoerc   59 天前
    面向工资编程 哪个工资高就奔哪个
    HiShan
        37
    HiShan   59 天前
    @cat 不是被语言限制,而是选一门语言来拓展视野
    cym1102
        38
    cym1102   59 天前
    如果是做后端 ,那么 js html css 必学, 总有一天你会用到前端知识, 如果你做前端, 那就学一门 java
    b0644170fc
        39
    b0644170fc   59 天前
    我是选择和工作相关的.主力 java,工作中需要用 redis,那就学 lua; 用到 Gradle,就学 groovy,groovy 在 java 中的使用场景还是挺多的,除了 gradle,还可以做单元测试,es 等
    raptor
        40
    raptor   59 天前
    干程序员还要纠结这种问题?谁不是得学个一二十种语言啊,二十年前光是汇编我就学了一二十种……
    pkoukk
        41
    pkoukk   59 天前
    我建议 c#,感受一下对码农最友好的语言是什么样的
    thinkmore
        42
    thinkmore   59 天前
    我是 javaer,之前很排斥学习第二门语言,但是最近工作又要用到 python,被逼上岗去学了下 python.

    基础语法上手真的很快(零零碎碎三天搞定),幸福感比较强,毕竟上手快。虽然还没有做什么大项目

    所以呀,大可不必看成洪水猛兽。可以当做自己知识的延伸
    Hanggi
        43
    Hanggi   59 天前
    其实基本思路就是第二语言可以作为第一语言的一种补充。
    所以语言选择尽量选择不同类型的,比如:

    脚本语言:Node.js ( JS ),PHP,Python,Ruby ...
    系统级语言:C/C++,Rust ...
    一把嗦语言:Java,Go,C# ...
    人工智能:Python,R,Matlab ...

    每个大分类选一个就好了,根据自身需求,应用场景。
    同一种类一般不需要会多个语言。

    比如楼主现在会 Go,那么可以选择一门脚本语言,现在比较火的有 Node.js 和 Python 。
    如果偏向 Web 就 Node.js + TS + Nestjs + Angular 什么的一把嗦。
    偏大数据就 Python 。
    PTLin
        44
    PTLin   59 天前
    建议学学 Haskell
    asm
        45
    asm   59 天前
    必须日语呀,碰到有些没有字幕的,少点剧情,少点意思。
    volvo007
        46
    volvo007   59 天前
    @love 最近正在看 js,想请教下,用 js 怎么写爬虫或者做机器学习
    HiShan
        47
    HiShan   59 天前
    @PTLin
    @CosimoZi

    Haskell 感觉好难,得花很多时间才能搞懂一样
    MrKou47
        48
    MrKou47   59 天前 via iPhone
    我觉得韩语不错,语法非常简单,文字也好写。一些发音和中文也差不多
    reshui
        49
    reshui   59 天前
    我觉得。。英语是不二之选
    melvin
        50
    melvin   59 天前
    学后台程序员永远学不会的 css
    cdffh
        51
    cdffh   59 天前
    选个动态语言感觉不错 py js php 都不错
    scnace
        52
    scnace   59 天前 via Android
    语言感觉不是很重要,编程思维感觉比语言本身重要,语法这种东西用到了再去学也不迟啊……
    zzzmh
        53
    zzzmh   59 天前
    主后端,目前在学习前端,感觉根本学不完,h5c3js 学了点基础,然后学了 vue,现在又要学 vue cli webpack,感觉已经力不从心了,后面还有一堆不会的一看就头疼
    Mutoo
        54
    Mutoo   59 天前   ❤️ 1
    《七周七语言》配合《代码之髓》一起服用,祝早日找到心仪的第二语言。
    flowercoder
        55
    flowercoder   59 天前
    shell 可以看一下,基本很简单,用的比较多的也就 if else awk/sed/,那个写好了,能省时间,还有 python,学好了也很省时间。
    dreamtrail
        56
    dreamtrail   59 天前
    我现在在学第四语言
    gaoyadianta
        57
    gaoyadianta   59 天前
    别听这帮装 x 的瞎扯,老老实实 python 搞起来,不用谢
    gaoyadianta
        58
    gaoyadianta   59 天前
    你就只会个 go,还远没到学那些冷门中的冷门的东西的地步
    haleyao
        59
    haleyao   59 天前
    meow? bark! 手动狗头
    zhz1237ok
        60
    zhz1237ok   59 天前
    喜欢哪个语言就学哪个,如果是为了工作,那就选互补的语言
    lidashuang
        61
    lidashuang   59 天前 via iPhone
    ruby
    damngood
        62
    damngood   59 天前
    不用容易忘.
    学过的语言七七八八的很多. 但真正可以快速拿来工作的就那么 2-3 个...
    inorilzy
        63
    inorilzy   59 天前 via Android
    @love 现在 js 也能做机器学习和数据分析了吗。
    fatestigma
        64
    fatestigma   59 天前
    感觉可以考虑系统的学习编程语言,推荐华盛顿大学的 CSE341 编程语言( Programming Languages ),Coursera 上有,课程中依次介绍 SML 、Racket 、Ruby,并系统分析编程语言的特性,不同编程语言的种类
    以后遇到新的语言之后,学起来感觉也会更快一些
    zppass
        65
    zppass   59 天前
    看你实际能不能用到,用到的话可以作为自己第二语言,要不然光看文档打几个“hello world”没什么太大意义,最好带入实际使用中去。
    实在不行就是自己喜欢的东西,喜欢 python 搞 python,喜欢 k8s 就试试 go,喜欢前端展示就 JS 前端框架,操作系统源码实现就直接 C 。
    keymao
        66
    keymao   59 天前
    不要去学,要去用。

    人类的记忆模式决定了,你几个月不用就会忘得一干二净,精精光光。

    至于如何选择第二个语言,我只能告诉你,看你的需要,你需要用到什么,就学什么。
    ZehaiZhang
        67
    ZehaiZhang   59 天前
    Deutsch bitte
    nomemo
        68
    nomemo   59 天前
    java,python
    产品经理的建议
    khjian
        69
    khjian   59 天前
    这有啥选择的,都是在项目中学的,干几年啥语言都会了
    lancelock
        70
    lancelock   59 天前
    cpp
    aguesuka
        71
    aguesuka   59 天前 via Android
    建议去知乎问,那里的老哥喜欢这种问题
    lonelymarried
        72
    lonelymarried   59 天前
    我都用好几个语言了
    itskingname
        73
    itskingname   59 天前
    学 LaTex,写文章好的排版能加分。
    学 VHDL 硬件描述语言,软硬结合。
    学 Lisp,另一种编程思路。
    pastgift
        74
    pastgift   59 天前 via iPhone
    计算机语言只要不是太冷门的都该知道点的吧
    人类语言有兴趣可以考虑日语德语,没兴趣还是提高英语吧
    wy7305e
        75
    wy7305e   59 天前 via Android
    只用两门哪够。
    不管什么语言,都要学好英语。
    PTLin
        76
    PTLin   59 天前
    @HiShan Haskell 有 Haskell 趣学指南这本非常好的入门书,我当年看 Haskell 趣学指南这本书的过程中充满了乐趣,假如你有空闲的话绝对值得一看。
    huiyifyj
        77
    huiyifyj   59 天前
    go + rust + nodejs
    HiShan
        78
    HiShan   58 天前
    @huiyifyj 为啥要有 nodejs?
    @PTLin 已经开始看了,谢谢大佬
    crackhopper
        79
    crackhopper   58 天前
    一开始我也跟楼主一样纠结过。现在不纠结了,基本开发过项目的有 10 门左右,学了点皮毛为了看源码的还有 10 来种。我建议根据问题驱动就好,比如看源码,单独学习语言没啥用。
    crackhopper
        80
    crackhopper   58 天前
    视野和编程思想,主要也体现在源码里。不看源码学了也没用。如果是纯新手入门,我觉得还是 c 或 js 好点,py 其次吧。
    HiShan
        81
    HiShan   58 天前
    @crackhopper 什么项目的源码?推荐一下
    liguangsheng
        82
    liguangsheng   58 天前   ❤️ 1
    至今为止的语言:
    写过 3000 行以上的项目的有 C/C++,Java,C#,Python,Golang,elisp
    写过小脚本的有:Python,lua,javascript
    试玩过的有:Rust,Kotlin,Dart,Haskell

    目前的语言配置:
    系统级语言:Rust
    脚本语言:Python
    恰饭语言:Golang
    Emacs 配置语言:elisp

    不同语言接触的多了,发现除了特殊的小众语言,其实大部分语言的语法元素都差不多,基本看看语法就能直接上手,然后熟练度都是用出来的。如果不经常用,就算很熟的语言也会生疏。
    msg7086
        83
    msg7086   58 天前
    要拓展视野为什么才开始学第二语言呢。
    我进大学之前已经会好几门语言了。
    我觉得至少要看过六七个不太一样的语言才算比较好。
    静态的动态的编译的解释的,完全面向 OO 的,函数式风格的,等等。
    crackhopper
        84
    crackhopper   58 天前
    @HiShan js 当时我看的是 strapi 和 vue 、elementui ; C++看了 cocos-2dx 、caffe 、caffe2 、opencv ; python 没咋看直接用的,好像看了 keras ; haskel 可以看 pandoc,我没细看; lisp 我看了 emacs-lisp 的一些插件,recent-f 之类的;我觉得这个主要看你的兴趣吧。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1588 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:49 · PVG 07:49 · LAX 16:49 · JFK 19:49
    ♥ Do have faith in what you're doing.