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
Go推出的主要目的之一就是G内部大东西太多了,系统级开发巨型项目非常痛苦,Go定位取代C++,Go以简单取胜(KISS)的更多相关文章
- 一个电商项目的Web服务化改造7:Dubbo服务的调用,4个项目
使用dubbo服务的过程,很简单,和之前学习的WebService完全一样,和本地接口调用也基本一致. dubbo和WebService的区别:我认为dubbo就是封装了WebService,然后提供 ...
- 用软碟通UltraISO刻录Win 10 1909 到U盘,只有1个G左右,安装不了系统
之前一直用软碟通刻录WIN10的ISO镜像到U盘.最近想到用最新版的WIN10 1909 来做一个U盘系统,刻录也成功了.就是安装系统的时候总报错,找了很久原因,终于发现刻录后占用U盘的空间只有1G左 ...
- DarkMode(1):产品应用深色模式分析
为什么Dark Mode变得越来越流行 2018 年的 macOS Mojave 率先支持了深色外观,紧接着 Windows 10 在 2018 年的 10 月份大版本更新中,也引入了 Dark Mo ...
- linux内核空间与用户空间信息交互方法
linux内核空间与用户空间信息交互方法 本文作者: 康华:计算机硕士,主要从事Linux操作系统内核.Linux技术标准.计算机安全.软件测试等领域的研究与开发工作,现就职于信息产业部软件与 ...
- .NET的Actor模型:Orleans
Orleans是微软推出的类似Scala Akka的Actor模型,Orleans是一个建立在.NET之上的,设计的目标是为了方便程序员开发需要大规模扩展的云服务, 可用于实现DDD+EventSou ...
- 使用vbs脚本进行批量编码转换
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看分析在Linux系统下开发的项目代码,我们知道Linux系统中文本文件默认编码格式是UTF-8,而Windows中文系统中的默 ...
- (六) 一起学 Unix 环境高级编程 (APUE) 之 进程控制
. . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...
- 微软停服 XP系统到底伤害了谁?
http://majihua.baijia.baidu.com/article/10386 微软现在成了招人恨的角色,因为其史上最成功的操作系统WINDOWS XP在4月8日就将停止服务,而社会上对X ...
- ASP.NET Core Web开发学习笔记-1介绍篇
ASP.NET Core Web开发学习笔记-1介绍篇 给大家说声报歉,从2012年个人情感破裂的那一天,本人的51CTO,CnBlogs,Csdn,QQ,Weboo就再也没有更新过.踏实的生活(曾辞 ...
随机推荐
- SQL中的模糊查询
写个标题先.先来一篇大神的文章:http://www.cnblogs.com/GT_Andy/archive/2009/12/25/1921914.html 练习代码如下: 1.百分号:% 表示任 ...
- Oracle表空间、段、区和块
数据块(Block) 数据块Block是Oracle存储数据信息的最小单位.注意,这里说的是Oracle环境下的最小单位.Oracle也就是通过数据块来屏蔽不同操作系统存储结构的差异.无论是Windo ...
- .NET开发作业调度(job scheduling) - Quartz.NET
Quartz.NET是JAVA Job Scheduling框架Quartz在.NET平台上的实现,可以满足小型乃至大型企业应用中的Job Scheduling. 通过Nuget安装Quartz.NE ...
- 1103. Integer Factorization (30)
The K-P factorization of a positive integer N is to write N as the sum of the P-th power of K positi ...
- vim中执行shell命令小结
vim中执行shell命令,有以下几种形式 1):!command 不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容 例如:!ls -l ...
- 初识Qt Creator
(1).Qt Creator是一个跨平台的.完整的Qt集成开发环境,其中包括了高级C++代码编辑器.项目和生成管理工具,下载地址http://download.qt.io/archive/qt/: ( ...
- div+css布局细节问题
cursor: pointer;在chrome里支持,hand不支持
- 自己的一些 Demo,源码链接
1.指纹解锁(GitHub). 2.JS 与 OC 交互(GitHub). 3.模仿 HTML 下拉菜单(GitHub). 4.OC开发常用类目(GitHub).
- 文本编辑器 markdown
http://www.cnblogs.com/youxia/p/linux014.html markdown对数学公式的支持http://www.linuxidc.com/Linux/2014-08/ ...
- Matlab中数组下标是logical,如何处理?
K>> a = 10*ones(1,10); K>> b = [1 56 23 5 6 45 9 7 89 10]; K>> c = b<a c = 1 0 ...