zoukankan      html  css  js  c++  java
  • Go推出的主要目的之一就是G内部大东西太多了,系统级开发巨型项目非常痛苦,Go定位取代C++,Go以简单取胜(KISS)

    以前为了做compiler,研读+实现了几乎所有种类的语言。现在看语法手册几乎很快就可以理解整个语言的内容。后来我对比了一下go和rust,发现go的类型系统简直就是拼凑的。这会导致跟C语言一样,需要高超的技巧才能写大程序。而rust则没有这种问题,每个部分的组成都很和谐。
    ----------------------------------------------------------------------

    Rust是挺优秀的,函数式本来就比命令式来的优雅。但同时也要看到,两种语言的定位不同。Go的定位是取代C(或C++),做所有软件的基础。而Rust想是一种划时代的语言,如果成功,将是颠覆性的。

    但同时也应该看到,
    Go的目标简单,现在也比较稳定,可以使用了
    而Rust虽然很强大,但它还处于很早期的阶段,一切还有待于发展。

    如果Rust能实现其大部分特性,将是十分优秀的语言,期待。

    ----------------------------------------------------------------------

    语言之争很费时间的,没必要和这帮人说。每个人都有自己的偏好,有的人就对Java来电,有的人就不喜欢Go,你说啥都没用的。自己用着舒服就醒了。
    顺便提醒你一下,意见有没有道理不是说某个compiler大拿就能判定的。首先是不是大拿,多大拿另说,如果你问rob
    pike,他肯定说Go比Rust好,rob和这个人比谁更大拿?Linus说C++ sucks,难不成C++程序员全换行业了?

    自己专心做自己的事情就是了。
    至于那句“作者竟然说学完C++的时间和用go写64个开源项目的时间一样多”,呵呵,他明显没看懂这个玩笑。

    是么?Go team的人里面,应用开发的大拿其实还是不少的
    Go推出的主要目的之一就是G内部大东西太多了,系统级开发巨型项目非常痛苦,所以估计Go开发时和不同team都有沟通交流,要address的问题很多就是巨型开发team中的实际问题。举个例子,Go的interface就是专为大型应用项目设计的,原因大家也都知道吧。Go的优点在实际大型应用项目已经体现,而且不是说除了Google没人用,用了的人反馈是什么样的,大家估计也有所耳闻

    Dart team起点就不一样,因为javascript实在太......那个了。但Dart始终还是主营前端吧。这俩基本就没法比较。

    我用Go并不是因为Ken Thompson、Rob Pike这帮人,我觉得C++ sucks也不是因为Linus。那就是我用过之后喜欢还是不喜欢而已。
    不要迷信权威。说服别人用Go最好的办法不是拉出一帮名人说观点,而是做一个牛逼的项目和库出来,让别人主动想用
    ----------------------------------------------------------------------

    这个,GUI库明显不在Go Team的开发日程之内。我觉得用swig做一个其它GUI库(比如Qt)的绑定,像pyQt那样才是比较好的模式
    ----------------------------------------------------------------------

    现在对 GO 语言,我关注挺长时间,感觉作者们控制的很严格,很多很好的建议都被拒绝了,参见 golang-nuts 邮件组。有些建议,他们只需要做很少的工作,就能有很好的效果,他们就是拒绝改进。
    ----------------------------------------------------------------------
    比如什么?我猜想你是说'#!'么?
    我觉得控制得严格些有好处。因为加入一个特性简单,但是你要想从语言中去掉一个已有的特性就难了。

    如果一个特性可以被外部有效地实现(比如用gorun实现#!),那么就没有必要增加语言本身的复杂性。
    所以不是Go team懒惰,连一些很简单实现的建议都不采纳(#!)或者说拒绝改进。

    我认为Go还是要简单、一致(正交性)上取胜的。这符合Unix界软件的一贯风格,换句话说就是KISS原则。

    ----------------------------------------------------------------------
    参考:https://groups.google.com/forum/#!topic/golang-china/aX61jyZXBws%5B1-25-false%5D

  • 相关阅读:
    Java的静态块与实例块(转)
    Programming Ability Test学习 1031. Hello World for U (20)
    Programming Ability Test学习 1011. World Cup Betting (20)
    Programming Ability Test学习 1027. Colors in Mars (20)
    Programming Ability Test学习 1064. Complete Binary Search Tree (30)
    Programming Ability Test学习 1008. Elevator (20)
    【maven详解-生命周期】Maven的生命周期和插件
    【maven详解-插件】maven插件学习之源码插件Source Xref
    $(document).ready(){}、$(fucntion(){})、(function(){})(jQuery)onload()的区别
    你还没真的努力过,就轻易输给了懒惰
  • 原文地址:https://www.cnblogs.com/findumars/p/4214420.html
Copyright © 2011-2022 走看看