由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - Go什么时候可能支持Generic?
相关主题
《C# 5.0 核心技术》第5版[PDF]C到底能走多远。。。。。。
其实微软是个做语言的公司这个C#是为了啥?
王垠:程序设计里的“小聪明”(ZZ)现在还有人猛钻研c++模板编程,generic programming, 甚至meta-programming么 模板编程简单用用还可以 我现在工作中能用到一点点。不过也是属于组里大牛搭好了架子的 我
JAVA generic programming 是怎么实现的?C# is light-years ahead of Java now
How to return an array in a C++ function?C++ Primer 和 C++ Primer Plus有什么区别
问一个C++ template的问题这次Go丢人有点大呀
How does template work in C++C++11和clang的很多新特性本质就是纵容新手酒驾
一个C的void指针的问题Java 8 闪亮发布了
相关话题的讨论汇总
话题: go话题: generic话题: generics话题: 支持话题: 语言
进入Programming版参与讨论
1 (共1页)
Y**G
发帖数: 1089
1
今年有戏吗?没有Generic令人抓狂阿
p*****2
发帖数: 21240
2
看看fan神的观点吧
Go的理念是语法必须简单,让码工写起来恶心,但不容
易写出无法维护的代码。不支持generic隐含的意义是强迫码工断绝让一段代码支持多
种类型的念头。写lib是一回事,而对app来说这显然是有利的。一段business logic如
果只处理int,出错的概率显然比既支持int又支持string小。
某种程度上generic可以通过interface实现,但实践中它主要用来做DI,test时注入
mock组件。
真正的generic语义,比如自带的sort package,很不顺手,确实不如fancy的新语言“
简洁”。我不认为这完全是坏事。swift写个运算符就能当匿名函数用,简化到极致,
但我总觉得哪里不对劲
w***g
发帖数: 5958
3
说得不错。我也挖出来了王垠的评论:
http://www.yinwang.org/blog-cn/2014/04/18/golang
关键部分:
然后由于 Go 的语法设计偷工减料,再加上由于缺乏 generics 而产生的特例(比如
Go 的 map 的语法设计)已经被大量使用,我觉得要加入 generics 的难度已经非常大。
我好久前也讨论过rob pike发明go语言的出发点
http://www.mitbbs.com/article/Programming/31446453_0.html
Generics在他们的roadmap里可能没啥priority。

【在 p*****2 的大作中提到】
: 看看fan神的观点吧
: Go的理念是语法必须简单,让码工写起来恶心,但不容
: 易写出无法维护的代码。不支持generic隐含的意义是强迫码工断绝让一段代码支持多
: 种类型的念头。写lib是一回事,而对app来说这显然是有利的。一段business logic如
: 果只处理int,出错的概率显然比既支持int又支持string小。
: 某种程度上generic可以通过interface实现,但实践中它主要用来做DI,test时注入
: mock组件。
: 真正的generic语义,比如自带的sort package,很不顺手,确实不如fancy的新语言“
: 简洁”。我不认为这完全是坏事。swift写个运算符就能当匿名函数用,简化到极致,
: 但我总觉得哪里不对劲

f*******t
发帖数: 7549
4
其实可以把Go理解为改进版的C语言,很多设定留下了C的痕迹,也许会成为Go长期无法
修复的缺陷。比如绕过static type的interface{},其实等价于C里的void*,绝对是毒
瘤。
Go是由C语言爱好者开发的,从这个角度出发,我猜Go短期内不会引入generic,那样就
搞得像C++了,开发者绝对不情愿。
另外楼主说说在写啥,没有generic就要抓狂?
n****l
发帖数: 1739
5
为什么用generics? Jave 1.2-1.4没有generics用的好好的, 加了只会让语言更复杂。
go更像是真正设计过的语言,不像C++/Scala, OO+FP, 就是一陀。

【在 Y**G 的大作中提到】
: 今年有戏吗?没有Generic令人抓狂阿
c*******9
发帖数: 9032
6
你的项目不需要用,不等于所有项目都不需要。作为通用的语言这些几乎必备。

【在 n****l 的大作中提到】
: 为什么用generics? Jave 1.2-1.4没有generics用的好好的, 加了只会让语言更复杂。
: go更像是真正设计过的语言,不像C++/Scala, OO+FP, 就是一陀。

a***n
发帖数: 623
7
短期内不会有generic,不过你看TiDB这么复杂的项目都用Go写出来了相信Go不会是一
门让你抓狂的语言。
1 (共1页)
进入Programming版参与讨论
相关主题
Java 8 闪亮发布了How to return an array in a C++ function?
[新手]一直都把C++当Java写,有啥严重不妥?问一个C++ template的问题
C#说实际上更多是java拷贝C#概念。How does template work in C++
珍惜生命,远离 R 和 Go一个C的void指针的问题
《C# 5.0 核心技术》第5版[PDF]C到底能走多远。。。。。。
其实微软是个做语言的公司这个C#是为了啥?
王垠:程序设计里的“小聪明”(ZZ)现在还有人猛钻研c++模板编程,generic programming, 甚至meta-programming么 模板编程简单用用还可以 我现在工作中能用到一点点。不过也是属于组里大牛搭好了架子的 我
JAVA generic programming 是怎么实现的?C# is light-years ahead of Java now
相关话题的讨论汇总
话题: go话题: generic话题: generics话题: 支持话题: 语言