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

Go Is Unapologetically Flawed, Here’s Why We Use It

  •  
  •   tt7 · 2015-05-22 16:19:00 +08:00 · 1647 次点击
    这是一个创建于 3507 天前的主题,其中的信息可能已经有所发展或是发生改变。
    17 条回复    2015-05-24 13:22:56 +08:00
    noli
        1
    noli  
       2015-05-22 18:21:46 +08:00
    所有通过简化语言基础设施,来达到简化问题目的的编程语言,最终都是南辕北辙。
    Java 是这样,Go 在我看来也很像是这样。
    loading
        2
    loading  
       2015-05-22 18:35:08 +08:00 via Android
    目测将来会出类似coffee script这种语法糖等工具。
    也许是库还不够好,太多底层要写。
    datou552211
        3
    datou552211  
       2015-05-22 19:02:11 +08:00 via iPhone
    @noli 简化到没看出来,但是挺偏工程性的
    asj
        4
    asj  
       2015-05-22 20:45:22 +08:00 via iPad   ❤️ 1
    @noli
    反过来说,所有通过复杂化语言基础设施,来达到复杂化问题目的的编程语言,最终大都得偿所愿。
    evolighting
        5
    evolighting  
       2015-05-22 21:14:13 +08:00
    关于GO我一直有一种偏见,只因为是google搞出了它,才有今天的一切;
    大多数时候python,php之类的更合适,另一些时候C/C++之流更合适;
    不过google要搞这个,所以这个就“牛逼”了;
    并不是说没有过人之处,只是有过人之处的东西多了去了.....
    njutree
        6
    njutree  
       2015-05-22 22:07:18 +08:00
    @evolighting Go有自己适合的场景同理python,php。Go其他的特点就是编译快,性能好,编写速度快。至于语言牛不牛逼其实关键在于用的人怎么用。
    noli
        7
    noli  
       2015-05-22 22:32:13 +08:00
    @asj
    你说得很对, scala 就是这样的。纯函数式的 Haskell 有时也会让我有这种感觉。

    @evolighting
    我也觉得 Go 除了是 Google 以及 C语言的合作发明者搞出来的,有光环之外,真没觉得有惊艳的感觉。
    当然 Go 的有些概念还是挺有启发性的。
    ffffwh
        8
    ffffwh  
       2015-05-22 22:51:39 +08:00
    2010年搞出个么个语言。。
    看看隔壁Swift
    chaucerling
        9
    chaucerling  
       2015-05-22 23:06:01 +08:00
    相比go,rust更有潜力去代替c++
    hhkbp2
        10
    hhkbp2  
       2015-05-23 00:22:39 +08:00
    文章虽然比较长,讲得还是很中肯的
    hooluupog
        11
    hooluupog  
       2015-05-23 00:39:04 +08:00   ❤️ 2
    版本控制问题正在解决(Go版的python GIL,社区都造了无数轮子了,官方再不弄就说不过去了);
    错误处理确实写得有些烦,但不能像纯函数语言那样去搞,又不能完全搞成exception;
    泛型我个人觉得还是需要的,但就算未来添加这个特性,也绝对不会像c++的模板那样,彻底的贯穿于整个语言当中,分量极重。
    其他的语法糖之类的东西我觉得完全没必要,加进去,一小部分人高兴了,另外大部分人就苦逼了。比如运算符重载。
    希望Go未来的演化做到两点:
    1.不要太固执,丝毫听不进任何意见;
    2.接受某些建议,但始终保持简单(java 8这样我就觉得挺复杂了),不往里面扔各种特性,最后完全背离了初衷。
    开发起来像动态语言,跑起来是静态语言,易读,易写,易维护,就够了。至于各种高级的语法特性,就留给其他的语言去做吧。
    holulu
        12
    holulu  
       2015-05-23 09:18:49 +08:00
    感觉 Go 除了没让人从底层解放出来(并发控制依然会耗费大量精力)之外,还很不完善,越用越不爽。有时写着写还不如回到 C 上面去了。
    asj
        13
    asj  
       2015-05-23 11:01:07 +08:00 via iPad
    @hooluupog
    这里有篇blog说go的吉祥物看起来像有自闭症,go语言也是。评论的太欢乐了。
    http://www.evanmiller.org/four-days-of-go.html
    mengzhuo
        14
    mengzhuo  
       2015-05-23 15:15:29 +08:00
    我可以理解成:一群没在生产系统里用过的人,写个玩具就开始叫这叫那

    工作上,一堆坑
    实际上都是没有看完相关标准库就按自己原有变成的思维进行解读
    Comdex
        15
    Comdex  
       2015-05-23 17:40:54 +08:00
    我理解为没有使用就没有发言权
    holulu
        16
    holulu  
       2015-05-24 12:20:28 +08:00
    @mengzhuo 在生产环境里用了,也经常读标准库的代码, Effective Go 也读过好多遍,始终不觉得 Go 有太多好处,只不过是从一个坑出来,又跳进另一个坑。

    可能是个人愚钝吧,没能悟出 Go 的真谛,如果生产环境能换,真扔了
    eeeeeeve
        17
    eeeeeeve  
       2015-05-24 13:22:55 +08:00
    @holulu 不是说完胜C么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1107 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:58 · PVG 02:58 · LAX 10:58 · JFK 13:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.