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

go 10 周年,支持 12 个系统, 10 种架构,有 100 万的 gopher,成绩斐然啊

  •  1
     
  •   dbskcnc · 2019-11-09 10:27:22 +08:00 · 8378 次点击
    这是一个创建于 1602 天前的主题,其中的信息可能已经有所发展或是发生改变。
    47 条回复    2019-11-16 02:21:55 +08:00
    justin2018
        1
    justin2018  
       2019-11-09 10:40:53 +08:00
    壮哉 我大 Go 语言
    gowk
        2
    gowk  
       2019-11-09 10:50:32 +08:00 via Android
    泛型出来应该是新项目首选语言了,五年内应该有更广泛的应用,能和 Java 平分秋色了
    iPhoneXI
        3
    iPhoneXI  
       2019-11-09 11:15:39 +08:00 via Android   ❤️ 2
    语法向 kotlin/rust 这些语言靠拢就好了,
    现在还是太丑太啰嗦
    eurry
        4
    eurry  
       2019-11-09 11:27:32 +08:00
    Golang 是最好的语言,滑稽
    liulaomo
        5
    liulaomo  
       2019-11-09 11:30:29 +08:00
    @iPhoneXI 语法是不可能改的了。

    不过话说 Go 和 Rust 在简洁度上各有长短。
    dafengqi
        6
    dafengqi  
       2019-11-09 11:32:08 +08:00   ❤️ 1
    楼主估计没写过 golang,设计有先天内伤,panic 多少你想哭,debug 到最后发现是先天残疾。
    guonaihong
        7
    guonaihong  
       2019-11-09 11:41:19 +08:00   ❤️ 2
    @dafengqi panic 为啥哭?写了 5 年基本不用 panic。
    useben
        8
    useben  
       2019-11-09 11:45:22 +08:00
    越用越顺手
    qq1340691923
        9
    qq1340691923  
       2019-11-09 11:55:52 +08:00
    觉得 err 异常传递还挺爽的
    sls
        10
    sls  
       2019-11-09 12:01:31 +08:00
    壮哉
    hst001
        11
    hst001  
       2019-11-09 12:12:30 +08:00
    @iPhoneXI #3 就 err != nil 这句很啰嗦,其它的语法已经算少了,要还是说啰嗦的话,隔壁的 JAVA 已经在厕所哭得不敢出来了
    chengxiao
        12
    chengxiao  
       2019-11-09 12:15:26 +08:00
    用起来感觉还可以 交叉编译真的爽 就是错误处理写起来烦了点儿
    iRiven
        13
    iRiven  
       2019-11-09 12:26:29 +08:00 via Android
    十年过去了,那宠物还是那么丑(●__●)
    dbskcnc
        14
    dbskcnc  
    OP
       2019-11-09 13:24:33 +08:00 via Android
    @dafengqi 已用多年, 越来越好使, 系统部署,效能,稳定性都符合甚至超出期望
    znood
        15
    znood  
       2019-11-09 13:43:52 +08:00
    Golang 语法简单是优势,易上手,随便写写就能写出性能不错的服务,这才是写服务的首选语言
    secretman
        16
    secretman  
       2019-11-09 13:57:28 +08:00
    我记得当年还是 0.几版本的时候用过一次,一个 helloWorld 编译了 7、8 秒,当时就卸载了
    janxin
        17
    janxin  
       2019-11-09 18:25:22 +08:00
    @secretman 那时候真的太早了,还必须在 linux 下跑…
    fox0001
        18
    fox0001  
       2019-11-09 18:39:44 +08:00 via Android
    新人路过,表示祝贺~
    zhyl
        19
    zhyl  
       2019-11-09 18:39:59 +08:00 via Android
    对 go 的编译器优化一直有点怀疑。
    之前有个帖子用各种语言计算素数,go 栗子是最慢的,然后有大佬对栗子代码中的循环加 continue,改条件等一系列不明操作给优化到 c/c++水平。。
    zhyl
        20
    zhyl  
       2019-11-09 18:40:55 +08:00 via Android
    mengzhuo
        21
    mengzhuo  
       2019-11-09 19:20:39 +08:00 via iPhone
    鄙鹅厂已经决定去 Java,全上 Go 了……
    然而老系统改造真是让人想死
    koebehshian
        22
    koebehshian  
       2019-11-09 20:15:53 +08:00   ❤️ 2
    交叉编译爽,真正的一份代码,到处运行;像脚本语言,不同的硬件上需要安装不同的运行库; C/C++需要不同的交叉编译器;
    missdeer
        23
    missdeer  
       2019-11-09 20:38:08 +08:00
    @secretman 你运气不好,go 就一直拿编译速度作为设计目标之一的
    iPhoneXI
        24
    iPhoneXI  
       2019-11-09 20:43:35 +08:00 via Android
    @mengzhuo 为什么要去 Java 而不是去 C++啊
    mengzhuo
        25
    mengzhuo  
       2019-11-09 21:09:57 +08:00
    @iPhoneXI C++ 还有大量拥趸,用法跟 Go 也没有多少交集。
    Navee
        26
    Navee  
       2019-11-10 00:03:08 +08:00
    @mengzhuo
    继续维护前任的屎山肯定出不了绩效嘛,肯定是用新语言重构绩效来的最快
    而且自己上去了也不用自己维护了[摊手]
    loqixh
        27
    loqixh  
       2019-11-10 00:06:54 +08:00
    @zhyl 追求编译速度的语言怎么可能优化好...........
    cyannnna
        28
    cyannnna  
       2019-11-10 00:26:18 +08:00
    bilibili 的 golang 开源功不可没(狗头)
    Monad
        29
    Monad  
       2019-11-10 09:14:38 +08:00
    @dafengqi 来个可以复现的 case 呗
    u823tg
        30
    u823tg  
       2019-11-10 09:32:19 +08:00 via Android
    @mengzhuo 全面去 还是一些项目
    mengzhuo
        31
    mengzhuo  
       2019-11-10 15:22:44 +08:00 via iPhone
    @u823tg 别的 BG 不好说,反正破产鸡和云都在搞了。
    mengzhuo
        32
    mengzhuo  
       2019-11-10 15:24:14 +08:00 via iPhone
    @Navee 那就错了,一听说 jdk 要收费,各个大佬都觉得是威胁了,毕竟体量在那。
    JamesMackerel
        33
    JamesMackerel  
       2019-11-10 15:55:13 +08:00
    @zhyl

    据我的观察……我总觉得 go 编译器的开发者比起编译器优化,更加在意编译速度。这也是我写 go 写到现在一直不理解的一个问题,一般来说,十倍的编译速度来换运行时的速度都应该是可以接受的(对我来说),为啥他们那么在意编译速度呢。
    coolchen112
        34
    coolchen112  
       2019-11-10 16:20:33 +08:00
    @JamesMackerel 因为都是辣鸡苦手,编译的快出 bug 的几率高一些,出 bug 的几率高了,效率也就提高了( bug 的总量不变,但是编译速度决定了 bug 的解决速度 23333333333 )
    dtsdao
        35
    dtsdao  
       2019-11-10 16:36:33 +08:00
    从 Python 转 Go 真的太痛苦了...一堆乱七八糟的静态语言特性还得适应= =
    但据说 Java 转 Go 就很爽,不过 Kotlin 不香吗?
    dbskcnc
        36
    dbskcnc  
    OP
       2019-11-10 17:53:50 +08:00
    @JamesMackerel 其实也一直在优化的,gc,run time 还一直在改进,只能说需要做的工作太多了,go team 比较重视编译体验,这个真的是一个痛点,从 C++过来的人会深有体会
    JamesMackerel
        37
    JamesMackerel  
       2019-11-10 18:13:13 +08:00
    @dbskcnc 那我还真没怎么写过 C++……我对面那个写 C++ 的老哥总是跟我说,clang 它不香吗。当然我自己是没体会……

    然后还听过有的公司因为 C++ 编译过于慢,所以自研编译器以期提高编译速度的。其实到了一定地步,编译器的速度确实会是一个很大的问题。但是其实在大部分情况下,其实编译速度都不应该成为主要的要考虑的点吧。
    Yoock
        38
    Yoock  
       2019-11-10 20:01:27 +08:00 via iPhone
    🤣🤣🤣golang 和自己同一天生日
    1024G
        39
    1024G  
       2019-11-10 21:15:58 +08:00
    额,go 也是是个"老“语言了,还以为是最近几年的呢!
    tairan2006
        40
    tairan2006  
       2019-11-10 23:06:18 +08:00
    Go 的问题其实就剩下泛型了…新版本估计 2020 年就能出了吧
    wnanbei
        41
    wnanbei  
       2019-11-11 10:44:30 +08:00
    @JamesMackerel
    其实道理很简单,当你可能只是修改了几个小小的字母,重新运行一次需要编辑半个小时的时候,你就会觉得编译快也是很有用的一件事了。

    简单来说其实也就是提高开发速度。
    dbskcnc
        42
    dbskcnc  
    OP
       2019-11-11 11:06:49 +08:00
    @JamesMackerel 编译速度仅仅是一个指标而已,当然我也赞成像 c/c++一样加编译开关来控制这种情况,实际上软件工程的其它因素会占更大的部分,如何招人,协作,代码评审,系统测试,部署,语言生态和口碑等等都得考虑,总体来说,让不同的人(不仅仅是编码者)都舒服的语言竞争力会比较好一点,以人为本还是有天生的亲和力的。

    以我的经验,go 项目可以让相当多的人参与进来,不管是写 Js,java,c/c++,php,都基本没什么障碍,最重要的是很容易有产出(简单和顺序化可能还真的比较适合人的大脑),并且产出的效率和质量都还可以,系统的集成没那么多不好追查和处理的幺蛾子
    PiersSoCool
        43
    PiersSoCool  
       2019-11-11 11:37:06 +08:00
    @liulaomo 官方已经说要改了
    liulaomo
        44
    liulaomo  
       2019-11-11 19:51:09 +08:00
    @PiersSoCool 要改? 还是要加?
    lxml
        45
    lxml  
       2019-11-16 02:19:21 +08:00
    @mengzhuo #21 卧槽这么强么,可以跳槽去企鹅写 Go 哈哈
    lxml
        46
    lxml  
       2019-11-16 02:20:48 +08:00
    @mengzhuo #32 还是因为腾讯本身就没什么 Java 吧,内容型的业务,头条珠玉在前,快速迭代、省服务器资源,Go 独步武林。
    lxml
        47
    lxml  
       2019-11-16 02:21:55 +08:00
    @dbskcnc #36 是的,比如不允许交叉引用,不允许不使用的变量等,都是为了这个服务,Debug 的时候庆幸有这些保证,导致谩骂队友的几率大大降低。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3242 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 10:51 · PVG 18:51 · LAX 03:51 · JFK 06:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.