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

Java 玩腻了 其实发现 golang 也还不错 确实很简洁

  •  
  •   silentsky · 2024-01-24 14:28:25 +08:00 via Android · 19018 次点击
    这是一个创建于 372 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言  ·  2024-01-24 23:38:58 +08:00
    有个疑问:刚了解了 golang 的 web 框架,感觉真的是百花齐放,数量不少,不像 java 基本就是 spring 全家桶,还有各种第三方包,我在想这种情况下会不会造成学习难度比 java 大呢
    179 条回复    2024-02-05 00:39:00 +08:00
    1  2  
    lsk569937453
        1
    lsk569937453  
       2024-01-24 14:29:54 +08:00
    其实 golang 的性能和 java 差不多的。
    28Sv0ngQfIE7Yloe
        2
    28Sv0ngQfIE7Yloe  
       2024-01-24 14:39:03 +08:00   ❤️ 2
    @lsk569937453

    前提是用 JDK21
    silentsky
        3
    silentsky  
    OP
       2024-01-24 14:41:18 +08:00
    golang 还有哪些地方觉得不爽的吗 大佬们可以讲讲
    coolfamilyxun
        4
    coolfamilyxun  
       2024-01-24 14:47:52 +08:00 via Android
    没多大意义。
    当我用上低代码阁下又该如何应对
    Lockeysama
        5
    Lockeysama  
       2024-01-24 14:48:28 +08:00
    @silentsky 非要说的话,就强类型吧,特殊情况下没 Python 这种灵活,需要更多的代码来处理相同的业务,不过这个本来就是这样的,属于鸡蛋里挑骨头
    BeiChuanAlex
        6
    BeiChuanAlex  
       2024-01-24 14:49:23 +08:00
    asm:我从来都是笑笑,不说话。
    silentsky
        7
    silentsky  
    OP
       2024-01-24 14:50:06 +08:00
    @Lockeysama 我觉得强类型是个优点
    coderxy
        8
    coderxy  
       2024-01-24 14:52:41 +08:00
    作为写过 node py 动态语言的人,我也想说 go 的强类型是优点。
    yazinnnn0
        9
    yazinnnn0  
       2024-01-24 14:54:36 +08:00   ❤️ 3
    正常, 接触过 go 的 java boy 如果不喜欢 go 的话, 只能他没有品味😅
    sunny352787
        10
    sunny352787  
       2024-01-24 14:59:12 +08:00   ❤️ 3
    golang 那个残疾的范型让我这个写惯了 C++模版的人感觉很难受

    另外就是限制多了点,类似左大括号不许换行以及声明变量不使用就编译不过这些...不过写习惯了也能忍吧
    lsk569937453
        11
    lsk569937453  
       2024-01-24 15:00:37 +08:00   ❤️ 44
    @yazinnnn0 讨论语言就讨论语言阿,怎么还上升到品味了。饭圈思想?
    arloor
        12
    arloor  
       2024-01-24 15:04:14 +08:00   ❤️ 4
    Rust 天下第一
    hankli
        13
    hankli  
       2024-01-24 15:05:10 +08:00   ❤️ 16
    PHP 天下第一
    hello2090
        14
    hello2090  
       2024-01-24 15:07:09 +08:00 via iPhone   ❤️ 2
    不懂,谁给的钱多听谁的,给我 200 万一年,COBOL 我都愿意写
    lstz
        15
    lstz  
       2024-01-24 15:14:10 +08:00 via Android
    我喜欢 golang ,我的开源项目 laftools 最开始是 Java ,但是实在难以忍受慢卡重,换做 golang 真的舒服好多了
    lstz
        16
    lstz  
       2024-01-24 15:14:40 +08:00 via Android
    golang 给你一种小巧灵活的感觉,做一些个人小项目绰绰有余了
    cmdOptionKana
        17
    cmdOptionKana  
       2024-01-24 15:19:14 +08:00
    @lstz 做小项目,golang 的工具链非常舒服,就是从零开始构建一个程序的过程很简洁,给人很“轻”的感觉。
    TUNGH
        18
    TUNGH  
       2024-01-24 15:24:47 +08:00
    @yazinnnn0 都是赚钱的工具而已,有什么品味区分
    szdev
        19
    szdev  
       2024-01-24 15:26:36 +08:00
    @lsk569937453 得看情况,有些小主机根本跑不动 java,但是 go 可以
    Lockeysama
        20
    Lockeysama  
       2024-01-24 15:26:46 +08:00
    @silentsky 是的,有得有失吧,写更安全、更健壮的代码会简单一些,代价就是牺牲点开发速度
    mynameislihua
        21
    mynameislihua  
       2024-01-24 15:28:51 +08:00   ❤️ 6
    说得好,我选择 C#
    cdzone
        22
    cdzone  
       2024-01-24 15:29:22 +08:00
    我感觉 golang 主要对标语言可能就是 java ,毕竟有 gc ,和 c/c++对不上生态位的。
    kuituosi
        23
    kuituosi  
       2024-01-24 15:29:53 +08:00   ❤️ 4
    普通 java 程序员也能把 java 写的很规范
    就算是高级 golang 也能把代码写的很难看
    yooomu
        24
    yooomu  
       2024-01-24 15:36:48 +08:00
    我觉得很 cool ,但我是不会选择用它干活,语言特性太简陋,写起来费劲,不适合写业务。我想处理个集合都费劲。即使现在有了泛型,但仍然不好用
    loudefa
        25
    loudefa  
       2024-01-24 15:47:53 +08:00
    @hello2090 是这么个理。。。
    wyl986
        26
    wyl986  
       2024-01-24 15:48:21 +08:00
    @hankli 不知道是 Laravel 的锅还是 PHP 的锅,我把项目里面有个被频繁请求的接口用 go 重写了,cpu 负载直接从 70% 降到了 40%; Laravel10 ,php8.2 ;但是我还是很喜欢 Laravel ,出活快
    mmrx
        27
    mmrx  
       2024-01-24 15:52:26 +08:00   ❤️ 8
    100 行 go 代码,50 行业务逻辑,50 行 err 处理
    yKXSkKoR8I1RcxaS
        28
    yKXSkKoR8I1RcxaS  
       2024-01-24 15:55:04 +08:00
    @wyl986 Laravel 的锅,Laravel 是出了名的臃肿。

    你可以使用其他 PHP 框架和 Laravel 对比一下,Laravel 是最慢的那一个。
    iosyyy
        29
    iosyyy  
       2024-01-24 15:56:27 +08:00
    @Morii 并不是 java 性能一直稍高于 go go 主要是编译快
    8355
        30
    8355  
       2024-01-24 16:01:55 +08:00
    @yazinnnn0 至少不用 xml 了
    Huelse
        31
    Huelse  
       2024-01-24 16:04:54 +08:00   ❤️ 1
    @mmrx 定睛一看业务逻辑都是 SQL ,go 就充当个中转站
    Ayanokouji
        32
    Ayanokouji  
       2024-01-24 16:19:01 +08:00
    @mmrx nonono 一行业务代码,3 行 err 处理(:狗头)
    qloog
        33
    qloog  
       2024-01-24 16:19:09 +08:00
    近今年一直用 go, 跨平台、强类型、编译快,谁用谁知道。国内很多公司的微服务也是基于 Go 的。开发 api 和 web 都没问题,框架也很多:gin, micro, go-zero, kratos, 不过我用: https://github.com/go-eagle/eagle
    silentsky
        34
    silentsky  
    OP
       2024-01-24 16:25:16 +08:00
    @qloog 我用 gin 写了几个接口 编译确实很快 启动也是 这个 java 无法比拟
    28Sv0ngQfIE7Yloe
        35
    28Sv0ngQfIE7Yloe  
       2024-01-24 16:37:11 +08:00
    @kuituosi gopher 会说 java 写出来又臭又长的
    ExplodingFKL
        36
    ExplodingFKL  
       2024-01-24 16:39:31 +08:00   ❤️ 1
    写 kotlin 的我瑟瑟发抖
    Leovim
        37
    Leovim  
       2024-01-24 16:39:33 +08:00
    @Lockeysama #5 冷知识,Python 也是强类型,只是动态类型赋予了它更多灵活度,相对而言 Golang 是静态类型。
    Uplay
        38
    Uplay  
       2024-01-24 16:45:25 +08:00 via iPhone
    @ExplodingFKL 写起来真的好舒服
    hankli
        39
    hankli  
       2024-01-24 16:47:01 +08:00
    @ExplodingFKL 发抖啥, 支棱起来!
    写业务还得是 kt 丝滑! 虽然我是个 Javaer,但不妨碍我业务用 kt, 工具用 golang. 😎
    dcsuibian
        40
    dcsuibian  
       2024-01-24 16:52:28 +08:00
    我就尝试过以后不太喜欢 Golang ,当然不可否认的优点有:强制格式化、体积小、轻量
    timnottom
        41
    timnottom  
       2024-01-24 16:55:52 +08:00
    golang + codegen 其实写起来还行,没有那么糟糕
    lesismal
        42
    lesismal  
       2024-01-24 17:06:53 +08:00
    @lsk569937453
    #1 单比较语言指令 cpu 消耗那些,不同测试项的确是各有千秋总体差不多。但是 java 离不开社区全家桶,当 java 都用这些东西的时候,实际生产项目的性能确实挺差的

    #11 也不算上升到品味,也不是饭圈。而是实事求是、确实是品味有问题
    lesismal
        43
    lesismal  
       2024-01-24 17:11:23 +08:00
    @yazinnnn0
    也可能是 java boy 技术还不够深入、经验还不够丰富的阶段、get 不到 java 有多差
    golang 虽好但毕竟性能还是达不到极致,java 的香,用郭德纲的话说,全靠同行衬托
    txzh007
        44
    txzh007  
       2024-01-24 17:26:17 +08:00   ❤️ 1
    目前来说,java 的 review 是我做过最舒服的,剩下的语言都多少有点奇怪
    ryanking8215
        45
    ryanking8215  
       2024-01-24 17:31:47 +08:00   ❤️ 2
    我知道大家都懂,看到了几个帖子,还是忍不住要提一下,python 是强类型。
    J2ephyr
        46
    J2ephyr  
       2024-01-24 17:36:01 +08:00
    ts 天下第一
    Dogtler
        47
    Dogtler  
       2024-01-24 17:37:34 +08:00
    我觉得不用写分号是个优点,以及 function 简写 func
    lvlongxiang199
        48
    lvlongxiang199  
       2024-01-24 17:40:38 +08:00
    @sunny352787 我觉得写 cpp 模板才难受(没 concept 的情况下), instantiation 的报错根本没法看
    sunny352787
        49
    sunny352787  
       2024-01-24 17:47:28 +08:00   ❤️ 1
    @lvlongxiang199 golang 的泛型不支持成员函数,我心里万马奔腾...
    soupu626
        50
    soupu626  
       2024-01-24 17:50:18 +08:00   ❤️ 4
    太简洁了,以至于我在不同的工程中看到了好多不同的 listContains 实现。。。
    又是怀念 apache-common 和 guava 的一天
    to2false
        51
    to2false  
       2024-01-24 17:51:09 +08:00   ❤️ 1
    @silentsky #3 残废版泛型
    GeekGao
        52
    GeekGao  
       2024-01-24 17:59:42 +08:00   ❤️ 5
    每一届踏入社会的程序员感慨 X 语言比 Y 好用。所以互联网上每年都会有不同年份的月经贴。
    coding 折腾 20 年的老狗就没这么些感悟了。已经懒得言语这些了。
    silentsky
        53
    silentsky  
    OP
       2024-01-24 18:16:23 +08:00 via Android
    @GeekGao 可能太闲了 偶尔来一下技术交流😂
    GeekGao
        54
    GeekGao  
       2024-01-24 18:25:57 +08:00
    @silentsky 对新技术的新鲜感还没过,玩多了就觉得都差不多,也可能是因为面向工资编程比面向喜好更实际了。
    byte10
        55
    byte10  
       2024-01-24 18:29:19 +08:00
    @yazinnnn0 我不喜欢 go ,因为他的类型和变量名 位置相反的,跟 js es6 ,跟 python ,c#,c c++ ,java 跟很多语言不太一样,非常的出戏,导致我的不喜欢它。
    byte10
        56
    byte10  
       2024-01-24 18:34:35 +08:00
    @szdev 其实 java 有一个东西叫做 AOT ,安卓就是使用这样的技术,开发出来的 app 电视盒子都可以跑。当然 go 天生更加简单。
    @lesismal java 差?一个生态好的语言,性能也不错语言,不知道为啥你说差。你了解得多少深入?分享一下。
    Bingchunmoli
        57
    Bingchunmoli  
       2024-01-24 18:49:47 +08:00 via Android
    @silentsky 时间处理算是不舒服的点,, 还有就是因为没有垄断生态,写项目要考虑技术选型,还有第三方库不太会找
    kneo
        58
    kneo  
       2024-01-24 18:54:21 +08:00 via Android
    写小应用内存占用十几 M ,很舒服。
    ShiJh
        59
    ShiJh  
       2024-01-24 19:54:33 +08:00
    err 处理绝对是最恶心人的,每次至少占用三行代码,虽然说这样对异常情况比较清晰,也会自觉的去处理各种异常情况,但是就是处理 err 就是多到令人烦躁
    lesismal
        60
    lesismal  
       2024-01-24 21:18:46 +08:00   ❤️ 1
    @byte10 Hi 好久不见!
    当年 golang 还没成熟的时候,我写 c/cpp 觉得有点累,于是手撸 NIO 被 java 的臃肿恶心到了,然后想想还是继续撸 c/c++算了,golang 成熟了我就撸 golang 了。
    性能这个,同样的看我前面楼层,别说语言指令这种,要用大家常用的对比。可能跟老 php py 这些比是要强些,跟 nodejs 、go 比应该都是被吊打。剩下的也只有所谓的生态优势,但对于 curder 来说其实主要是行业技术栈优势,例如电商、企业级已经有那么多 java 那没必要重新造一遍,但这并不是别的语言不能搞、而是它还算稳定所以没必要重新搞,它占领市场早所以岗位多罢了。但是新生领域或者说需求变化快的领域,它也并不具备优势,所以直接头条 b 栈猎豹移动七牛各种新兴势力倾向 golang 。抛开这些行业选择它的历史优势,很多 java 不适合的,例如云原生。还有一些虽然用了 java 实现的基础设施、但其实如果用其他语言会比它效果更好,同样也是历史原因罢了。

    另外,javaer 遇到“复杂”点的问题容易懵逼,例如系统知识,怎么排查网络、数据库各种。我不是说所有 javaer 都不懂,而是相比于 c/cpp/go 这些,javaer 不懂的人的比例有点多。言必称希腊,聊技术就是框架、全家桶、八股文。当然,我不是针对 java ,脚本语言的人绝大多数也基本都这样。并不是怪这些开发者不求上进,而是因为 java 社区就流行这种氛围,见过太多八股文选手,背了一大堆,侃知识点说的头头是道,离开八股文范畴面试问他点深入的就容易 game over 。
    我也看到过很多 javaer 自己总结:背会了很多八股,但结合实际了却不知道怎么应用。

    再说下 java 性能不错,比如 2018 年那会我门一些兄弟部门业务重构由 java 切到 go ,切换后对比了下,业务量还是原来那么多,他们对比了重构前后的消耗,以前 java 的内存消耗大概是 go 的 2-3 倍,cpu 消耗是 go 的 1.5-3 倍,响应时间 go 略好但整体上倒是没差太多基本可以忽略,因为并不是把服务硬件指标跑满、主要时间都是花在数据库上。别人喜欢用重构后消耗降低了多少百分比,但百分比看上去就好像是节省了一个比例罢了,反过来看,假设以前是 go 、切换到 java ,硬件成本直接翻 2-3 倍,这个情景就比下降的百分比更明显了
    lesismal
        61
    lesismal  
       2024-01-24 21:21:54 +08:00
    @byte10 所以对我而言,java 这种没有系统编程能力、性能有限、臃肿直到宇宙尽头、非常浪费硬件的“垃圾”,根本不值得我去浪费时间深入了解它,所以我并不那么了解它。这道理就像是,路上看到一坨狗屎,大家得躲着走,总不能要求别人上去尝一口然后才有资格说它臭吧。。。
    lesismal
        62
    lesismal  
       2024-01-24 21:23:52 +08:00
    我对 java 的评价一直很差,以上言论虽然是实话实说但对于一些同行来说可能有些刺激,如果管理员要处罚我,我认罚、以后本论坛里我尽量少喷 java 。
    testFor
        63
    testFor  
       2024-01-24 22:18:11 +08:00
    go 确实快,但是不是很习惯,因为不像面向对象的语言,也不像 js 哪种函数式回调的语言(可能因为我不太懂). 感觉更鼓励写同步代码,网络就是写死循环,这点从 netty 切换过来不是很适应,而且从网络来说,可能我先入为主,更适应 netty 的那种流水线形式的处理与各种协议的预置编解码器.
    不过最明显的改变就是 200 行我只能写一个 netty 的启动类+一点业务处理,但 go 可以完成一个网络服务,api 非常简洁
    diagnostics
        64
    diagnostics  
       2024-01-24 22:27:19 +08:00   ❤️ 2
    Go 爱好者很喜欢拿 Java 来对比,有的没得,谈到编程就喜欢把 Java 批判一番

    你见过哪个 Java 爱好者天天去碰瓷别人的?
    lesismal
        65
    lesismal  
       2024-01-24 23:19:05 +08:00   ❤️ 1
    @diagnostics

    > 你见过哪个 Java 爱好者天天去碰瓷别人的?

    兄弟,碰辞这个词用得不对了吧?

    你看你自己原话都说了是批判的啊:“谈到编程就喜欢把 Java 批判一番”

    怎么逻辑都不讲了呢。。

    @Livid 我怕自己忍不住继续陷到语言之争里,求站长大大把我禁言几天。。。
    yusheng88
        66
    yusheng88  
       2024-01-24 23:26:47 +08:00   ❤️ 2
    个人体验:
    go 的优势是:
    1 、 协程+标准网络库都做了非阻塞处理(比协程更重要)
    2 、 打包方式

    Java 的优势是:
    1 、 生态
    2 、 市场

    在 web 系统开发效率和规范性:
    Java >> go

    你在 web 领域遇到的问题,在 Java 中 99.99%都能找到解决方案和类库。

    至于别人吹嘘的 go 省内存和 cpu ,看看就好,特别是啥 Java 项目重构为 go 就省了多少内存,cpu 的。
    能节省内存,肯定是逻辑优化带来的,单纯语言的切换,能带来 1 倍内存差距?想多了,算下 go 的一个对象比 Java 节省多少内存就知道了。
    cpu 节省的,只能说,框架功能越少,cpu 越低。

    真正在 web 领域中性能和开发效率高于 Java 的,应该是 C#,但国内市场不好找工作(薪资对比 Java 会低些)。
    go 比 Java 更适合的业务场景是:中间件。

    最后就是网上所有人对于开发语言的评论都不用在意,没有人能精通多种开发语言,都是个人体会而已。
    Maboroshii
        67
    Maboroshii  
       2024-01-24 23:32:00 +08:00
    写多了 go 看其他语言感觉很难学。 (随便找一个热门语言就发现怎么满屏幕的 @
    lstz
        68
    lstz  
       2024-01-24 23:42:45 +08:00 via Android
    @cmdOptionKana 是的,而且不需要学习太多设计模式,简单粗暴好上手,就是它最大的优点
    mightybruce
        69
    mightybruce  
       2024-01-24 23:57:20 +08:00
    面向工资编程,go 平均工资肯定是比 java 高的,这个在国外的各语言统计有表现。
    大多数 javaer 基本都是依赖各种框架和库, 离开框架和库 属于什么都不会。
    语言都要分领域的,java 适合的和 go 适合的领域不一样,过个 10 年,业务开发有可能会出现 go 程序员和 java 一样人多了。
    现在不是 10 年前的市场,那是招聘基本是 curd 和 web 方面的人。
    securityCoding
        70
    securityCoding  
       2024-01-25 00:16:49 +08:00   ❤️ 1
    @silentsky #3 协程 panic 进程直接退出
    silentsky
        71
    silentsky  
    OP
       2024-01-25 00:22:43 +08:00
    @securityCoding 刚我看了一份 golang 编程规范说 panic 尽量不用😂
    ysy950803
        72
    ysy950803  
       2024-01-25 00:44:09 +08:00 via Android
    Java 玩腻了应该玩 Kotlin 呀。
    silentsky
        73
    silentsky  
    OP
       2024-01-25 01:06:08 +08:00 via Android
    @ysy950803 都是 jvm 的东西 一个 Java 够了
    Leviathann
        74
    Leviathann  
       2024-01-25 01:20:41 +08:00
    经典 spring boy 假装自己写 java
    fpk5
        75
    fpk5  
       2024-01-25 02:59:49 +08:00
    @securityCoding #70 都 panic 了那可不得退出,内核里面 panic 了也只有重启啊
    FightPig
        76
    FightPig  
       2024-01-25 03:06:19 +08:00
    自从因为编译后被报毒不得不用 rust 重写了一个业务后,发现 rust 写起来比 go 还爽,就是有时太折磨大脑
    fpk5
        77
    fpk5  
       2024-01-25 03:23:32 +08:00
    @Morii #35 那确实是又臭又长的
    hysjw
        78
    hysjw  
       2024-01-25 03:59:36 +08:00
    @FightPig Rust 熟悉了以后 写起来很爽 最近写 Rust 比 Go 多的多
    FightPig
        79
    FightPig  
       2024-01-25 04:37:44 +08:00
    @hysjw 写熟了是不错,就是编译太慢了,而且 target 目录太占硬盘了,我这小硬盘有点吃不消,以后得买大的了
    SeaTac
        80
    SeaTac  
       2024-01-25 05:45:00 +08:00 via iPhone   ❤️ 5
    你站水平体现
    钱没几个
    代码写得烂
    语言吵得最欢
    jonsmith
        81
    jonsmith  
       2024-01-25 08:11:24 +08:00 via Android
    go 玩玩可以,找工作还得是 Java
    bianhui
        82
    bianhui  
       2024-01-25 08:21:36 +08:00
    1. 工作和爱好是两码事
    2. 如果不是要让自己孙子继承自己的代码,动态语言随便写写得了。现在语言发展的情况,啥语言用时髦的解决方案性能都差不了太多,差的多补一台机器抵得上别人优化一个月。
    layxy
        83
    layxy  
       2024-01-25 08:40:09 +08:00   ❤️ 1
    @silentsky 你用习惯了 java,用 go 最不爽的就是 go 的 err 了,不过习惯了之后发现 err 也还好,表示这里可能会产生异常,可以细粒度把控,就是有时候代码中有比较多的 if 判断
    pursuer
        84
    pursuer  
       2024-01-25 09:08:53 +08:00
    @lesismal 每个语言有其优缺点,要讲起来,Java/JVM 系有热更新,repl (虽然 jshell 用的人很少),脚本化的 groovy,beanshell 等,go 就没有,go 的类型推断能力也是相当弱。你要说性能有限,那带 GC 的语言不都是被 Rust 秒了,vm 系还可以做运行时 pgo 优化,论上限可能还能好一点。不过 Java 也有比较大的问题,发展迟缓(21 才出协程,值类型更是不知道什么时候,被 C#爆成渣了),oracle 商标问题不说,在我看来 jvm 的函数重载及其函数签名会使得运行时和编译环境关联,是个非常大的设计问题(例如 Java9 ByteBuffer API 变更问题)。总之,业务开发还是首选 typescript(...
    zorui
        85
    zorui  
       2024-01-25 09:17:33 +08:00
    @yazinnnn0 Go 就是不行,怎么的,来咬我呀。
    tongqe
        86
    tongqe  
       2024-01-25 09:43:48 +08:00
    吹 go 的人,写 Java 水平也不咋地,或者说只懂 Java 一门语言
    byte10
        87
    byte10  
       2024-01-25 09:47:35 +08:00   ❤️ 1
    @lesismal 嗯,java 是有一些缺点,你评价都很中肯。至于臃肿那是生态的问题,再过 10 年,我估计 go 也差不多,越强大的框架性能 肯定会下降一些的。用轻量的框架去开发 java ,性能不会有数量级的差距的。
    c2const
        88
    c2const  
       2024-01-25 10:03:11 +08:00
    说得好,但是我选择 C 、C++ 、C# :)
    Duolaimon
        89
    Duolaimon  
       2024-01-25 10:09:41 +08:00
    试试 rust
    yh7gdiaYW
        90
    yh7gdiaYW  
       2024-01-25 10:11:25 +08:00   ❤️ 2
    从上家的 Java 切换到现在的 Python ,最大的感触就是当员工水平一般的时候,Java 这语言是无敌强大的,就因为它的写法够死板+Spring 全家桶够好用。
    至于 Python ,一是写法百花齐放(乱七八糟),二是虽然有类型注释但运行时又不检查,三是 web 生态实在比不了 Java
    AntiFraud
        91
    AntiFraud  
       2024-01-25 10:17:02 +08:00   ❤️ 2
    @lesismal bb 一堆,转头说自己没了解过,你在这云 java 呢?道听途说,小马过河,真是为你量身打造。
    wupher
        92
    wupher  
       2024-01-25 10:18:14 +08:00
    - err 处理很那啥
    - 并发处理一流
    gongxuanzhang
        93
    gongxuanzhang  
       2024-01-25 10:18:39 +08:00
    我用 kotlin
    ychost
        94
    ychost  
       2024-01-25 10:27:55 +08:00
    @lesismal #61 如果用 JDK8 就请对比同时期的 GO ,现在 JDK 21 了
    ychost
        95
    ychost  
       2024-01-25 10:28:37 +08:00
    写过 Java/Kotlin/Groovy/C#/Go/Js/Python ,里面最喜欢的是 C#/Kotlin/Groovy
    label
        96
    label  
       2024-01-25 10:29:02 +08:00
    @yh7gdiaYW 你说的这个问题, 我觉得原因是 java 的 web 开发已经形成了一套行业规范, 各家的开发标准都大差不差. 至于其它语言写法的百花齐放, 也是不够成熟 (相对 java 来讲) 的原因
    diagnostics
        97
    diagnostics  
       2024-01-25 10:30:04 +08:00   ❤️ 6
    @lesismal #65 这么说吧,你在帖子里吐槽大部分 Java 程序员不关心底层技术确实是普遍现象,但是现象和语言本身没啥关系,导致这个现象的原因有:

    - 培训班
    - Java 大部分都是企业级应用,由少部分人完成大部分抽象,大部分人干业务逻辑的活

    我同意技术是程序员一个非常好的提高方向,我本身也是做基础架构开发的,也受不了业务开发简单的小毛病都找来问我,但我从来都不会认为他们的业务能力是完全没用,业务的领先能让你超过同行,技术领先大部分时间只能是降低自己的成本,市场大部分时间只会会业务买单而不是技术,除非这个技术与业务息息相关(如量化交易里面的延迟)

    再说了,是写 C4 垃圾收集器,LMAX 几个低延迟库的这些人底层技术懂得比写 Go 的人少,还是写 Flink 、Spark 对流批计算懂的比写 Go 的少?

    语言决定的只是特性的区别,问题在人,因为你学的是 Go ,所以接触的底层技术多一点,但让你去搞基金估值的 IBOR 或量化交易算法,你也未必玩的转。
    qiyilai
        98
    qiyilai  
       2024-01-25 10:30:33 +08:00
    @yh7gdiaYW 确实,java 就像一个军队,python 像一个杀手
    inhzus
        99
    inhzus  
       2024-01-25 10:36:46 +08:00
    1. IfErrNotEqNilLang
    2. 在高吞吐小结构体业务下,性能远差于 Java (主要是 GC 压力)
    3. 中间件完善的情况下,搓业务很爽
    diagnostics
        100
    diagnostics  
       2024-01-25 10:37:02 +08:00
    你能说出 “不像 java 基本就是 spring 全家桶,还有各种第三方包” 就知道你的水平没多高,连云原生相关的几个框架,例如 quarkus 都不去了解。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2001 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 13:17 · PVG 21:17 · LAX 05:17 · JFK 08:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.