p*****2 发帖数: 21240 | 1 越用越觉得语言设计太烂了,写起代码一堆hacks。 |
d*******r 发帖数: 3299 | |
p*****2 发帖数: 21240 | |
f*******t 发帖数: 7549 | 4 哪些hack?
【在 p*****2 的大作中提到】 : 越用越觉得语言设计太烂了,写起代码一堆hacks。
|
s********k 发帖数: 6180 | 5 怎么hack啊,我觉得还行,就是思维模式要调整一下,不过写过C的话应该不会太难。
你这个如果不用Go,用什么?
【在 p*****2 的大作中提到】 : 越用越觉得语言设计太烂了,写起代码一堆hacks。
|
g****t 发帖数: 31659 | 6 可能是因为go的oo和functional 特点都不强吧。
相比较而言,和swift,rust,kotlin 比较起来纯语法来看
GO有点过时。散发着电路板上C的屌丝味道。
: 怎么hack啊,我觉得还行,就是思维模式要调整一下,不过写过C的话应该不会
太难。
: 你这个如果不用Go,用什么?
【在 s********k 的大作中提到】 : 怎么hack啊,我觉得还行,就是思维模式要调整一下,不过写过C的话应该不会太难。 : 你这个如果不用Go,用什么?
|
s********k 发帖数: 6180 | 7 C一点不屌丝啊,不说电路板芯片这些,高性能的server,cache,DB很多都是C写的,
Go要做到高性能必须有点靠拢才行
【在 g****t 的大作中提到】 : 可能是因为go的oo和functional 特点都不强吧。 : 相比较而言,和swift,rust,kotlin 比较起来纯语法来看 : GO有点过时。散发着电路板上C的屌丝味道。 : : : 怎么hack啊,我觉得还行,就是思维模式要调整一下,不过写过C的话应该不会 : 太难。 : : 你这个如果不用Go,用什么? :
|
p*****2 发帖数: 21240 | 8
比如奇葩的
&[]bool{true}[0]
【在 f*******t 的大作中提到】 : 哪些hack?
|
p*****2 发帖数: 21240 | 9
我以前用了很多年C,我觉得可以用Java。Go的productivity没觉得提高呀。很多事情
做起来都很啰嗦
【在 s********k 的大作中提到】 : 怎么hack啊,我觉得还行,就是思维模式要调整一下,不过写过C的话应该不会太难。 : 你这个如果不用Go,用什么?
|
s********k 发帖数: 6180 | 10 性能比起java写的呢?
【在 p*****2 的大作中提到】 : : 我以前用了很多年C,我觉得可以用Java。Go的productivity没觉得提高呀。很多事情 : 做起来都很啰嗦
|
|
|
p*****2 发帖数: 21240 | 11
要差一点吧?
【在 s********k 的大作中提到】 : 性能比起java写的呢?
|
s********k 发帖数: 6180 | 12 你是说go写的性能不如java的,那当时为啥要上Go?
【在 p*****2 的大作中提到】 : : 要差一点吧?
|
g****t 发帖数: 31659 | 13 Fortran, Pascal, Delphi, rust,swift, bin
性能都不比C差什么啊。只要不走虚拟机的,哪怕
Ocaml,Haskell也不差性能。
C毛病太多,很多老师傅可以轻松据此不学无术的混饭而已。
另外你比比rust文档,开发者用纯文字解释了很多
取舍。我觉得态度是认真的。
GO我开始觉得是老师傅弄的假项目。
后来经过wdong提醒,发现schedule 是核心部分。
再后来发现最开始schedule很差,默认是单核的。
后来交给了个俄国人(?)提高很多。
这Rob Pike的节操,我是不会赌的。
: C一点不屌丝啊,不说电路板芯片这些,高性能的server,cache,DB很多
都是C
写的,
: Go要做到高性能必须有点靠拢才行
【在 s********k 的大作中提到】 : 你是说go写的性能不如java的,那当时为啥要上Go?
|
p*****2 发帖数: 21240 | 14
因为公司那些人只懂python,外边招java大牛,他们以后怎么survive?
【在 s********k 的大作中提到】 : 你是说go写的性能不如java的,那当时为啥要上Go?
|
g****t 发帖数: 31659 | 15 不写go,你如何灭公司里卡住位置的老师傅?
: 我以前用了很多年C,我觉得可以用Java。Go的productivity没觉得提高呀。很
多事情
: 做起来都很啰嗦
【在 p*****2 的大作中提到】 : : 因为公司那些人只懂python,外边招java大牛,他们以后怎么survive?
|
s********k 发帖数: 6180 | 16 所以故意选了大家都不爽的?go理论上写好如果在高并发情况下比java效率要好,毕竟
native的支持不需要JVM,concurrency效率也很高,但是如果是business logic为主可
能确实不一定有优势。
【在 p*****2 的大作中提到】 : : 因为公司那些人只懂python,外边招java大牛,他们以后怎么survive?
|
g****t 发帖数: 31659 | 17 Ken Thompson 当初为毛不用fortran?
B语言优点很多吗?
: 所以故意选了大家都不爽的?go理论上写好如果在高并发情况下比java效
率要好
,毕竟
: native的支持不需要JVM,concurrency效率也很高,但是如果是business
logic
为主可
: 能确实不一定有优势。
【在 s********k 的大作中提到】 : 所以故意选了大家都不爽的?go理论上写好如果在高并发情况下比java效率要好,毕竟 : native的支持不需要JVM,concurrency效率也很高,但是如果是business logic为主可 : 能确实不一定有优势。
|
p*****2 发帖数: 21240 | 18
反了。是卡住位置的只懂python,但是python必须要被干掉
【在 g****t 的大作中提到】 : 不写go,你如何灭公司里卡住位置的老师傅? : : : 我以前用了很多年C,我觉得可以用Java。Go的productivity没觉得提高呀。很 : 多事情 : : 做起来都很啰嗦 :
|
s********k 发帖数: 6180 | 19 精通JAVA上手go应该比精通python上手go的容易吧,卡位有优势没?
【在 p*****2 的大作中提到】 : : 反了。是卡住位置的只懂python,但是python必须要被干掉
|
p*****2 发帖数: 21240 | 20
用go就不需要招java developer了呀?可以继续招python developer。反正市场也没有
go developer。
【在 s********k 的大作中提到】 : 精通JAVA上手go应该比精通python上手go的容易吧,卡位有优势没?
|
|
|
s********k 发帖数: 6180 | 21 你说的这些没有一个整出来广泛应用的操作系统级别,以及和芯片级别的紧耦合,所以
C的屌丝地位闹不可破啊
只是应用写的好,C早就死翘翘了
【在 g****t 的大作中提到】 : Fortran, Pascal, Delphi, rust,swift, bin : 性能都不比C差什么啊。只要不走虚拟机的,哪怕 : Ocaml,Haskell也不差性能。 : C毛病太多,很多老师傅可以轻松据此不学无术的混饭而已。 : 另外你比比rust文档,开发者用纯文字解释了很多 : 取舍。我觉得态度是认真的。 : GO我开始觉得是老师傅弄的假项目。 : 后来经过wdong提醒,发现schedule 是核心部分。 : 再后来发现最开始schedule很差,默认是单核的。 : 后来交给了个俄国人(?)提高很多。
|
g****t 发帖数: 31659 | 22 反了。多数是python的人去go
Go的oo很弱。Design pattern玩不开。从java过去武艺就废了大半
: 精通JAVA上手go应该比精通python上手go的容易吧,卡位有优势没?
【在 s********k 的大作中提到】 : 你说的这些没有一个整出来广泛应用的操作系统级别,以及和芯片级别的紧耦合,所以 : C的屌丝地位闹不可破啊 : 只是应用写的好,C早就死翘翘了
|
d*******r 发帖数: 3299 | 23 确实有这方面原因
不过好处是, Go轮子里的抽象层数比Java浅,
很老的代码比Java少, 读起来容易些
【在 p*****2 的大作中提到】 : : 用go就不需要招java developer了呀?可以继续招python developer。反正市场也没有 : go developer。
|
g****t 发帖数: 31659 | 24 我从未讲过c的地位有问题
: 你说的这些没有一个整出来广泛应用的操作系统级别,以及和芯片级别的紧耦合
,所以
: C的屌丝地位闹不可破啊
: 只是应用写的好,C早就死翘翘了
【在 s********k 的大作中提到】 : 你说的这些没有一个整出来广泛应用的操作系统级别,以及和芯片级别的紧耦合,所以 : C的屌丝地位闹不可破啊 : 只是应用写的好,C早就死翘翘了
|
s********k 发帖数: 6180 | 25 市场上的go 都在哪里?都在狗狗干?好像各大公司service现在都有一些go了吧。我觉
得如果是stream 高并发又要低消耗这样的编程范式,感觉go是比java有优势,又比其
他函数语言还是要简单不少
【在 p*****2 的大作中提到】 : : 用go就不需要招java developer了呀?可以继续招python developer。反正市场也没有 : go developer。
|
s********k 发帖数: 6180 | 26 python的连类型都不用担心,突然要玩go这么底层的,还是跨度较大,不过如果人家本
来就是玩C。C++出生到python倒是另一回事
【在 g****t 的大作中提到】 : 反了。多数是python的人去go : Go的oo很弱。Design pattern玩不开。从java过去武艺就废了大半 : : : 精通JAVA上手go应该比精通python上手go的容易吧,卡位有优势没? :
|
s********k 发帖数: 6180 | 27 对于写C的老司机,Go不那么OO其实更容易接受。
【在 d*******r 的大作中提到】 : 确实有这方面原因 : 不过好处是, Go轮子里的抽象层数比Java浅, : 很老的代码比Java少, 读起来容易些
|
p*****2 发帖数: 21240 | 28
最后go用的都是python的design pattern
【在 g****t 的大作中提到】 : 反了。多数是python的人去go : Go的oo很弱。Design pattern玩不开。从java过去武艺就废了大半 : : : 精通JAVA上手go应该比精通python上手go的容易吧,卡位有优势没? :
|
s********k 发帖数: 6180 | 29 schedule做multiplex确实是核心,你说的交给哪个俄国人了?
【在 g****t 的大作中提到】 : Fortran, Pascal, Delphi, rust,swift, bin : 性能都不比C差什么啊。只要不走虚拟机的,哪怕 : Ocaml,Haskell也不差性能。 : C毛病太多,很多老师傅可以轻松据此不学无术的混饭而已。 : 另外你比比rust文档,开发者用纯文字解释了很多 : 取舍。我觉得态度是认真的。 : GO我开始觉得是老师傅弄的假项目。 : 后来经过wdong提醒,发现schedule 是核心部分。 : 再后来发现最开始schedule很差,默认是单核的。 : 后来交给了个俄国人(?)提高很多。
|
p*****2 发帖数: 21240 | 30
现在确实没有什么太好的,但是跟go设计是不是优美是两回事了。
【在 s********k 的大作中提到】 : 市场上的go 都在哪里?都在狗狗干?好像各大公司service现在都有一些go了吧。我觉 : 得如果是stream 高并发又要低消耗这样的编程范式,感觉go是比java有优势,又比其 : 他函数语言还是要简单不少
|
|
|
p*****2 发帖数: 21240 | 31
我还真不太懂python那帮怎么突然就往go转了
公孙现在也不来给大家讲讲了
【在 s********k 的大作中提到】 : python的连类型都不用担心,突然要玩go这么底层的,还是跨度较大,不过如果人家本 : 来就是玩C。C++出生到python倒是另一回事
|
s********k 发帖数: 6180 | 32 估计很少有纯粹一开始就从python的,都是一帮玩C的,然后错过了java大潮,必须要
抓住python了,如果有C和python的经验,转Go确实相对容易,底层能理解并发,上层
的design和python也确实比较像
【在 p*****2 的大作中提到】 : : 我还真不太懂python那帮怎么突然就往go转了 : 公孙现在也不来给大家讲讲了
|
p*****2 发帖数: 21240 | 33
我就是错过Java了,不过我宁愿用Java8的stream api。虽说也不是很好用。
【在 s********k 的大作中提到】 : 估计很少有纯粹一开始就从python的,都是一帮玩C的,然后错过了java大潮,必须要 : 抓住python了,如果有C和python的经验,转Go确实相对容易,底层能理解并发,上层 : 的design和python也确实比较像
|
s********k 发帖数: 6180 | 34 二爷那你应该pickup go轻车熟路啊,现在工作中主力用啥语言?
【在 p*****2 的大作中提到】 : : 我就是错过Java了,不过我宁愿用Java8的stream api。虽说也不是很好用。
|
p*****2 发帖数: 21240 | 35
现在就在用go,我pickup没问题呀。就是写起来太啰嗦了。其他语言一行,go得写一大
段。
【在 s********k 的大作中提到】 : 二爷那你应该pickup go轻车熟路啊,现在工作中主力用啥语言?
|
f*******t 发帖数: 7549 | 36 问题是你为啥要这么写?cgo?
【在 p*****2 的大作中提到】 : : 现在就在用go,我pickup没问题呀。就是写起来太啰嗦了。其他语言一行,go得写一大 : 段。
|
p*****2 发帖数: 21240 | 37
google了一下,这个已经是最简洁的写法了。至少一行搞定了。其他的写法都要好几行
。
【在 f*******t 的大作中提到】 : 问题是你为啥要这么写?cgo?
|
w**z 发帖数: 8232 | 38 为什么 Python 必须要被干掉?
:
:【 在 guvest (我爱你老婆Anna) 的大作中提到: 】 |
g****t 发帖数: 31659 | 39 Python常写,自然会关心类型。别说类型了,行列向量我都有个一行的函数,每次用
vector我都会套上确保行列对。
: python的连类型都不用担心,突然要玩go这么底层的,还是跨度较大,不过如果
人家本
: 来就是玩C。C 出生到python倒是另一回事
【在 s********k 的大作中提到】 : 二爷那你应该pickup go轻车熟路啊,现在工作中主力用啥语言?
|
f*******t 发帖数: 7549 | 40 cgo难看是正常的啊,难道其他语言调用c能写的很好看?这写法也是c的风格,不懂你
为什么要喷go
【在 p*****2 的大作中提到】 : : google了一下,这个已经是最简洁的写法了。至少一行搞定了。其他的写法都要好几行 : 。
|
|
|
p*****2 发帖数: 21240 | 41
不是cgo,就是纯的go code
【在 f*******t 的大作中提到】 : cgo难看是正常的啊,难道其他语言调用c能写的很好看?这写法也是c的风格,不懂你 : 为什么要喷go
|
f*******t 发帖数: 7549 | 42 好久没写go,记不得这种语法用于什么目的了。有上下文吗
【在 p*****2 的大作中提到】 : : 不是cgo,就是纯的go code
|
g****t 发帖数: 31659 | 43 楼主的组有没有考虑rust ?
: 不是cgo,就是纯的go code
【在 p*****2 的大作中提到】 : : 不是cgo,就是纯的go code
|
s********k 发帖数: 6180 | |
g****t 发帖数: 31659 | 45 Go语言关键的你有别人没有,
还是schedule吧。这点wdong讲的最好。
Go做为一个产品,其他的产品features
严格来说属于管理人员的品味。
JVM上面我个人觉得这点是不可能做到的。设计取舍
太复杂,两难太多。根本的一些
技术原因可能要追溯到Sun时代的硬件。就不多说了。
: https://time.geekbang.org/column/article/294
: 贴这个应景一下,大牛们可以口水战一番
【在 s********k 的大作中提到】 : https://time.geekbang.org/column/article/294 : 贴这个应景一下,大牛们可以口水战一番
|
w***g 发帖数: 5958 | 46 我以前实验室有一哥们,为了用channel硬是在
linux上用plan9的库。还时不时号称pthread is broken。
我至今也没看出来是怎么broken。
C++11以后concurrency这方面进展很快。
【在 s********k 的大作中提到】 : https://time.geekbang.org/column/article/294 : 贴这个应景一下,大牛们可以口水战一番
|
s********k 发帖数: 6180 | 47 C++写起concurrency还是比Go难多了,不能以你们大牛的标准,而是对普通马工
【在 w***g 的大作中提到】 : 我以前实验室有一哥们,为了用channel硬是在 : linux上用plan9的库。还时不时号称pthread is broken。 : 我至今也没看出来是怎么broken。 : C++11以后concurrency这方面进展很快。
|
s********k 发帖数: 6180 | 48 不过不明白为什么不用pthread,pthread和go兼容的啊,
【在 w***g 的大作中提到】 : 我以前实验室有一哥们,为了用channel硬是在 : linux上用plan9的库。还时不时号称pthread is broken。 : 我至今也没看出来是怎么broken。 : C++11以后concurrency这方面进展很快。
|
w***g 发帖数: 5958 | 49 还是pthread,只不过是在pthread上包plan9的库取得心理上的平静。
【在 s********k 的大作中提到】 : 不过不明白为什么不用pthread,pthread和go兼容的啊,
|
p*****2 发帖数: 21240 | 50
很简单。一个函数需要传入bool类型指针,我想传个true进去。
【在 f*******t 的大作中提到】 : 好久没写go,记不得这种语法用于什么目的了。有上下文吗
|
|
|
p*****2 发帖数: 21240 | 51
这个是公司定的调。下边没什么自由。
【在 g****t 的大作中提到】 : 楼主的组有没有考虑rust ? : : : 不是cgo,就是纯的go code :
|
g****t 发帖数: 31659 | 52 C 如何做M:N这种调度的?有库?
: 我以前实验室有一哥们,为了用channel硬是在
: linux上用plan9的库。还时不时号称pthread is broken。
: 我至今也没看出来是怎么broken。
: C 11以后concurrency这方面进展很快。
【在 w***g 的大作中提到】 : 还是pthread,只不过是在pthread上包plan9的库取得心理上的平静。
|
s********k 发帖数: 6180 | 53 难道不是microservice什么语言都可以用?公司定调的话一般是啥人说话算数?VP of
Engineering,还是CTO?
【在 p*****2 的大作中提到】 : : 这个是公司定的调。下边没什么自由。
|
g****t 发帖数: 31659 | 54 生产产品的部门用什么语言,选什么tool是很大事。
规模大点的,一般不存在用什么语言都可以这回事。
: 难道不是microservice什么语言都可以用?公司定调的话一般是啥人说话
算数?
VP of
: Engineering,还是CTO?
【在 s********k 的大作中提到】 : 难道不是microservice什么语言都可以用?公司定调的话一般是啥人说话算数?VP of : Engineering,还是CTO?
|
s********k 发帖数: 6180 | 55 一个部门有可能,但是整个公司多个语言应该是会有的。不过如果上面的发话了,估计
地下没有强烈理由不好选其他
【在 g****t 的大作中提到】 : 生产产品的部门用什么语言,选什么tool是很大事。 : 规模大点的,一般不存在用什么语言都可以这回事。 : : : 难道不是microservice什么语言都可以用?公司定调的话一般是啥人说话 : 算数? : VP of : : Engineering,还是CTO? :
|
p*****2 发帖数: 21240 | 56
of
哈哈。都是奇葩。
【在 s********k 的大作中提到】 : 难道不是microservice什么语言都可以用?公司定调的话一般是啥人说话算数?VP of : Engineering,还是CTO?
|
f*******t 发帖数: 7549 | 57 为什么要bool类型指针?这个函数本身就是antipattern。如果要改原变量的值应该返
回一个bool。Go支持多个返回值,没理由传bool类型的指针给函数。
【在 p*****2 的大作中提到】 : : of : 哈哈。都是奇葩。
|
w***g 发帖数: 5958 | 58 没有。C里叫做task-based parallelization,先把人物按内容分类,
然后每类起一个channel,然后每个channel起若干个线程从里面读
东西处理。都是手写。
【在 g****t 的大作中提到】 : C 如何做M:N这种调度的?有库? : : : 我以前实验室有一哥们,为了用channel硬是在 : : linux上用plan9的库。还时不时号称pthread is broken。 : : 我至今也没看出来是怎么broken。 : : C 11以后concurrency这方面进展很快。 :
|
p*****2 发帖数: 21240 | 59
因为人家想把这个parameter做成optional的。这个是thrift自动生成的。没法改。
【在 f*******t 的大作中提到】 : 为什么要bool类型指针?这个函数本身就是antipattern。如果要改原变量的值应该返 : 回一个bool。Go支持多个返回值,没理由传bool类型的指针给函数。
|
s********k 发帖数: 6180 | 60 类似C# async await这样的?
【在 w***g 的大作中提到】 : 没有。C里叫做task-based parallelization,先把人物按内容分类, : 然后每类起一个channel,然后每个channel起若干个线程从里面读 : 东西处理。都是手写。
|
|
|
a*********0 发帖数: 2727 | 61 难道二爷在我司?我司的ads service大部分用go写的 |
f*******t 发帖数: 7549 | 62 哪家这么牛?
【在 a*********0 的大作中提到】 : 难道二爷在我司?我司的ads service大部分用go写的
|
f*******t 发帖数: 7549 | 63 我试了一下,不需要奇葩语法啊,直接把变量的指针传进去就行了
https://play.golang.org/p/lezUh49ilm
【在 p*****2 的大作中提到】 : : 因为人家想把这个parameter做成optional的。这个是thrift自动生成的。没法改。
|
p*****2 发帖数: 21240 | 64 越用越觉得语言设计太烂了,写起代码一堆hacks。 |
d*******r 发帖数: 3299 | |
p*****2 发帖数: 21240 | |
f*******t 发帖数: 7549 | 67 哪些hack?
【在 p*****2 的大作中提到】 : 越用越觉得语言设计太烂了,写起代码一堆hacks。
|
s********k 发帖数: 6180 | 68 怎么hack啊,我觉得还行,就是思维模式要调整一下,不过写过C的话应该不会太难。
你这个如果不用Go,用什么?
【在 p*****2 的大作中提到】 : 越用越觉得语言设计太烂了,写起代码一堆hacks。
|
g****t 发帖数: 31659 | 69 可能是因为go的oo和functional 特点都不强吧。
相比较而言,和swift,rust,kotlin 比较起来纯语法来看
GO有点过时。散发着电路板上C的屌丝味道。
: 怎么hack啊,我觉得还行,就是思维模式要调整一下,不过写过C的话应该不会
太难。
: 你这个如果不用Go,用什么?
【在 s********k 的大作中提到】 : 怎么hack啊,我觉得还行,就是思维模式要调整一下,不过写过C的话应该不会太难。 : 你这个如果不用Go,用什么?
|
s********k 发帖数: 6180 | 70 C一点不屌丝啊,不说电路板芯片这些,高性能的server,cache,DB很多都是C写的,
Go要做到高性能必须有点靠拢才行
【在 g****t 的大作中提到】 : 可能是因为go的oo和functional 特点都不强吧。 : 相比较而言,和swift,rust,kotlin 比较起来纯语法来看 : GO有点过时。散发着电路板上C的屌丝味道。 : : : 怎么hack啊,我觉得还行,就是思维模式要调整一下,不过写过C的话应该不会 : 太难。 : : 你这个如果不用Go,用什么? :
|
|
|
p*****2 发帖数: 21240 | 71
比如奇葩的
&[]bool{true}[0]
【在 f*******t 的大作中提到】 : 哪些hack?
|
p*****2 发帖数: 21240 | 72
我以前用了很多年C,我觉得可以用Java。Go的productivity没觉得提高呀。很多事情
做起来都很啰嗦
【在 s********k 的大作中提到】 : 怎么hack啊,我觉得还行,就是思维模式要调整一下,不过写过C的话应该不会太难。 : 你这个如果不用Go,用什么?
|
s********k 发帖数: 6180 | 73 性能比起java写的呢?
【在 p*****2 的大作中提到】 : : 我以前用了很多年C,我觉得可以用Java。Go的productivity没觉得提高呀。很多事情 : 做起来都很啰嗦
|
p*****2 发帖数: 21240 | 74
要差一点吧?
【在 s********k 的大作中提到】 : 性能比起java写的呢?
|
s********k 发帖数: 6180 | 75 你是说go写的性能不如java的,那当时为啥要上Go?
【在 p*****2 的大作中提到】 : : 要差一点吧?
|
g****t 发帖数: 31659 | 76 Fortran, Pascal, Delphi, rust,swift, bin
性能都不比C差什么啊。只要不走虚拟机的,哪怕
Ocaml,Haskell也不差性能。
C毛病太多,很多老师傅可以轻松据此不学无术的混饭而已。
另外你比比rust文档,开发者用纯文字解释了很多
取舍。我觉得态度是认真的。
GO我开始觉得是老师傅弄的假项目。
后来经过wdong提醒,发现schedule 是核心部分。
再后来发现最开始schedule很差,默认是单核的。
后来交给了个俄国人(?)提高很多。
这Rob Pike的节操,我是不会赌的。
: C一点不屌丝啊,不说电路板芯片这些,高性能的server,cache,DB很多
都是C
写的,
: Go要做到高性能必须有点靠拢才行
【在 s********k 的大作中提到】 : 你是说go写的性能不如java的,那当时为啥要上Go?
|
p*****2 发帖数: 21240 | 77
因为公司那些人只懂python,外边招java大牛,他们以后怎么survive?
【在 s********k 的大作中提到】 : 你是说go写的性能不如java的,那当时为啥要上Go?
|
g****t 发帖数: 31659 | 78 不写go,你如何灭公司里卡住位置的老师傅?
: 我以前用了很多年C,我觉得可以用Java。Go的productivity没觉得提高呀。很
多事情
: 做起来都很啰嗦
【在 p*****2 的大作中提到】 : : 因为公司那些人只懂python,外边招java大牛,他们以后怎么survive?
|
s********k 发帖数: 6180 | 79 所以故意选了大家都不爽的?go理论上写好如果在高并发情况下比java效率要好,毕竟
native的支持不需要JVM,concurrency效率也很高,但是如果是business logic为主可
能确实不一定有优势。
【在 p*****2 的大作中提到】 : : 因为公司那些人只懂python,外边招java大牛,他们以后怎么survive?
|
g****t 发帖数: 31659 | 80 Ken Thompson 当初为毛不用fortran?
B语言优点很多吗?
: 所以故意选了大家都不爽的?go理论上写好如果在高并发情况下比java效
率要好
,毕竟
: native的支持不需要JVM,concurrency效率也很高,但是如果是business
logic
为主可
: 能确实不一定有优势。
【在 s********k 的大作中提到】 : 所以故意选了大家都不爽的?go理论上写好如果在高并发情况下比java效率要好,毕竟 : native的支持不需要JVM,concurrency效率也很高,但是如果是business logic为主可 : 能确实不一定有优势。
|
|
|
p*****2 发帖数: 21240 | 81
反了。是卡住位置的只懂python,但是python必须要被干掉
【在 g****t 的大作中提到】 : 不写go,你如何灭公司里卡住位置的老师傅? : : : 我以前用了很多年C,我觉得可以用Java。Go的productivity没觉得提高呀。很 : 多事情 : : 做起来都很啰嗦 :
|
s********k 发帖数: 6180 | 82 精通JAVA上手go应该比精通python上手go的容易吧,卡位有优势没?
【在 p*****2 的大作中提到】 : : 反了。是卡住位置的只懂python,但是python必须要被干掉
|
p*****2 发帖数: 21240 | 83
用go就不需要招java developer了呀?可以继续招python developer。反正市场也没有
go developer。
【在 s********k 的大作中提到】 : 精通JAVA上手go应该比精通python上手go的容易吧,卡位有优势没?
|
s********k 发帖数: 6180 | 84 你说的这些没有一个整出来广泛应用的操作系统级别,以及和芯片级别的紧耦合,所以
C的屌丝地位闹不可破啊
只是应用写的好,C早就死翘翘了
【在 g****t 的大作中提到】 : Fortran, Pascal, Delphi, rust,swift, bin : 性能都不比C差什么啊。只要不走虚拟机的,哪怕 : Ocaml,Haskell也不差性能。 : C毛病太多,很多老师傅可以轻松据此不学无术的混饭而已。 : 另外你比比rust文档,开发者用纯文字解释了很多 : 取舍。我觉得态度是认真的。 : GO我开始觉得是老师傅弄的假项目。 : 后来经过wdong提醒,发现schedule 是核心部分。 : 再后来发现最开始schedule很差,默认是单核的。 : 后来交给了个俄国人(?)提高很多。
|
g****t 发帖数: 31659 | 85 反了。多数是python的人去go
Go的oo很弱。Design pattern玩不开。从java过去武艺就废了大半
: 精通JAVA上手go应该比精通python上手go的容易吧,卡位有优势没?
【在 s********k 的大作中提到】 : 你说的这些没有一个整出来广泛应用的操作系统级别,以及和芯片级别的紧耦合,所以 : C的屌丝地位闹不可破啊 : 只是应用写的好,C早就死翘翘了
|
d*******r 发帖数: 3299 | 86 确实有这方面原因
不过好处是, Go轮子里的抽象层数比Java浅,
很老的代码比Java少, 读起来容易些
【在 p*****2 的大作中提到】 : : 用go就不需要招java developer了呀?可以继续招python developer。反正市场也没有 : go developer。
|
g****t 发帖数: 31659 | 87 我从未讲过c的地位有问题
: 你说的这些没有一个整出来广泛应用的操作系统级别,以及和芯片级别的紧耦合
,所以
: C的屌丝地位闹不可破啊
: 只是应用写的好,C早就死翘翘了
【在 s********k 的大作中提到】 : 你说的这些没有一个整出来广泛应用的操作系统级别,以及和芯片级别的紧耦合,所以 : C的屌丝地位闹不可破啊 : 只是应用写的好,C早就死翘翘了
|
s********k 发帖数: 6180 | 88 市场上的go 都在哪里?都在狗狗干?好像各大公司service现在都有一些go了吧。我觉
得如果是stream 高并发又要低消耗这样的编程范式,感觉go是比java有优势,又比其
他函数语言还是要简单不少
【在 p*****2 的大作中提到】 : : 用go就不需要招java developer了呀?可以继续招python developer。反正市场也没有 : go developer。
|
s********k 发帖数: 6180 | 89 python的连类型都不用担心,突然要玩go这么底层的,还是跨度较大,不过如果人家本
来就是玩C。C++出生到python倒是另一回事
【在 g****t 的大作中提到】 : 反了。多数是python的人去go : Go的oo很弱。Design pattern玩不开。从java过去武艺就废了大半 : : : 精通JAVA上手go应该比精通python上手go的容易吧,卡位有优势没? :
|
s********k 发帖数: 6180 | 90 对于写C的老司机,Go不那么OO其实更容易接受。
【在 d*******r 的大作中提到】 : 确实有这方面原因 : 不过好处是, Go轮子里的抽象层数比Java浅, : 很老的代码比Java少, 读起来容易些
|
|
|
p*****2 发帖数: 21240 | 91
最后go用的都是python的design pattern
【在 g****t 的大作中提到】 : 反了。多数是python的人去go : Go的oo很弱。Design pattern玩不开。从java过去武艺就废了大半 : : : 精通JAVA上手go应该比精通python上手go的容易吧,卡位有优势没? :
|
s********k 发帖数: 6180 | 92 schedule做multiplex确实是核心,你说的交给哪个俄国人了?
【在 g****t 的大作中提到】 : Fortran, Pascal, Delphi, rust,swift, bin : 性能都不比C差什么啊。只要不走虚拟机的,哪怕 : Ocaml,Haskell也不差性能。 : C毛病太多,很多老师傅可以轻松据此不学无术的混饭而已。 : 另外你比比rust文档,开发者用纯文字解释了很多 : 取舍。我觉得态度是认真的。 : GO我开始觉得是老师傅弄的假项目。 : 后来经过wdong提醒,发现schedule 是核心部分。 : 再后来发现最开始schedule很差,默认是单核的。 : 后来交给了个俄国人(?)提高很多。
|
p*****2 发帖数: 21240 | 93
现在确实没有什么太好的,但是跟go设计是不是优美是两回事了。
【在 s********k 的大作中提到】 : 市场上的go 都在哪里?都在狗狗干?好像各大公司service现在都有一些go了吧。我觉 : 得如果是stream 高并发又要低消耗这样的编程范式,感觉go是比java有优势,又比其 : 他函数语言还是要简单不少
|
p*****2 发帖数: 21240 | 94
我还真不太懂python那帮怎么突然就往go转了
公孙现在也不来给大家讲讲了
【在 s********k 的大作中提到】 : python的连类型都不用担心,突然要玩go这么底层的,还是跨度较大,不过如果人家本 : 来就是玩C。C++出生到python倒是另一回事
|
s********k 发帖数: 6180 | 95 估计很少有纯粹一开始就从python的,都是一帮玩C的,然后错过了java大潮,必须要
抓住python了,如果有C和python的经验,转Go确实相对容易,底层能理解并发,上层
的design和python也确实比较像
【在 p*****2 的大作中提到】 : : 我还真不太懂python那帮怎么突然就往go转了 : 公孙现在也不来给大家讲讲了
|
p*****2 发帖数: 21240 | 96
我就是错过Java了,不过我宁愿用Java8的stream api。虽说也不是很好用。
【在 s********k 的大作中提到】 : 估计很少有纯粹一开始就从python的,都是一帮玩C的,然后错过了java大潮,必须要 : 抓住python了,如果有C和python的经验,转Go确实相对容易,底层能理解并发,上层 : 的design和python也确实比较像
|
s********k 发帖数: 6180 | 97 二爷那你应该pickup go轻车熟路啊,现在工作中主力用啥语言?
【在 p*****2 的大作中提到】 : : 我就是错过Java了,不过我宁愿用Java8的stream api。虽说也不是很好用。
|
p*****2 发帖数: 21240 | 98
现在就在用go,我pickup没问题呀。就是写起来太啰嗦了。其他语言一行,go得写一大
段。
【在 s********k 的大作中提到】 : 二爷那你应该pickup go轻车熟路啊,现在工作中主力用啥语言?
|
f*******t 发帖数: 7549 | 99 问题是你为啥要这么写?cgo?
【在 p*****2 的大作中提到】 : : 现在就在用go,我pickup没问题呀。就是写起来太啰嗦了。其他语言一行,go得写一大 : 段。
|
p*****2 发帖数: 21240 | 100
google了一下,这个已经是最简洁的写法了。至少一行搞定了。其他的写法都要好几行
。
【在 f*******t 的大作中提到】 : 问题是你为啥要这么写?cgo?
|
|
|
w**z 发帖数: 8232 | 101 为什么 Python 必须要被干掉?
:
:【 在 guvest (我爱你老婆Anna) 的大作中提到: 】 |
g****t 发帖数: 31659 | 102 Python常写,自然会关心类型。别说类型了,行列向量我都有个一行的函数,每次用
vector我都会套上确保行列对。
: python的连类型都不用担心,突然要玩go这么底层的,还是跨度较大,不过如果
人家本
: 来就是玩C。C 出生到python倒是另一回事
【在 s********k 的大作中提到】 : 二爷那你应该pickup go轻车熟路啊,现在工作中主力用啥语言?
|
f*******t 发帖数: 7549 | 103 cgo难看是正常的啊,难道其他语言调用c能写的很好看?这写法也是c的风格,不懂你
为什么要喷go
【在 p*****2 的大作中提到】 : : google了一下,这个已经是最简洁的写法了。至少一行搞定了。其他的写法都要好几行 : 。
|
p*****2 发帖数: 21240 | 104
不是cgo,就是纯的go code
【在 f*******t 的大作中提到】 : cgo难看是正常的啊,难道其他语言调用c能写的很好看?这写法也是c的风格,不懂你 : 为什么要喷go
|
f*******t 发帖数: 7549 | 105 好久没写go,记不得这种语法用于什么目的了。有上下文吗
【在 p*****2 的大作中提到】 : : 不是cgo,就是纯的go code
|
g****t 发帖数: 31659 | 106 楼主的组有没有考虑rust ?
: 不是cgo,就是纯的go code
【在 p*****2 的大作中提到】 : : 不是cgo,就是纯的go code
|
s********k 发帖数: 6180 | |
g****t 发帖数: 31659 | 108 Go语言关键的你有别人没有,
还是schedule吧。这点wdong讲的最好。
Go做为一个产品,其他的产品features
严格来说属于管理人员的品味。
JVM上面我个人觉得这点是不可能做到的。设计取舍
太复杂,两难太多。根本的一些
技术原因可能要追溯到Sun时代的硬件。就不多说了。
: https://time.geekbang.org/column/article/294
: 贴这个应景一下,大牛们可以口水战一番
【在 s********k 的大作中提到】 : https://time.geekbang.org/column/article/294 : 贴这个应景一下,大牛们可以口水战一番
|
w***g 发帖数: 5958 | 109 我以前实验室有一哥们,为了用channel硬是在
linux上用plan9的库。还时不时号称pthread is broken。
我至今也没看出来是怎么broken。
C++11以后concurrency这方面进展很快。
【在 s********k 的大作中提到】 : https://time.geekbang.org/column/article/294 : 贴这个应景一下,大牛们可以口水战一番
|
s********k 发帖数: 6180 | 110 C++写起concurrency还是比Go难多了,不能以你们大牛的标准,而是对普通马工
【在 w***g 的大作中提到】 : 我以前实验室有一哥们,为了用channel硬是在 : linux上用plan9的库。还时不时号称pthread is broken。 : 我至今也没看出来是怎么broken。 : C++11以后concurrency这方面进展很快。
|
|
|
s********k 发帖数: 6180 | 111 不过不明白为什么不用pthread,pthread和go兼容的啊,
【在 w***g 的大作中提到】 : 我以前实验室有一哥们,为了用channel硬是在 : linux上用plan9的库。还时不时号称pthread is broken。 : 我至今也没看出来是怎么broken。 : C++11以后concurrency这方面进展很快。
|
w***g 发帖数: 5958 | 112 还是pthread,只不过是在pthread上包plan9的库取得心理上的平静。
【在 s********k 的大作中提到】 : 不过不明白为什么不用pthread,pthread和go兼容的啊,
|
p*****2 发帖数: 21240 | 113
很简单。一个函数需要传入bool类型指针,我想传个true进去。
【在 f*******t 的大作中提到】 : 好久没写go,记不得这种语法用于什么目的了。有上下文吗
|
p*****2 发帖数: 21240 | 114
这个是公司定的调。下边没什么自由。
【在 g****t 的大作中提到】 : 楼主的组有没有考虑rust ? : : : 不是cgo,就是纯的go code :
|
g****t 发帖数: 31659 | 115 C 如何做M:N这种调度的?有库?
: 我以前实验室有一哥们,为了用channel硬是在
: linux上用plan9的库。还时不时号称pthread is broken。
: 我至今也没看出来是怎么broken。
: C 11以后concurrency这方面进展很快。
【在 w***g 的大作中提到】 : 还是pthread,只不过是在pthread上包plan9的库取得心理上的平静。
|
s********k 发帖数: 6180 | 116 难道不是microservice什么语言都可以用?公司定调的话一般是啥人说话算数?VP of
Engineering,还是CTO?
【在 p*****2 的大作中提到】 : : 这个是公司定的调。下边没什么自由。
|
g****t 发帖数: 31659 | 117 生产产品的部门用什么语言,选什么tool是很大事。
规模大点的,一般不存在用什么语言都可以这回事。
: 难道不是microservice什么语言都可以用?公司定调的话一般是啥人说话
算数?
VP of
: Engineering,还是CTO?
【在 s********k 的大作中提到】 : 难道不是microservice什么语言都可以用?公司定调的话一般是啥人说话算数?VP of : Engineering,还是CTO?
|
s********k 发帖数: 6180 | 118 一个部门有可能,但是整个公司多个语言应该是会有的。不过如果上面的发话了,估计
地下没有强烈理由不好选其他
【在 g****t 的大作中提到】 : 生产产品的部门用什么语言,选什么tool是很大事。 : 规模大点的,一般不存在用什么语言都可以这回事。 : : : 难道不是microservice什么语言都可以用?公司定调的话一般是啥人说话 : 算数? : VP of : : Engineering,还是CTO? :
|
p*****2 发帖数: 21240 | 119
of
哈哈。都是奇葩。
【在 s********k 的大作中提到】 : 难道不是microservice什么语言都可以用?公司定调的话一般是啥人说话算数?VP of : Engineering,还是CTO?
|
f*******t 发帖数: 7549 | 120 为什么要bool类型指针?这个函数本身就是antipattern。如果要改原变量的值应该返
回一个bool。Go支持多个返回值,没理由传bool类型的指针给函数。
【在 p*****2 的大作中提到】 : : of : 哈哈。都是奇葩。
|
|
|
w***g 发帖数: 5958 | 121 没有。C里叫做task-based parallelization,先把人物按内容分类,
然后每类起一个channel,然后每个channel起若干个线程从里面读
东西处理。都是手写。
【在 g****t 的大作中提到】 : C 如何做M:N这种调度的?有库? : : : 我以前实验室有一哥们,为了用channel硬是在 : : linux上用plan9的库。还时不时号称pthread is broken。 : : 我至今也没看出来是怎么broken。 : : C 11以后concurrency这方面进展很快。 :
|
p*****2 发帖数: 21240 | 122
因为人家想把这个parameter做成optional的。这个是thrift自动生成的。没法改。
【在 f*******t 的大作中提到】 : 为什么要bool类型指针?这个函数本身就是antipattern。如果要改原变量的值应该返 : 回一个bool。Go支持多个返回值,没理由传bool类型的指针给函数。
|
s********k 发帖数: 6180 | 123 类似C# async await这样的?
【在 w***g 的大作中提到】 : 没有。C里叫做task-based parallelization,先把人物按内容分类, : 然后每类起一个channel,然后每个channel起若干个线程从里面读 : 东西处理。都是手写。
|
a*********0 发帖数: 2727 | 124 难道二爷在我司?我司的ads service大部分用go写的 |
f*******t 发帖数: 7549 | 125 哪家这么牛?
【在 a*********0 的大作中提到】 : 难道二爷在我司?我司的ads service大部分用go写的
|
f*******t 发帖数: 7549 | 126 我试了一下,不需要奇葩语法啊,直接把变量的指针传进去就行了
https://play.golang.org/p/lezUh49ilm
【在 p*****2 的大作中提到】 : : 因为人家想把这个parameter做成optional的。这个是thrift自动生成的。没法改。
|
s********k 发帖数: 6180 | 127 狗狗家?
【在 a*********0 的大作中提到】 : 难道二爷在我司?我司的ads service大部分用go写的
|
w********m 发帖数: 1137 | 128 java的花活太多,烙印architect满地走。
到处都是配置,一大半代码是xml。
design pattern还有几十种,把人吓尿了。
其实,除了电商,java也不是非要不可。
所以大家都想玩玩简单的python和go。
go看上去就是typed python。 |
d*******r 发帖数: 3299 | 129 同意这个, Java 可以简略清爽的写.
但是这些历史包袱里的笨重东西, 确实非常多.
【在 w********m 的大作中提到】 : java的花活太多,烙印architect满地走。 : 到处都是配置,一大半代码是xml。 : design pattern还有几十种,把人吓尿了。 : 其实,除了电商,java也不是非要不可。 : 所以大家都想玩玩简单的python和go。 : go看上去就是typed python。
|
y**********u 发帖数: 6366 | 130 不知道为啥那么多爱用go的
这语言一没靠谱的库,二没abstraction,三内存管理也没什么可操控性。基本上就是
裸体的nodejs
【在 p*****2 的大作中提到】 : 越用越觉得语言设计太烂了,写起代码一堆hacks。
|
|
|
l*********s 发帖数: 5409 | 131 vba has none of these but is popular nevertheless.
【在 y**********u 的大作中提到】 : 不知道为啥那么多爱用go的 : 这语言一没靠谱的库,二没abstraction,三内存管理也没什么可操控性。基本上就是 : 裸体的nodejs
|
h**********c 发帖数: 4120 | 132 严格讲是JEE,象spring/hibernate这些对james gosling 团队最大的背叛就是连个
spec都不写,也写不出来,因为写了就会发现作者们逻辑上的混乱,不一致,荒谬的版
本控制。以及对用户的亵渎。
【在 w********m 的大作中提到】 : java的花活太多,烙印architect满地走。 : 到处都是配置,一大半代码是xml。 : design pattern还有几十种,把人吓尿了。 : 其实,除了电商,java也不是非要不可。 : 所以大家都想玩玩简单的python和go。 : go看上去就是typed python。
|
s********k 发帖数: 6180 | 133 至少性能比nodeJS好不少,node之父都跑到狗狗写Go了,还大张旗鼓写了篇文章吹嘘Go
然后说并发一高千万不要用node
【在 y**********u 的大作中提到】 : 不知道为啥那么多爱用go的 : 这语言一没靠谱的库,二没abstraction,三内存管理也没什么可操控性。基本上就是 : 裸体的nodejs
|
s********k 发帖数: 6180 | 134 狗狗家?
【在 a*********0 的大作中提到】 : 难道二爷在我司?我司的ads service大部分用go写的
|
w********m 发帖数: 1137 | 135 java的花活太多,烙印architect满地走。
到处都是配置,一大半代码是xml。
design pattern还有几十种,把人吓尿了。
其实,除了电商,java也不是非要不可。
所以大家都想玩玩简单的python和go。
go看上去就是typed python。 |
d*******r 发帖数: 3299 | 136 同意这个, Java 可以简略清爽的写.
但是这些历史包袱里的笨重东西, 确实非常多.
【在 w********m 的大作中提到】 : java的花活太多,烙印architect满地走。 : 到处都是配置,一大半代码是xml。 : design pattern还有几十种,把人吓尿了。 : 其实,除了电商,java也不是非要不可。 : 所以大家都想玩玩简单的python和go。 : go看上去就是typed python。
|
y**********u 发帖数: 6366 | 137 不知道为啥那么多爱用go的
这语言一没靠谱的库,二没abstraction,三内存管理也没什么可操控性。基本上就是
裸体的nodejs
【在 p*****2 的大作中提到】 : 越用越觉得语言设计太烂了,写起代码一堆hacks。
|
l*********s 发帖数: 5409 | 138 vba has none of these but is popular nevertheless.
【在 y**********u 的大作中提到】 : 不知道为啥那么多爱用go的 : 这语言一没靠谱的库,二没abstraction,三内存管理也没什么可操控性。基本上就是 : 裸体的nodejs
|
h**********c 发帖数: 4120 | 139 严格讲是JEE,象spring/hibernate这些对james gosling 团队最大的背叛就是连个
spec都不写,也写不出来,因为写了就会发现作者们逻辑上的混乱,不一致,荒谬的版
本控制。以及对用户的亵渎。
【在 w********m 的大作中提到】 : java的花活太多,烙印architect满地走。 : 到处都是配置,一大半代码是xml。 : design pattern还有几十种,把人吓尿了。 : 其实,除了电商,java也不是非要不可。 : 所以大家都想玩玩简单的python和go。 : go看上去就是typed python。
|
s********k 发帖数: 6180 | 140 至少性能比nodeJS好不少,node之父都跑到狗狗写Go了,还大张旗鼓写了篇文章吹嘘Go
然后说并发一高千万不要用node
【在 y**********u 的大作中提到】 : 不知道为啥那么多爱用go的 : 这语言一没靠谱的库,二没abstraction,三内存管理也没什么可操控性。基本上就是 : 裸体的nodejs
|
|
|
m*****p 发帖数: 39 | 141 我貼理詳細解釋了go runtime的缺點:不支持NUMA
然後c/cpp確實是性能最好的,跟所有其他語言比,包括你列的那些,因為有神器icc
【在 g****t 的大作中提到】 : Fortran, Pascal, Delphi, rust,swift, bin : 性能都不比C差什么啊。只要不走虚拟机的,哪怕 : Ocaml,Haskell也不差性能。 : C毛病太多,很多老师傅可以轻松据此不学无术的混饭而已。 : 另外你比比rust文档,开发者用纯文字解释了很多 : 取舍。我觉得态度是认真的。 : GO我开始觉得是老师傅弄的假项目。 : 后来经过wdong提醒,发现schedule 是核心部分。 : 再后来发现最开始schedule很差,默认是单核的。 : 后来交给了个俄国人(?)提高很多。
|
g*c 发帖数: 4510 | 142 proposed了:https://docs.google.com/document/d/1d3iI2QWURgDIsSR6G2275vMeQ_
X7w-qxM2Vp7iGwwuM/pub
【在 m*****p 的大作中提到】 : 我貼理詳細解釋了go runtime的缺點:不支持NUMA : 然後c/cpp確實是性能最好的,跟所有其他語言比,包括你列的那些,因為有神器icc
|