V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
HarrisonLee
V2EX  ›  奇思妙想

学 Java 还不如学 C++

  •  
  •   HarrisonLee · 2022-05-17 18:18:47 +08:00 · 5428 次点击
    这是一个创建于 955 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Java 容易上手,但是学习成本远远大于 C++。

    像是进程、线程、IO 、网络这些内容不深挖到操作系统层面,是不能真正理解和掌握的。相比而言,C++更容易与这些内容打交道,而 Java 更关注应用开发。Java 相比 C++多出了 JVM 和生态中的各种框架和中间件,大部分时间都被花在这上面去了; C++经常造轮子,反而会促进对这些底层内容的掌握。

    似乎可以得出这样一个结论:C++所要学的,对于学 Java 的都需要学;但 Java 需要学的,对于学 C++则不一定需要学。学 Java 还不如学 C++。

    各种大佬怎么看? Java 转 C++可行性如何?

    34 条回复    2022-05-19 17:37:30 +08:00
    echo1937
        1
    echo1937  
       2022-05-17 18:20:01 +08:00
    说得好像 C++不需要中间件似的,写 All in One 吗?
    lakehylia
        2
    lakehylia  
       2022-05-17 18:21:53 +08:00
    语言只是表象,你需要学习计算机基础知识。。。
    Jooooooooo
        3
    Jooooooooo  
       2022-05-17 18:22:57 +08:00
    不知道从哪说起...

    你是想学操作系统相关的知识还是?

    "Java 转 C++可行性如何?" 这个问题不得从找工作的角度考虑吗
    ration
        4
    ration  
       2022-05-17 18:25:47 +08:00 via Android
    看你做什么,底层 C ,业务 java
    Renormalization
        5
    Renormalization  
       2022-05-17 18:38:27 +08:00   ❤️ 2
    不如 Fortran (狗头
    1194129822
        6
    1194129822  
       2022-05-17 18:53:43 +08:00   ❤️ 1
    那你看看 linux 之父怎么评价 C++的,你想转就转咯。你以为学了 C++就懂了 OS ,网络协议,数据库吗
    HarrisonLee
        7
    HarrisonLee  
    OP
       2022-05-17 19:04:03 +08:00 via Android
    @1194129822 至少可以花更多的时间在这些上面
    Edcwsyh
        8
    Edcwsyh  
       2022-05-17 19:04:46 +08:00   ❤️ 1
    我觉得这不是编程语言的问题, 按你的说法直接学汇编岂不是更好, 更能了解操作系统
    Java 转 C++? 我觉得你如果基础好, 啥语言转啥语言都没问题, 不过这事还是要以薪资为导向吧...
    LeegoYih
        9
    LeegoYih  
       2022-05-17 19:56:12 +08:00
    面向就业编程学都不影响,对与程序员个人来说,比较忌讳非 A 语言即 B 语言。
    我用 Java 当主要吃饭工具赚了很多钱,也不影响我平时玩 Go/Python/C++啊。
    HarrisonLee
        10
    HarrisonLee  
    OP
       2022-05-17 20:04:18 +08:00 via Android
    @LeegoYih 确实也是
    across
        11
    across  
       2022-05-17 20:22:22 +08:00
    从技术角度讲是这样,C++更底层,技术学起来感知更明显。

    但这也是个问题,C++一般做基建库,你没有类似场景,写不出来东西,写出来了也不好验证,成长周期实在太长了。
    Java 好歹中前期你自己做点小东西,开发速度快。
    systemcall
        12
    systemcall  
       2022-05-17 20:51:08 +08:00 via Android   ❤️ 5
    你怎么不去学一下 51 单片机?
    micean
        13
    micean  
       2022-05-17 20:57:55 +08:00
    为什么不能一起学?
    Jwyt
        14
    Jwyt  
       2022-05-17 21:46:25 +08:00
    无非是造不造轮子罢了,我自己学了 rust 也拿它来写 web 阿。。你用 java 写轮子一样能接触到这些知识,你要是写不下去轮子你学 c++也没用
    lessMonologue
        15
    lessMonologue  
       2022-05-17 22:10:25 +08:00
    看懂 op 的意思了,你需要学的不是 C++,是 apue 和 unp
    haah
        16
    haah  
       2022-05-17 22:21:46 +08:00
    买房子不如买股票!
    HarrisonLee
        17
    HarrisonLee  
    OP
       2022-05-17 22:43:49 +08:00 via Android
    @lessMonologue tlpi 怎么样
    lessMonologue
        18
    lessMonologue  
       2022-05-17 23:11:23 +08:00
    @HarrisonLee 没看过 tlpi ,还是浅薄了😂
    dqzcwxb
        19
    dqzcwxb  
       2022-05-18 00:40:06 +08:00
    说得对,我也觉的开挖机的一定要会修发动机要不然就是基础不牢迟早完蛋
    zagfai
        20
    zagfai  
       2022-05-18 01:24:20 +08:00   ❤️ 1
    去杭州上海学 java , 去广州深圳学 c/cpp ,想润学 solidity ,想做杂 7 杂 8 的什么分析 AI 创业其他的学 python
    agagega
        21
    agagega  
       2022-05-18 01:36:05 +08:00 via iPhone
    Java 和 Cpp 长得像,实际上完全是两个语言两种生态。学 Cpp 可以触类旁通了解很多语言:RAII 和 Rust 那套所有权机制的关系就不说了,模版和 STL 的变体活在很多现代语言的接口 /mixin 机制里(比如 Rust 的 impl trait 和 Swift 的 extension protocol ),还有(蹩脚地)实现 Dependent Type 的模版元编程
    Y29tL2gwd2Fy
        22
    Y29tL2gwd2Fy  
       2022-05-18 02:30:17 +08:00 via Android   ❤️ 3
    @dqzcwxb 最后发现都学了一遍,还不如学开挖掘机薪水多
    levelworm
        23
    levelworm  
       2022-05-18 02:35:40 +08:00
    Real Programmers Use [ ]
    请填空
    kunkunzhang
        24
    kunkunzhang  
       2022-05-18 08:49:26 +08:00
    不能理解。个人觉得两个语言没什么可比性,写的了 C++的人 学不会 java ?
    t2jk4000
        25
    t2jk4000  
       2022-05-18 09:34:18 +08:00
    学校里是这样的,出来工作就没那么多选择了
    frank1256
        26
    frank1256  
       2022-05-18 09:36:13 +08:00
    你写 crud 能和写中间件的人一样?需要的知识能一样?干什么活,学什么知识。
    dqzcwxb
        27
    dqzcwxb  
       2022-05-18 10:41:40 +08:00
    @kunkunzhang #24 不是杠哈,你看我 19 楼的回复
    "修的了发动机的学不会挖掘机?"
    aguesuka
        28
    aguesuka  
       2022-05-18 13:35:18 +08:00
    学 C++不如学 rust 不如学 hashkell 不如学 agda 不如学 coq 不如学 latex 不如学 ppt
    darkengine
        29
    darkengine  
       2022-05-18 15:52:20 +08:00
    @aguesuka 链式调用,优雅
    chenmobuys
        30
    chenmobuys  
       2022-05-19 13:55:49 +08:00
    为什么不去学汇编?
    HarrisonLee
        31
    HarrisonLee  
    OP
       2022-05-19 14:58:56 +08:00
    @chenmobuys 正在学啊,去年学完 32 位保护模式,今年学 64 位的
    chenmobuys
        32
    chenmobuys  
       2022-05-19 15:27:19 +08:00
    @HarrisonLee 加油
    fromdark
        33
    fromdark  
       2022-05-19 16:07:58 +08:00
    那你是不是还要学汇编。
    另外机组,操作系统这些也还不够深入底层,是不是得学习数电模电,这种真正的底层。
    最后,成功在纸带上打孔编程。
    kunkunzhang
        34
    kunkunzhang  
       2022-05-19 17:37:30 +08:00
    @dqzcwxb 你这个对比不对啊。你应该类比。 修发动机和开挖掘机都不是同一行的。 修得了航天飞机的发动机也能修挖掘机的发动机
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2712 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:06 · PVG 20:06 · LAX 04:06 · JFK 07:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.