V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
copymaster
V2EX  ›  编程

第二编程语言学什么好?

  •  
  •   copymaster · 2020-08-01 15:52:04 +08:00 · 5793 次点击
    这是一个创建于 1607 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,已经学了 java,想再学一门语言,纠结学那个好,c,c++,python,go,rust...

    第 1 条附言  ·  2020-08-01 20:22:22 +08:00
    楼主是个学生,java 相关的框架 ssm,springboot 都学过了,小项目也写过,趁暑假想再学一个编程语言,回忆一下当初学 java 的感觉,但是又不想随便学一个浪费时间,想学一个和 Java 不一样但又比较有前途的语言
    56 条回复    2020-08-06 15:24:56 +08:00
    dioxide
        1
    dioxide  
       2020-08-01 16:04:55 +08:00
    有个理由是: 一套编译型,一套脚本型
    putaozhenhaochi
        2
    putaozhenhaochi  
       2020-08-01 16:11:00 +08:00
    js
    lxk11153
        3
    lxk11153  
       2020-08-01 16:14:02 +08:00
    当然是 web ( js/html/css ),这样就能自己写网站了 [滑稽保命] xhgxa.ml [doge]
    copymaster
        4
    copymaster  
    OP
       2020-08-01 16:17:09 +08:00
    @putaozhenhaochi
    @lxk11153
    学了 html,css 太痛苦了,实在是不想学 js
    lxk11153
        5
    lxk11153  
       2020-08-01 16:20:00 +08:00
    @copymaster #4 为何我觉得都很简单?(排除华丽效果等
    反正都是用工具呀,查 API 啊,都是传参而已。。。
    我就看过一本网页入门书,还没看完,之后就查 MDN
    Jirajine
        6
    Jirajine  
       2020-08-01 16:22:11 +08:00 via Android
    haskell,早点接触函数式以免被面向对象毒害太深。
    lxk11153
        7
    lxk11153  
       2020-08-01 16:25:37 +08:00
    @Jirajine #6 可以给我简单科普下什么是 函数式编程吗?[doge]
    THP301
        8
    THP301  
       2020-08-01 16:29:09 +08:00
    c 或者 C++
    lxk11153
        9
    lxk11153  
       2020-08-01 16:37:36 +08:00   ❤️ 1
    Keyes
        10
    Keyes  
       2020-08-01 16:42:35 +08:00 via iPhone
    scala,早入函数式早得道
    hubqin
        11
    hubqin  
       2020-08-01 16:42:39 +08:00
    casillasyi
        12
    casillasyi  
       2020-08-01 16:48:03 +08:00   ❤️ 1
    Clojure,lisp 大法真的香
    leafre
        13
    leafre  
       2020-08-01 16:49:30 +08:00
    js 难道不是必备?
    newee
        14
    newee  
       2020-08-01 16:51:55 +08:00 via iPhone   ❤️ 1
    小孩子才做选择,大人全都要
    fishCatcher
        15
    fishCatcher  
       2020-08-01 16:53:49 +08:00 via iPhone
    对于后端来说学 vue➕套各种造好的轮子就够了
    raaaaaar
        16
    raaaaaar  
       2020-08-01 17:10:26 +08:00 via Android
    不要为了学而学,带需求来,这样效率才高,只要你任意一门语言深入过底层的话,你会发现语言都差不多。
    hand515
        17
    hand515  
       2020-08-01 17:30:15 +08:00
    1. JS
    2. Python
    3. Go
    4. 精力足够再说
    love
        18
    love  
       2020-08-01 19:30:41 +08:00
    从有趣和工作角度都应该是我大 JS
    murmur
        19
    murmur  
       2020-08-01 19:36:38 +08:00
    后端的话学 go 啊
    crella
        20
    crella  
       2020-08-01 19:46:44 +08:00 via Android
    象……象征性地提个 Ruby,不需要学 Rails,纯 Ruby 感觉也没什么可学的
    yplam
        21
    yplam  
       2020-08-01 19:55:26 +08:00 via Android
    很少听到 “学了 Java” 这种说法,如果楼主是学生,只是学过 Java 相关课程,建议还是化个一年半载把 Java 用溜了再考虑学其他语言
    cmdOptionKana
        22
    cmdOptionKana  
       2020-08-01 19:57:38 +08:00   ❤️ 2
    java 程序员学 python 好处不多,增加不了多少新东西。

    学 web 前端增加的东西是最多的,但既然你不喜欢,那就 go 或 rust 里面挑一个吧(但这两个语言的语法对于日常只用 java 的人来说有可能会感觉很恶心)。

    python 的语法比较优雅,但学完你会发现 python 能做的事情你会更乐意用 java 去实现,毕竟最 java 的新语法加上工具链已经可以快速出活了,从这个角度看 python 没有足够的吸引力带你走出 java 舒适圈。

    而 Go 或 Rust 可以在不特别优化的情况下轻松提高性能、降低资源占用(与 java 相比),又可以轻松打包成一个单独的可执行文件,比如写一些命令行工具、在自己的个人服务器里加一些服务等等,因为占用资源少、部署方便,就比较容易吸引你脱离 java 舒适圈。
    ruyu
        23
    ruyu  
       2020-08-01 20:23:24 +08:00   ❤️ 1
    不同的语言背后的思想都不一样, 语言学得越多思路越开阔. 程序员的修炼之道中甚至说要每个月学一门语言. 所以, 不要纠结, 学就完了.
    copymaster
        24
    copymaster  
    OP
       2020-08-01 20:28:23 +08:00 via Android
    @ruyu 老哥算是说到点上了,学第二语言主要就是想开阔视野,选一个将来可能用得到的还是十分有必要的
    magiclz233
        25
    magiclz233  
       2020-08-01 21:07:55 +08:00
    go
    loading
        26
    loading  
       2020-08-01 21:09:27 +08:00 via Android
    有本书
    7 周 7 语言
    kakeiri
        27
    kakeiri  
       2020-08-01 21:14:25 +08:00
    学医啊,有一个老 IT 工作者告诉你了,请翻历史帖
    nguoidiqua
        28
    nguoidiqua  
       2020-08-01 21:20:56 +08:00 via Android
    学第二语言最主要是学习不同的编程思维,加上你也应该不需要马上实用,所以从 Java 之外,最适合你的确实是函数式语言,可以考虑 clojure 。

    不过大部分函数式目前应用都不太广,如果你一定要考虑将来用得上的话,golang 倒是也可以,也有点特色。
    Roung
        29
    Roung  
       2020-08-01 21:24:36 +08:00 via Android
    rust
    racket
    python
    elixir
    swift
    ts
    IGJacklove
        30
    IGJacklove  
       2020-08-01 21:30:56 +08:00 via Android
    说实话这些语言对你的职业生涯帮助不会很大,还不如深入学习 Java 技术栈的知识,微服务,NoSQL,Linux,MySQL,高并发等,技术深度比技术广度对你的帮助要大得多
    695975931
        31
    695975931  
       2020-08-01 22:49:20 +08:00
    go or python
    fivestrong
        32
    fivestrong  
       2020-08-01 23:17:04 +08:00 via iPhone
    rust 走起
    pcmid
        33
    pcmid  
       2020-08-01 23:17:50 +08:00 via iPhone
    想要深入学习的话推荐 c
    shyangs
        34
    shyangs  
       2020-08-01 23:30:44 +08:00
    學 JS, 這樣 web 開發可以前端後端都自己擼.
    wangyzj
        35
    wangyzj  
       2020-08-02 00:30:55 +08:00
    c
    CoderGeek
        36
    CoderGeek  
       2020-08-02 00:52:31 +08:00
    react?
    WngShhng
        37
    WngShhng  
       2020-08-02 00:56:12 +08:00
    程序员就不应该有第二语言这种说法,很多语言一摸就会了
    wdhwg001
        38
    wdhwg001  
       2020-08-02 01:17:29 +08:00 via iPhone
    我这边的建议是 C++20 。
    C++20 会让你知道学会其他语言所需要知道的所有知识和审美。
    wdhwg001
        39
    wdhwg001  
       2020-08-02 01:18:59 +08:00 via iPhone   ❤️ 1
    ……当然,其前提是如果你可以在学完之后幸存下来的话。
    movq
        40
    movq  
       2020-08-02 02:55:50 +08:00
    同问,已经学了 C++的话第二语言推荐什么呢?
    ifhwhlwpto
        41
    ifhwhlwpto  
       2020-08-02 03:02:21 +08:00
    @cmdOptionKana 不要忘了 python 在机器学习领域的地位。而且 python 作为万能胶水,迟早会用到的。
    yuikns
        42
    yuikns  
       2020-08-02 03:07:57 +08:00
    还有 scala, julia
    每几个月可以学用一门新的语言,从语法到构建到生态。那都是极好的
    miv
        43
    miv  
       2020-08-02 03:12:11 +08:00 via iPhone
    最为一个懒人,除非必要,第二编程语言我不想学。
    浪费精力,有这时间我玩不香吗。
    毫无目的去学习新语言对我来说只是重新学了一下语法,意义不大。
    miv
        44
    miv  
       2020-08-02 03:13:45 +08:00 via iPhone
    如果你学了 Java,第二建议 HTML 或者 CSS 。
    和 Java 不一样,所见即所得,香
    Tony042
        45
    Tony042  
       2020-08-02 07:46:18 +08:00
    @movq 可以学学 C++新特性,模板元编程,C++20 这些特性可以感受下,modern C++还是有很多好玩的地方
    Orenoid
        46
    Orenoid  
       2020-08-02 08:15:41 +08:00 via Android
    从实用性的角度出发可以考虑前端,学了能够自己独立写项目
    chenyu8674
        47
    chenyu8674  
       2020-08-02 10:23:21 +08:00
    去小公司做几年前端水平就修炼得差不多了,搞不好移动端也能搞了
    zorui
        48
    zorui  
       2020-08-02 11:49:40 +08:00
    lisp 大法好
    MaCreee
        49
    MaCreee  
       2020-08-02 14:53:37 +08:00 via iPhone
    我觉得看喜好吧,我自己主要做 Python,很多时候苦于前端太菜所以就自己学了点 Vue 最起码能把写的接口用上了,然后第二个我看 Go 做 web 也挺好就学了点 Go,所以我觉得兴趣是最大驱动力吧,找个自己愿意每天花时间写的语言最好了
    barrysn
        50
    barrysn  
       2020-08-02 15:33:42 +08:00
    julia 似乎不错
    black11black
        51
    black11black  
       2020-08-02 16:18:34 +08:00
    第二语言本身就是个挺逗的概念,这么说以后你还准备学第四第五第六语言?

    js 肯定是要学的,不可能完全不做前端,但 js 本身内容比较少,属于轻语言中比较轻的那种,放到你所说的“第二语言”,听起来尬的不得了。

    python 肯定也是要学的,除非你近几年完全不打算接触机器学习,并且楼上老哥说的挺好,万能胶水,总会用到的。楼上一个很尬的老哥说 python 能做的 java 都能做,有一说一确实,基本上只有性能差距。你反过来说也一样,基本上只有性能差距。但是这属于从大项目的角度考虑问题,生活中除了大项目代码你完全不码别的代码了?

    go 倒是实在没啥学的必要,个人观点。毕竟 go 的生态主要在于网络通信概念,同样需求你用 java 做也是做,用 go 做还未必真的省事。其他小众语言,rust 和 scala,理解为 cp 和 jv 的升级版,根据个人需求。C 语言不需要专门学,同样因为内容比较少,C++倒是真的可以作为“第二语言”,但是你要搞清自己学了有什么用,现在一般 C++佬也很少写 c++了,需求使然
    gitopen
        52
    gitopen  
       2020-08-02 18:48:56 +08:00
    @lxk11153 哥们的在线乞讨网站,让人眼前一亮!学习到了!
    tairan2006
        53
    tairan2006  
       2020-08-02 19:10:46 +08:00
    如果 java 只会写 ssm,跟不会没啥区别了…

    怎么着你也要看一下 netty 吧
    lxk11153
        54
    lxk11153  
       2020-08-02 19:14:19 +08:00
    @gitopen #52 付学费了吗? [doge]
    jones2000
        55
    jones2000  
       2020-08-02 22:14:31 +08:00
    一门语言起码学 3-5 年,50W-80W 行的代码量, 再考虑学其他的语言。
    BoarBoar
        56
    BoarBoar  
       2020-08-06 15:24:56 +08:00
    语言都差不多 重要的始终是对基础的理解 这也是科班相对培训班的最大优势
    比如我写 java 的时候,还是 ssh 的年代,手动引入 jar 包手动发布 tomcat,前两周因为某个需求,从头开始学 spring 全家桶 ,搭了个服务也就花了一周
    java 完善的生态导致 java 程序员有个常见的毛病就是沉迷于各种工具链中,编程=调包
    解决业务问题当然没错,但对个人成长不是好事
    你的情况,不如多去看几遍数据结构和算法
    相信我,即使你刚工作时 crud 用不上,到了某个阶段会很有用的
    不管是语言或工具,基础打好了学起来真要不了多少时间。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1195 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 23:25 · PVG 07:25 · LAX 15:25 · JFK 18:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.