V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
bthulu
V2EX  ›  Go 编程语言

go 用来业务开发, 开发速度是不是吊打其他语言?

  •  
  •   bthulu · 2022-04-29 09:53:17 +08:00 · 16698 次点击
    这是一个创建于 973 天前的主题,其中的信息可能已经有所发展或是发生改变。

    运行性能啥的不考虑, 不行就加机器就是了. 但就纯开发速度而言, go 是不是最简洁快速, c#100 行的代码, go 几行就搞定了?

    第 1 条附言  ·  2022-04-29 15:51:31 +08:00
    没想到这么多人说我来钓鱼. 我确实没怎么用过 go, 但是这个看起来貌似很火, 我自己接触的也多是业务开发, 我的想法自然是这东西开发速度快, 不快它干嘛会火? 毕竟业务开发人员最多, 难道不是用的人越多越火吗?
    136 条回复    2022-06-11 14:38:19 +08:00
    1  2  
    wandehul
        1
    wandehul  
       2022-04-29 09:57:05 +08:00
    不一定,java 这么多年各种包比较成熟了。
    mekingname
        2
    mekingname  
       2022-04-29 09:59:20 +08:00   ❤️ 1
    开发速度 Python 应该是最快的。
    tinybaby365
        3
    tinybaby365  
       2022-04-29 09:59:50 +08:00
    我只把 go 当成 A better C ,它的开发速度用什么吊打其他语言呢?
    ScepterZ
        4
    ScepterZ  
       2022-04-29 10:02:19 +08:00   ❤️ 8
    并不是,go 缺很多功能,导致一些其他语言很好写的逻辑要 for 半天
    GeorgeGalway
        5
    GeorgeGalway  
       2022-04-29 10:02:54 +08:00   ❤️ 21
    Go 来做业务开发难道不是灾难吗
    lolizeppelin
        6
    lolizeppelin  
       2022-04-29 10:03:57 +08:00   ❤️ 1
    笑死 23333
    pengtdyd
        7
    pengtdyd  
       2022-04-29 10:04:27 +08:00   ❤️ 3
    论开发速度 python 无出其右,国外都是 python 验证,成功后换其他语言。
    TtTtTtT
        8
    TtTtTtT  
       2022-04-29 10:04:40 +08:00
    日常吊打
    muntoya
        9
    muntoya  
       2022-04-29 10:07:39 +08:00
    显然是没用过 java 、python 之类的业务开发语言,go 只适合做大量 IO 的平台类服务,操作数据库都不方便,缺少很多便捷功能。
    vophan1ee
        10
    vophan1ee  
       2022-04-29 10:08:45 +08:00 via Android
    说实话不行,稍微复杂一点的业务你就会发现写着很难受了,什么东西都得手写,尤其依赖较多的时候,手动依赖注入,测试时手动 mock ,写了一段时间了,说实话不行,也不知道 op 是认真的,还是反串黑
    sxw11
        11
    sxw11  
       2022-04-29 10:09:08 +08:00   ❤️ 5
    你说的是反话吧,作为一个 C#转 go 的,在写业务方面感觉 go 差了一个时代。。。
    echoZero
        12
    echoZero  
       2022-04-29 10:10:04 +08:00   ❤️ 4
    PHP 就来看看,不说话
    lululau
        13
    lululau  
       2022-04-29 10:11:29 +08:00   ❤️ 11
    "
    论开发效率,不是我针对谁,我是说在座的各位都是垃圾
    "

    —— Ruby
    koujyungenn
        14
    koujyungenn  
       2022-04-29 10:11:37 +08:00 via Android   ❤️ 51
    由于言论过于智障,甚至不知道是真蠢还是反串🎣
    zinete
        15
    zinete  
       2022-04-29 10:12:00 +08:00
    不是
    iwdmb
        16
    iwdmb  
       2022-04-29 10:12:39 +08:00
    Ruby Python JavaScritp 表示:
    shoaly
        17
    shoaly  
       2022-04-29 10:12:39 +08:00
    @echoZero php 和 go 手拉手, 效果直接起飞
    keepeye
        18
    keepeye  
       2022-04-29 10:13:26 +08:00
    中肯一点 ,开发比 C 快很多,跟 Java 比较我不知道,但肯定比不了那些脚本语言
    amwyyyy
        19
    amwyyyy  
       2022-04-29 10:15:08 +08:00
    怎么感觉是在讽刺 GO
    4771314
        20
    4771314  
       2022-04-29 10:15:39 +08:00
    引战言论
    storyxc
        21
    storyxc  
       2022-04-29 10:17:27 +08:00   ❤️ 4
    v 站流量密码 top1: go 语言。


    顺便预测下:这帖最少回复 100 楼。
    qbhy
        22
    qbhy  
       2022-04-29 10:17:56 +08:00   ❤️ 1
    如果有一个合适的框架的话,开发效率确实可以很高的呀,比如我写的这个 goal 框架哈哈
    https://github.com/goal-web/goal
    star 支持一下啦各位
    jpyl0423
        23
    jpyl0423  
       2022-04-29 10:18:42 +08:00   ❤️ 1
    吊打, 完爆, 秒杀, LZSB
    iyear
        24
    iyear  
       2022-04-29 10:18:59 +08:00 via Android
    缺铜币了吗这是又来钓鱼
    Egfly
        25
    Egfly  
       2022-04-29 10:19:02 +08:00   ❤️ 1
    PHP 觉得很淦....

    但凡是认真了解过 go ,或者写过的都不回说出这么蠢的话。go 写业务简直灾难,for....range 写到吐
    kyro00000
        26
    kyro00000  
       2022-04-29 10:20:36 +08:00
    我一时间搞不清楚到底是不是在说反话
    yEhwG10ZJa83067x
        27
    yEhwG10ZJa83067x  
       2022-04-29 10:21:19 +08:00
    开发速度不是 php 吗
    daliusu
        28
    daliusu  
       2022-04-29 10:22:22 +08:00
    现在都忘了 php 和 ruby 了🐴
    iwdmb
        29
    iwdmb  
       2022-04-29 10:22:41 +08:00
    我只是把餌放下去
    zzzzzzzzzy
        30
    zzzzzzzzzy  
       2022-04-29 10:25:39 +08:00
    不考虑性能及维护成本,单论开发速度,低代码平台不应该最快?
    aababc
        31
    aababc  
       2022-04-29 10:26:13 +08:00   ❤️ 1
    @qbhy 看来你没有理解 golang 的理念,标准库那么强大,为什么需要一个框架🐶
    iwdmb
        32
    iwdmb  
       2022-04-29 10:27:00 +08:00   ❤️ 1
    licoycn
        33
    licoycn  
       2022-04-29 10:27:02 +08:00
    go 我还是比较喜欢拿来做通信层方面的业务,很不错,至于业务的话我还是会采用 PHP 或 Java
    codefever
        34
    codefever  
       2022-04-29 10:31:28 +08:00
    钓鱼引战,已举办!
    seers
        35
    seers  
       2022-04-29 10:36:23 +08:00 via Android   ❤️ 7
    怎么还没到我最喜欢的 err!=nil 环节
    h1104350235
        36
    h1104350235  
       2022-04-29 10:37:14 +08:00
    V2EX 举报按钮在哪?
    qbhy
        37
    qbhy  
       2022-04-29 10:38:13 +08:00
    @aababc 哈哈哈,不是理念问题,多个选择总不是坏处
    aircjm
        38
    aircjm  
       2022-04-29 10:38:21 +08:00
    go 真的不适合写业务
    sciel
        39
    sciel  
       2022-04-29 10:41:05 +08:00
    适不适合写也要看你使用的什么框架啊,找对了适合的框架那做起来肯定不一样。 这跟语言没太大关系~
    tairan2006
        40
    tairan2006  
       2022-04-29 10:41:18 +08:00   ❤️ 1
    钓鱼?已 block
    HackerJax
        41
    HackerJax  
       2022-04-29 10:41:48 +08:00 via iPhone
    “ c#100 行的代码, go 几行就搞定了”

    你举个例子
    youngce
        42
    youngce  
       2022-04-29 10:43:48 +08:00   ❤️ 1
    @seers #35 听说使用 res , _ := do_something(),这种勇敢的编程范式,可以最高程度的提高开发效率
    catsoul
        43
    catsoul  
       2022-04-29 10:44:36 +08:00
    @codefever lz ,拟态 baby 辣!
    NJAllen
        44
    NJAllen  
       2022-04-29 10:45:26 +08:00
    说道开发速度,python 在这方面的优势太大了,也是 python 最大的优势了
    3kkkk
        45
    3kkkk  
       2022-04-29 10:46:43 +08:00
    就如复刻一个拼夕夕,流量是现在的十分之一。你们认为哪种语言实现会好些。
    gam2046
        46
    gam2046  
       2022-04-29 10:55:09 +08:00   ❤️ 2
    C#的 LINQ 两三行,go 要套好几层循环。这波怕不是反向黑
    abcbuzhiming
        47
    abcbuzhiming  
       2022-04-29 11:05:07 +08:00   ❤️ 1
    业务开发速度最快的永远是各种动态语言,PHP ,Python 之流,只要你不在乎重构火葬场,你可以随便写。

    开发速度和代码质量控制取折中的就是 Java 这种。

    至于 Go ,它最大的吸引力来自。没有虚拟机拖累的超快的启动速度,以及超小的常规运行时内存占用容量。比业务开发?这东西天生就不是为业务开发准备的,直到现在也没做好为业务开发的准备
    chaselen
        48
    chaselen  
       2022-04-29 11:18:58 +08:00
    应该是被其他语言吊打吧。。 😅
    gxm44
        49
    gxm44  
       2022-04-29 11:20:45 +08:00
    并不会,CRUD 肯定是 spring boot 或 Rudy on rails 之类的成熟。
    wunonglin
        50
    wunonglin  
       2022-04-29 11:21:05 +08:00
    今日笑话
    zcreg
        51
    zcreg  
       2022-04-29 11:25:47 +08:00
    对 CRUD 仔来说不是
    BBCCBB
        52
    BBCCBB  
       2022-04-29 11:26:24 +08:00   ❤️ 1
    c# 100 行的代码, go 要 500 行 [doge]
    wonderfulcxm
        53
    wonderfulcxm  
       2022-04-29 11:28:48 +08:00 via iPhone
    写业务代码不知道,但确实是涨金币最快的语言。
    nyakoy
        54
    nyakoy  
       2022-04-29 11:29:48 +08:00
    骗币??
    putaozhenhaochi
        55
    putaozhenhaochi  
       2022-04-29 11:36:25 +08:00 via Android
    钓鱼?
    iseki
        56
    iseki  
       2022-04-29 11:37:17 +08:00 via Android
    看来是缺币了
    wangyzj
        57
    wangyzj  
       2022-04-29 11:39:39 +08:00   ❤️ 1
    论开发速度
    我 PHP 不服
    RedBeanIce
        58
    RedBeanIce  
       2022-04-29 11:41:52 +08:00
    @koujyungenn

    由于言论过于智障,甚至不知道是真蠢还是反串🎣
    =================================

    日经贴。看着真累
    RedBeanIce
        59
    RedBeanIce  
       2022-04-29 11:42:19 +08:00
    钓鱼?已 block
    fiypig
        60
    fiypig  
       2022-04-29 11:44:24 +08:00
    我是打算把原来 app 的 api PHP 换成 go , 后台还是保留 laravel admin
    FreshOldMan
        61
    FreshOldMan  
       2022-04-29 12:07:50 +08:00
    没有生态,哪里来的开发速度
    timothyye
        62
    timothyye  
       2022-04-29 12:10:45 +08:00
    论开发效率 Go 还真比不上 Python, Ruby
    goophy
        63
    goophy  
       2022-04-29 12:17:14 +08:00
    小明:用中文写报告是不是速度最快?
    Tom: No English is much simple
    Jean-Claude: Le français est la meilleure langue
    苍老师: 日本語はいいと思います
    Александр:я говорю только по русски
    documentzhangx66
        64
    documentzhangx66  
       2022-04-29 12:18:39 +08:00
    对于 CURD 来说,我觉得对于客户端与后端,开发效率最高的,应该是高配机器 + 多屏 + Windows + VS + C# + WCF + MSSQL 这一套。

    目前我没见过比这一套效率更高的,楼主可以拿 go 和这一套比比看。

    但是,开发效率高,并不一定是好事,因为这种东西,肯定是各种高层次框架。一旦出了问题,需要调试时,或者需要高度定制时,就火葬场了。

    总之,无论开发效率快慢,都有优缺点。
    Dart
        65
    Dart  
       2022-04-29 12:19:24 +08:00
    是被其他语言吊打吧,
    Dart
        66
    Dart  
       2022-04-29 12:21:04 +08:00
    golang 在欧美写业务很少吧。本来就是做系统的。 只有在人力成本较低,人们比较拼命的地方才用来写业务
    Rwing
        67
    Rwing  
       2022-04-29 12:22:09 +08:00
    已举报,明显反串钓鱼的,大家举报起来吧
    agagega
        68
    agagega  
       2022-04-29 12:31:53 +08:00 via iPad
    小页面 PHP ,大点的项目 Ruby ,开发效率比静态语言都快多了
    bleaker
        69
    bleaker  
       2022-04-29 13:07:37 +08:00
    连个趁手的 ORM 都没有,err 写到吐,等了 N 年才有个设计不明所以的 generics ,这你告诉我适合写业务?十年前的 Rails 都能吊打
    ericgui
        70
    ericgui  
       2022-04-29 13:09:29 +08:00
    @pengtdyd what about Ruby on Rails ?
    findex
        71
    findex  
       2022-04-29 13:15:00 +08:00 via iPhone
    稍微复杂点的业务,go 就不方便了。python 处理复杂逻辑上还是有一手的。
    tclm
        72
    tclm  
       2022-04-29 13:41:33 +08:00   ❤️ 1
    语言只是工具,而生产效率是由人对工具的熟练程度来体现的。
    mangoDB
        73
    mangoDB  
       2022-04-29 13:46:13 +08:00
    感觉 Python 速度更快一些
    Bijiabo
        74
    Bijiabo  
       2022-04-29 13:46:37 +08:00
    我一般用汉语,开发速度来说的话还可以。输入给程序员去喝茶就行了。
    leeg810312
        75
    leeg810312  
       2022-04-29 13:51:00 +08:00
    70 多个回复,OP 提问后没有任何响应,要么是钓鱼,要么被回复吓跑了
    sunocean
        76
    sunocean  
       2022-04-29 13:54:05 +08:00
    本来想说点什么的,看了早就被我标红的楼主。默默回复了一个是的。go 吊打一切。
    sebastianwade
        77
    sebastianwade  
       2022-04-29 13:57:36 +08:00
    要不试试 rust?
    vincent7245
        78
    vincent7245  
       2022-04-29 14:00:08 +08:00
    大兄得,等你再历练几年,有了架构思维以后你就不会问这种问题来了
    drackzy
        79
    drackzy  
       2022-04-29 14:03:39 +08:00   ❤️ 1
    写的快不一定薪资高,资本家是按照时间给钱的, python web 写的快, 最后国内实际大多数情况下薪资并没有 go java 后端多。
    skadi
        80
    skadi  
       2022-04-29 14:10:59 +08:00
    月经贴
    sarices
        81
    sarices  
       2022-04-29 14:14:32 +08:00
    layui+thinkphp 一把刷
    xingjue
        82
    xingjue  
       2022-04-29 14:16:06 +08:00
    php 路过
    dragonsunmoon
        83
    dragonsunmoon  
       2022-04-29 14:37:10 +08:00
    go 用来业务开发, 开发速度是被其他语言吊打
    jiehuangwei
        84
    jiehuangwei  
       2022-04-29 14:39:15 +08:00
    敢问这种问题,很佩服楼主的勇气
    spicecch
        85
    spicecch  
       2022-04-29 14:46:19 +08:00
    op 掌握了流量密码
    lolizeppelin
        86
    lolizeppelin  
       2022-04-29 15:16:13 +08:00
    @storyxc
    php 这么没牌面了么?
    28Sv0ngQfIE7Yloe
        87
    28Sv0ngQfIE7Yloe  
       2022-04-29 15:44:48 +08:00   ❤️ 1
    crud 都费劲的生态
    securityCoding
        88
    securityCoding  
       2022-04-29 15:50:23 +08:00
    刚转 go 三个月,写业务其实挺好的,如果能优化一下 err 就更好了
    est
        89
    est  
       2022-04-29 15:53:42 +08:00
    盲猜本贴要 150+评论。
    ychost
        90
    ychost  
       2022-04-29 15:57:29 +08:00
    我觉得 JS 、PYTHON 、PHP 开发速度最快,也最难维护
    kuner0614
        91
    kuner0614  
       2022-04-29 16:03:06 +08:00
    90 楼了,我来总结提问:所以谁才是最好的语言?
    KaynW
        92
    KaynW  
       2022-04-29 16:09:26 +08:00
    gopher 表示: 😅
    UserNameisNull
        93
    UserNameisNull  
       2022-04-29 16:11:04 +08:00
    go 最不适合的就是业务开发,开发脚本还行,或者对性能有要求。
    业务开发大部分都是数据处理,数据搬运,一个例子
    ```
    func groupByStatus(images []*Image) (normalImage []*Image, offlineImage []*Image) {
    normalImage = make([]*Image, 0)
    offlineImage = make([]*Image, 0)
    for _, img := range images {
    if img.Status == 1 {
    normalImage = append(normalImage, img)
    } else {
    offlineImage = append(normalImage, img)
    }
    }
    return
    }
    ```
    这在 java 就一行代码。。。。。
    ```
    images.collect(groupingBy(Image::getStatus));
    ```
    go 的不成熟,导致很多时间都在处理这这种东西上,重复的代码。
    redvoilin
        94
    redvoilin  
       2022-04-29 16:17:00 +08:00
    笑死了,论开发速度,go 用来业务开发是被很多语言吊打吧
    Mexion
        95
    Mexion  
       2022-04-29 16:17:19 +08:00   ❤️ 1
    go 很多地方非常不方便,很多功能都要手写一下,要把数组筛选一下都需要手动遍历一遍,不支持泛型,其实要多写很多代码,开发累且繁琐。反正我是不喜欢 go ,太弱了这语言。要快和爽的话其实 node.js 不错
    bthulu
        96
    bthulu  
    OP
       2022-04-29 16:22:42 +08:00
    @UserNameisNull 上面的 @aababc 不是说标准库那么强大, 为啥这种流式 groupBy 都不支持? 我也看到别人说 go 的标准库很强大, 日常开发基本用不到第三方库, 这都是骗人的啊?
    jjx
        97
    jjx  
       2022-04-29 16:26:46 +08:00
    没你们说的那么可怕了

    习惯了就好

    我下个 erp 创业项目打算用 golang 搞呢

    就是不想有太多 magic 的东西
    UserNameisNull
        98
    UserNameisNull  
       2022-04-29 16:30:53 +08:00
    在举个例子,最常用的 json 序列化和反序列化,golang 也是恶心的一批。
    不支持动态参数控制 `null`类型的参数是否序列化在字符串里面。
    比如要定义两个 struct 。
    示例:
    ```
    struct PersonWithoutNull {
    Name `json:name,omtiempty`
    }

    struct PersonWithNull {
    Name `json:name`
    }
    ```
    通过写死的`omtiempty`来控制 null 值的反序列化。
    sunnyandpenta
        99
    sunnyandpenta  
       2022-04-29 16:34:52 +08:00
    @UserNameisNull 这个 go 反序列化 json 的是真的难用,,
    aababc
        100
    aababc  
       2022-04-29 16:37:22 +08:00
    @bthulu 社区的大佬不厌其烦的跟我科普官方库的强大,向我灌输为什么不需要框架。但是我是一个坚定的框架使用者,他们特别看不上的 beego 我觉得特别好用,可能我不是一个真正的 golang 开发者。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4811 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 09:46 · PVG 17:46 · LAX 01:46 · JFK 04:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.