vipwzw

  • 关注
  • 短消息
  • 送银子
文章
0
评论
3
推荐
0
收藏
0
社区会龄
6 年
个人网站
--
个人简介
还没有输入个人简介……

评论了

  • 2013-05-15 16:39

    实践出真知,Go语言有发言权的估计是许大牛,C#比较有发言权的当然是 老赵了。客观的说, 如果C#什么都好,为什么C#没有一统江湖呢?如果Go什么都好,为什么用的人这样少呢?各种语言都有优缺点,各位程序员,重要的是不是语言,而是设计。设计的差,什么语言都写不好程序。

  • 2013-05-15 16:17

    其实说白了,显示和隐式的区别就是:比如一个类,实现了一个 Read 函数 Close 函数,那么就相当于实现了 ReadCloser接口 Reader接口 Closer接口,go里面自动实现所有的接口,不管你需要不需要,反正所有你想到的接口都实现了。而C#必须在设计的时候精确制定到底实现哪些接口,当然如果有10个函数,问题就更加复杂难测了。一个是牺牲一定的工程规范性(暂时我认为,除非自己故意犯错,这个缺陷很难让人犯错),一个是要初期设计的精确性(大家扪心自问,是不是经常纠结与一个接口的粒度问题, 而且接口如果设计的有问题,修改起来是不是巨难过)。事情总是有优点和缺点,评判优劣只能用平时使用的时候到底哪种情况遇到问题的比较多,比较容易犯错误。

  • 2013-05-15 15:10

    我觉得不能太孤立的看 goroutine, 个人认为 go 语言是 plan9操作系统 的 语言化。go语言的团队也是plan9操作系统的团队的核心成员。你会发现,goroutine的调度器,在goroutine 上建立的同步原语(sync包) 构成了 go语言运行时的核心部分。goroutine 的世界观和 在 plan9操作系统上的世界观非常的类似。 还有一点,像c#这样的语言,又有多少团队能够调优大型系统的性能呢?据我了解,非常多的团队,最终无法解决C#的性能问题,不是C#语言本身慢,只是非常容易误用,还有一点就是库多,对库本身大多只是一知半解。C#的确大而全,什么功能都有,什么东西都能实现,但是,如果你不是非常精通,那么你很难知道某个操作,到底底层做了什么,会不会引起很大的性能问题。Go不一样,你花一个月时间,就可以把整个底层库 包括 runtime 读一遍,然后,你写的每一行代码都会心中有数,学习成本低,误用的可能性就大大降低了。个人是比较喜欢这样小而精的语言。