golang还有很长的路需要走,需要5年到10年吧

T
TeacherWei
楼主 (未名空间)

你看这个fix,也就是2个月前。https://github.com/golang/go/issues/25729

这还不算啥。这只是一系列脑驴踢设计的冰山一角。最终很多现有的基础库设计都要被推翻重来。脑驴踢也是没有办法,碰到困难如果不绕着走,根本推不出来。

g
guvest
2 楼

这就是为啥我尽可能用Java啊。Android,backend,IoT可以共享很多东西,
按golang的风格写,尽可能少的使用framework的那些垃圾。
尽可能用single static assignment。

【 在 TeacherWei (TW) 的大作中提到: 】
: 你看这个fix,也就是2个月前。
: https://github.com/golang/go/issues/25729
: 这还不算啥。这只是一系列脑驴踢设计的冰山一角。最终很多现有的基础库设计都要被
: 推翻重来。脑驴踢也是没有办法,碰到困难如果不绕着走,根本推不出来。

w
walkrandom
3 楼

20%的performance improve吧
大概注意力都到http上面去了,tcp没人注意
T
TeacherWei
4 楼

http也依赖这个调用啊。

用的人不多是可能的。说明绝大多数golang的系统也是烂的一坨,连接啥时候该切断都是靠天吃饭,DDOS轻易就能搞死一批。。。

【 在 walkrandom (walkrandom) 的大作中提到: 】
: 20%的performance improve吧
: 大概注意力都到http上面去了,tcp没人注意

s
stdio
5 楼

等边边角角都补全了回头一看,原来就是一更烂的java :)
w
walkrandom
6 楼

没有吧https://golang.org/src/net/http/client.go?s=1928:3975#L46

【 在 TeacherWei (TW) 的大作中提到: 】
: http也依赖这个调用啊。
: 用的人不多是可能的。说明绝大多数golang的系统也是烂的一坨,连接啥时候该切断都
: 是靠天吃饭,DDOS轻易就能搞死一批。。。

T
TeacherWei
7 楼

QUOTE:

There are two timeouts exposed in http.Server: ReadTimeout and WriteTimeout. You set them by explicitly using a Server:

srv := &http.Server{
ReadTimeout: 5 * time.Second,
WriteTimeout: 10 * time.Second,
}
log.Println(srv.ListenAndServe())

ReadTimeout covers the time from when the connection is accepted to when the request body is fully read (if you do read the body, otherwise to the end
of the headers). It's implemented in net/http by calling SetReadDeadline
immediately after Accept.

END QUOTE

时间这么重要的物理量。是那些老司机首先需要考虑的问题。
https://blog.cloudflare.com/the-complete-guide-to-golang-net-http-timeouts/

【 在 walkrandom (walkrandom) 的大作中提到: 】
: 没有吧
: https://golang.org/src/net/http/client.go?s=1928:3975#L46

f
fangtuo2
8 楼

早就和你说了,老魏。

golang能popular就是因为语言小,上手快;自带concurrency的semantics,让并行这
块也容易上手。

但是如果容易上手不是你的主要考虑,那你就会有各种抱怨了。

【 在 TeacherWei(TW) 的大作中提到: 】

: http也依赖这个调用啊。

: 用的人不多是可能的。说明绝大多数golang的系统也是烂的一坨,连接啥时候该切断都

: 是靠天吃饭,DDOS轻易就能搞死一批。。。

w
walkrandom
9 楼


oh, server会有问题,client没关系。这个算一个performance issue吧。
最后,俄毛大牛出手解决了。
Currently when netpoll deadline is incrementally prolonged,
we delete and re-add timer each time.
Add modtimer function that does both and use it when we need
to modify an existing netpoll timer to avoid unnecessary lock/unlock

【 在 TeacherWei (TW) 的大作中提到: 】
: QUOTE:
: There are two timeouts exposed in http.Server: ReadTimeout and
WriteTimeout.
: You set them by explicitly using a Server:
: srv := &http.Server{
: ReadTimeout: 5 * time.Second,
: WriteTimeout: 10 * time.Second,
: }
: log.Println(srv.ListenAndServe())
: ReadTimeout covers the time from when the connection is accepted to when
the
: request body is fully read (if you do read the body, otherwise to the end
: ...................

T
TeacherWei
10 楼

这是应用需求的问题。golang解决的不好。但是还能解决。

而且解决的比js还是要好的。我的这个应用,不可能上js。js更加不靠谱。

【 在 fangtuo2 (方鸵) 的大作中提到: 】
: 早就和你说了,老魏。
: golang能popular就是因为语言小,上手快;自带concurrency的semantics,让并行这
: 块也容易上手。
: 但是如果容易上手不是你的主要考虑,那你就会有各种抱怨了。
:
: http也依赖这个调用啊。
:
: 用的人不多是可能的。说明绝大多数golang的系统也是烂的一坨,连接啥时候该
: 切断都
:
: 是靠天吃饭,DDOS轻易就能搞死一批。。。
:

g
guvest
11 楼

I felt that the"re-add timer each time" did not solve the issue completely.

【 在 walkrandom (walkrandom) 的大作中提到: 】
: oh, server会有问题,client没关系。这个算一个performance issue吧。
: 最后,俄毛大牛出手解决了。
: Currently when netpoll deadline is incrementally prolonged,
: we delete and re-add timer each time.
: Add modtimer function that does both and use it when we need
: to modify an existing netpoll timer to avoid unnecessary lock/unlock
: WriteTimeout.
: the

T
TeacherWei
12 楼

golang的那个timer纯粹瞎JB搞。首先必须走channel就是扯蛋。别的就不用说了。

话放到这里,迟早要做一个callback的async timer出来。

要不然别人会做。

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: I felt that the"re-add timer each time" did not solve the issue completely.

g
guvest
13 楼

We can use Java in the golang style.
Spring boot had CLI tools and also you can use Grails.
They were quite similar with the Flask.

【 在 stdio (stdio) 的大作中提到: 】
: 等边边角角都补全了回头一看,原来就是一更烂的java :)

s
silverhawk
14 楼

没看过golang timer,老魏讲讲怎么回事?为啥是瞎搞
【 在 TeacherWei (TW) 的大作中提到: 】
: golang的那个timer纯粹瞎JB搞。首先必须走channel就是扯蛋。别的就不用说了。
: 话放到这里,迟早要做一个callback的async timer出来。
: 要不然别人会做。
: .

w
walkrandom
15 楼


如果一定要加timeout,肯定就要加时钟。不管怎么样,都是overhead。
以前每个connection都用一个时钟,所以我们看到反复调用系统线程;现在重复利用一个时钟,效率是提高了。
go的代码数总共只有20w行,这个算比较简单的优化,类似的还有sync.Pool.
如果是3千万行的spring,就不知道如何优化了,哈哈

【 在 TeacherWei (TW) 的大作中提到: 】
: golang的那个timer纯粹瞎JB搞。首先必须走channel就是扯蛋。别的就不用说了。
: 话放到这里,迟早要做一个callback的async timer出来。
: 要不然别人会做。
: .

g
guvest
16 楼

That was actually a digital signal processing problem.

【 在 walkrandom (walkrandom) 的大作中提到: 】
: 如果一定要加timeout,肯定就要加时钟。不管怎么样,都是overhead。
: 以前每个connection都用一个时钟,所以我们看到反复调用系统线程;现在重复利用一
: 个时钟,效率是提高了。
: go的代码数总共只有20w行,这个算比较简单的优化,类似的还有sync.Pool.
: 如果是3千万行的spring,就不知道如何优化了,哈哈

c
cxfcxf
17 楼

golang timer就是开个一个goroutine计时 时间到了 把tick送到之前返回的channel
然后你用select听这个channel到了会告诉你
go的event基本都是这么实现的 因为goroutine消耗少 随便花

go的最大性能问题其实是高并发的时候GC的处理
T
TeacherWei
18 楼

一个channel至少100bytes。一个goroutine要4K stack。
妈的select不能等待socket。cond和mutex不能timed wait。
timer也不能随便更改。要stop以后再重新create一个。
而且channel其实是blocking的。你得用buffered channel。问题是你buffer不够大照
样block。而且buffer allocate要一次性allocate内存。

合着这帮孙子除了goroutine做对了外,其他的都做错了。

更多的狗血我就不说了。简直毁三观。

【 在 cxfcxf (MGM) 的大作中提到: 】
: golang timer就是开个一个goroutine计时 时间到了 把tick送到之前返回的channel
: 然后你用select听这个channel到了会告诉你
: go的event基本都是这么实现的 因为goroutine消耗少 随便花
: go的最大性能问题其实是高并发的时候GC的处理

m
mjyu
19 楼

这些年的对程序员的思路导致的正常结果,放松太过了,就这样了。
就像民主与福利,没了控制,就烂摊子了。

现在程序员让他们释放个buffer 都跟刨了他们祖坟似的, 还都振振有词的, 你能指
望他们做出啥来?

这几年看到的程序员基本上和黑兄弟们一样,只管生不管养的。 就这样了,忍着吧。

c
cxfcxf
20 楼


【 在 TeacherWei (TW) 的大作中提到: 】
: 一个channel至少100bytes。一个goroutine要4K stack。
: 妈的select不能等待socket。cond和mutex不能timed wait。
: timer也不能随便更改。要stop以后再重新create一个。
: 而且channel其实是blocking的。你得用buffered channel。问题是你buffer不够大照
: 样block。而且buffer allocate要一次性allocate内存。
: 合着这帮孙子除了goroutine做对了外,其他的都做错了。
: 更多的狗血我就不说了。简直毁三观。

有好有坏吧
golang这个channel的设计应该就是csp的核心
golang肯定还有段路要走 但是他的确让并发好写很多 想到并发写法 第一个想到的就
是golang
当然对性能有很高很高很高要求的程序 不一定是个好的选择 但是现在这种物质丰富的情况 没有堆机器解决不了的事 又特别是很多大程序现在都拆成microservice的情况下 你只要保证能horizontal scale就可以了

golang能火也不完全是hype 太好写 阿猫阿狗都能写 就是必须理解一下go的
concurrent pattern

T
TeacherWei
21 楼

当然不全是hype。我不是还在用么?
他们今后5年以内,能把做错的都改过来,就很不错了。
现在这个搞法。至少90%的人其实都用错了。用错了也能work,就是他们不知道正确的
应该咋做而已。
当然,这也不关我的事。我做对了就行了。。。

【 在 cxfcxf (MGM) 的大作中提到: 】
: 有好有坏吧
: golang这个channel的设计应该就是csp的核心
: golang肯定还有段路要走 但是他的确让并发好写很多 想到并发写法 第一个想到的就
: 是golang
: 当然对性能有很高很高很高要求的程序 不一定是个好的选择 但是现在这种物质丰富的
: 情况 没有堆机器解决不了的事 又特别是很多大程序现在都拆成microservice的情况下
: 你只要保证能horizontal scale就可以了
: golang能火也不完全是hype 太好写 阿猫阿狗都能写 就是必须理解一下go的
: concurrent pattern

g
guvest
22 楼

投奔java吧。假如golang有10个这样90%的问题。你能保证10个坑都不踩进去吗?

Java的人好找。只要不写网站。
我感觉Java做别的很好用。哈哈。

但你可能需要用vim,emacs 的高级复制粘贴。
节省打字时间,规避code noise。

【 在 TeacherWei(TW) 的大作中提到: 】

: 当然不全是hype。我不是还在用么?

: 他们今后5年以内,能把做错的都改过来,就很不错了。

: 现在这个搞法。至少90%的人其实都用错了。用错了也能work,就是他们不知道
正确的

: 应该咋做而已。

: 当然,这也不关我的事。我做对了就行了。。。

T
TeacherWei
23 楼

haha。都解决了。看老夫手段如何?!
Java屎一样,根本没戏。

【 在 guvest(我爱你老婆Anna) 的大作中提到: 】

: 投奔java吧。假如golang有10个这样90%的问题。你能保证10个坑都不踩进去吗?

: Java的人好找。只要不写网站。

: 我感觉Java做别的很好用。哈哈。

: 但你可能需要用vim,emacs 的高级复制粘贴。

: 节省打字时间,规避code noise。

: 正确的

n
netghost
24 楼

我不懂你這樣會寫C的人為什麼會這麼care 這種語法糖的語言。

寫程序主要花的時間根本就不是敲字。
【 在 TeacherWei (TW) 的大作中提到: 】
: 你看这个fix,也就是2个月前。
: https://github.com/golang/go/issues/25729
: 这还不算啥。这只是一系列脑驴踢设计的冰山一角。最终很多现有的基础库设计都要被
: 推翻重来。脑驴踢也是没有办法,碰到困难如果不绕着走,根本推不出来。

g
guvest
25 楼

你找个统计表,看看java最常用的关键字,只使用前面一半。就和golang差不多了。

【 在 TeacherWei(TW) 的大作中提到: 】

: haha。都解决了。看老夫手段如何?!

: Java屎一样,根本没戏。

g
guvest
26 楼

他要用goroutine 。另外他自己是老板,爱干嘛干嘛。
假如是东西卖出去,出大问题要罚钱的情况的话。

那么我认为绝大多数人都会选择c/C sharp/c plus, java, js, python 这六个语言。

IT公司有很多人都是做内部工具或者产生利润的多个环节中非常小的一点。那么这种我觉得用go, rust等新语言是最好的。
【 在 netghost(Up to Isomorphism) 的大作中提到: 】
<br>: 我不懂你這樣會寫C的人為什麼會這麼care 這種語法糖的語言。
<br>: 寫程序主要花的時間根本就不是敲字。
<br>

n
netghost
27 楼

coroutine也是一樣的,C也有庫啊。。

關於coroutine我自己認為99.9%的程序用不上,並行度真的需要那麼大的,
我prefer C, 實際上就算用C的lib我也還得看看它的assembly code是怎麼寫的。
那種用posix context的,還是算了。
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 他要用goroutine
:
: 我不懂你這樣會寫C的人為什麼會這麼care 這種語法糖的語言。
:
: 寫程序主要花的時間根本就不是敲字。
:

h
hadoop2
28 楼

你说的是对的。小作坊和大生产根本不是一回事。好虫就是没拎清死的那叫一个难看。

老魏好好做产品吧,不要走上好虫的老路。

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 他要用goroutine 。另外他自己是老板,爱干嘛干嘛。
: 假如是东西卖出去,出大问题要罚钱的情况的话。
: 那么我认为绝大多数人都会选择c/C sharp/c plus, java, js, python 这六个语言。
: IT公司有很多人都是做内部工具或者产生利润的多个环节中非常小的一点。那么这种我
: 觉得用go, rust等新语言是最好的。
:
: 我不懂你這樣會寫C的人為什麼會這麼care 這種語法糖的語言。
:
: 寫程序主要花的時間根本就不是敲字。
:

m
minquan
29 楼

并行计算啊!

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: coroutine也是一樣的,C也有庫啊。。
: 關於coroutine我自己認為99.9%的程序用不上,並行度真的需要那麼大的,
: 我prefer C, 實際上就算用C的lib我也還得看看它的assembly code是怎麼寫的。
: 那種用posix context的,還是算了。

n
nchip
30 楼

5到10年,估计连现在简洁语法的好处都没了。
还是Clojure一类的lisp语言好,大道至简。
n
netghost
31 楼

所以這就是這年頭最大的問題。

為什麼要並行,這件事情,沒幾個人想清楚了的。

【 在 minquan (三民主义) 的大作中提到: 】
: 并行计算啊!

g
guvest
32 楼

C内存泄漏很难查。多人项目用起来麻烦。

【 在 netghost(Up to Isomorphism) 的大作中提到: 】
<br>: 所以這就是這年頭最大的問題。
<br>: 為什麼要並行,這件事情,沒幾個人想清楚了的。
<br>

n
netghost
33 楼

不想管內存的話,用GC lib唄,C也可以有defer semantics,所以大部分local heap的
分配也不用你操心。

此外,我在實際生產環境中,如果你要care context switch的cost,
你已經pass了漏內存讓你頭大的階段了。。
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: C内存泄漏很难查。多人项目用起来麻烦。
: <br>: 所以這就是這年頭最大的問題。
: <br>: 為什麼要並行,這件事情,沒幾個人想清楚了的。
: <br>

T
TeacherWei
34 楼

用C++实现,代码量要多很多。同样的代码量,当然选golang。

这是mission critical的系统。从生产控制,到无限scale的hub连接服务,大规模密钥的分发和管理。。。web前后端,后台数据库。。。给你两周,你用C++给我写一个看看。

其实连接数达到1M,我的公司就不知道值多少钱了。无限scale有没有机会要看运气。

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 不想管內存的話,用GC lib唄,C也可以有defer semantics,所以大部分local heap的
: 分配也不用你操心。
: 此外,我在實際生產環境中,如果你要care context switch的cost,
: 你已經pass了漏內存讓你頭大的階段了。。

n
netghost
35 楼

外圍自然不用C啊,go/python/C++/Js不重要,看你能招到靠譜的dev不。
我認為你如果這些全是你自己寫,你的公司不work。當然只是我個人觀點。
【 在 TeacherWei (TW) 的大作中提到: 】
: 用C++实现,代码量要多很多。同样的代码量,当然选golang。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
嗯,我不是C++粉絲,這兩個一定如果選一個我也是go.
: 这是mission critical的系统。从生产控制,到无限scale的hub连接服务,大规模密钥
: 的分发和管理。。。web前后端,后台数据库。。。给你两周,你用C++给我写一个看看。
: 其实连接数达到1M,我的公司就不知道值多少钱了。无限scale有没有机会要看运气。

T
TeacherWei
36 楼

为啥要招靠谱的dev啊?几千行的东西。写完了就算了。

说句难听的。我大概能猜到你说的那种公司work是啥意思?说实话,我就是不想那么
work。永远都不想。

一个人能干的,永远不要两个人。我能搞定的,就不需要别人。就算是这样,几个人的团队干了上千人的活儿,工作还都排不满。

妈的我就不理解这世界上哪里有那么多人事儿给大家做?

都是在吹牛逼扯鸡巴蛋祸害人而已。不吹牛逼扯鸡巴蛋祸害人,绝大多数人基本不能生存。

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 外圍自然不用C啊,go/python/C++/Js不重要,看你能招到靠譜的dev不。
: 我認為你如果這些全是你自己寫,你的公司不work。當然只是我個人觀點。
: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
: 嗯,我不是C++粉絲,這兩個一定如果選一個我也是go.
: 看。

n
netghost
37 楼

沒啥難聽的。我exactly在讓我的事情不work,當然目前我也不care。
你現在腦子裡面想得理念我都有,我還做過一遍,(很多人都做過一遍).

但是做要賣的東西,都有這個問題。自己做玩開心,沒有問題,怎麼搞都好。

【 在 TeacherWei (TW) 的大作中提到: 】
: 为啥要招靠谱的dev啊?几千行的东西。写完了就算了。
: 说句难听的。我大概能猜到你说的那种公司work是啥意思?说实话,我就是不想那么: work。永远都不想。
: 一个人能干的,永远不要两个人。我能搞定的,就不需要别人。就算是这样,几个人的
: 团队干了上千人的活儿,工作还都排不满。
: 妈的我就不理解这世界上哪里有那么多人事儿给大家做?
: 都是在吹牛逼扯鸡巴蛋祸害人而已。不吹牛逼扯鸡巴蛋祸害人,绝大多数人基本不能生
: 存。

T
TeacherWei
38 楼

我爱咋做咋做。用户爱买不买。本来就是这么回事。我又不会强逼任何人来买。
傻逼用户是我的风险,又不是收益。

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 沒啥難聽的。我exactly在讓我的事情不work,當然目前我也不care。
: 你現在腦子裡面想得理念我都有,我還做過一遍,(很多人都做過一遍).
: 但是做要賣的東西,都有這個問題。自己做玩開心,沒有問題,怎麼搞都好。

m
minquan
39 楼

你要是想发财,这个态度是万万取不得的。

我刚骂了一个给我做外包的学生,他现在可能已经申请退出了。

但是你知道他怎么找? GUI桌面程序非要全部用协程,用的包去年还在改内存泄露的
bug

他要我原谅他,他说协程特别火,所以他就专门学协程。

问题在于,他试验新技术他爽了,客户用的时候崩了不再给我交钱了,咋办?

【 在 TeacherWei (TW) 的大作中提到: 】
: 我爱咋做咋做。用户爱买不买。本来就是这么回事。我又不会强逼任何人来买。
: 傻逼用户是我的风险,又不是收益。

n
netghost
40 楼

嗯,我說的不是這個方面的事情。等你你開賣了就知道了。

【 在 TeacherWei (TW) 的大作中提到: 】
: 我爱咋做咋做。用户爱买不买。本来就是这么回事。我又不会强逼任何人来买。
: 傻逼用户是我的风险,又不是收益。

T
TeacherWei
41 楼

其实我是故意的。我追求的是,看长期,我们最终都会死。

然后,尽可能多地留下legacy,继续恶心人。。。

【 在 netghost(Up to Isomorphism) 的大作中提到: 】

: 嗯,我說的不是這個方面的事情。等你你開賣了就知道了。

m
minquan
42 楼

和谁过不去,不要和钱过不去。

客户的不合理要求可以甩开,客户的合理要求一定不要拒绝。

当然,逼客户交钱的手段更得有。

【 在 TeacherWei (TW) 的大作中提到: 】
: 其实我是故意的。我追求的是,看长期,我们最终都会死。
: 然后,尽可能多地留下legacy,继续恶心人。。。
:
: 嗯,我說的不是這個方面的事情。等你你開賣了就知道了。
:

T
TeacherWei
43 楼

如果大家人生观世界观方法论都不一致,有个鸡毛的共同利益?

总有人认为我应该和他是一伙儿的。谁TM和你一伙?

我的唯一目标是用户利益最大化。这才是核心。

【 在 minquan(三民主义) 的大作中提到: 】

: 和谁过不去,不要和钱过不去。

: 客户的不合理要求可以甩开,客户的合理要求一定不要拒绝。

: 当然,逼客户交钱的手段更得有。

m
minquan
44 楼

哦,我还以为你是老板呢。。。

【 在 TeacherWei (TW) 的大作中提到: 】
: 如果大家人生观世界观方法论都不一致,有个鸡毛的共同利益?
: 总有人认为我应该和他是一伙儿的。谁TM和你一伙?
: 我的唯一目标是用户利益最大化。这才是核心。
:
: 和谁过不去,不要和钱过不去。
:
: 客户的不合理要求可以甩开,客户的合理要求一定不要拒绝。
:
: 当然,逼客户交钱的手段更得有。
:

m
minquan
45 楼

用户利益最大化这个理念是有缺陷的

因为用户的确希望自己的利益最大化,但是不见得愿意为此付钱

参见各种免费软件的倒掉

【 在 TeacherWei (TW) 的大作中提到: 】
: 如果大家人生观世界观方法论都不一致,有个鸡毛的共同利益?
: 总有人认为我应该和他是一伙儿的。谁TM和你一伙?
: 我的唯一目标是用户利益最大化。这才是核心。
:
: 和谁过不去,不要和钱过不去。
:
: 客户的不合理要求可以甩开,客户的合理要求一定不要拒绝。
:
: 当然,逼客户交钱的手段更得有。
:

r
repast
46 楼

用户利益最大化可能得开源才能做到。

最近找 email marketing 软件才发现其是很大一个市场,
各家公司两只手都不一定能数下来,产品的数量更多。
这么强的竞争,仍然没有找到一家免费的,开源的都没找到。

我就属于那种不愿意为此付钱的用户,但目前看好像没有
我的免费午餐。

email marketing自己也是一个下三滥的行业,道德上其实是有
问题的。

【 在 minquan (三民主义) 的大作中提到: 】
: 用户利益最大化这个理念是有缺陷的
: 因为用户的确希望自己的利益最大化,但是不见得愿意为此付钱
: 参见各种免费软件的倒掉

g
germantown
47 楼


【 在 TeacherWei (TW) 的大作中提到: 】
: 其实我是故意的。我追求的是,看长期,我们最终都会死。
: 然后,尽可能多地留下legacy,继续恶心人。。。
:
: 嗯,我說的不是這個方面的事情。等你你開賣了就知道了。
:

魏老师说的其实是从技术高层和老板的角度如何看这个问题。我们这些低层人员来这个论坛看帖子有一个目的是想知道为了技术市场的走向。

刚用了三四个月的go,觉得是个很舒畅的工具。如果go未来能够成熟起来,它能一步步
靠近Java, 成为一个主流的新项目工具语言吗?

目前对go的抱怨主要有两个,一个是出错处理,go没写几行就是一个出错处理,而且在那里出差错也很不分明,破坏了程序的可读性。另外一个是generics,这个我觉得还好。

我自己有个感觉是觉得go的gc还是不够成熟,要在比较大一点的项目用还是有些问题。

魏老师提的那些问题,在实际中很重要,但都不是语言本身的设计问题,只要用的高手多,会逐渐解决的。

各位高手能不能就这几个问题以及流行度问题发表一下高见?

r
repast
48 楼

go 强迫你写出错处理是个好事,有些人把这个当卖点?
出差错不分明就不知道了。

【 在 germantown (germantown) 的大作中提到: 】
: 魏老师说的其实是从技术高层和老板的角度如何看这个问题。我们这些低层人员来这个
: 论坛看帖子有一个目的是想知道为了技术市场的走向。
: 刚用了三四个月的go,觉得是个很舒畅的工具。如果go未来能够成熟起来,它能一步步
: 靠近Java, 成为一个主流的新项目工具语言吗?
: 目前对go的抱怨主要有两个,一个是出错处理,go没写几行就是一个出错处理,而且在
: 那里出差错也很不分明,破坏了程序的可读性。另外一个是generics,这个我觉得还
好。
: 我自己有个感觉是觉得go的gc还是不够成熟,要在比较大一点的项目用还是有些问题。
: 魏老师提的那些问题,在实际中很重要,但都不是语言本身的设计问题,只要用的高手
: 多,会逐渐解决的。
: 各位高手能不能就这几个问题以及流行度问题发表一下高见?

c
cxfcxf
49 楼

出错处理是好事啊
至于说用c c++写的 简直要自杀好嘛
一个c++ 11的代码库 繁琐不说 一堆依赖 makefile都写的想死
开发周期是快是最重要的 早起airbnb一水ruby 后来不行了才换到jvm
开发快最重要 你真的需要到一个程度要注重performance 你这个项目估计也很值钱了 那时候再重构 有钱请人还怕什么

所以我觉得performance都是扯jb蛋 先东西搞出来再说 要么卖钱 要么重构 想那么多
干嘛
n
netghost
50 楼

既然目標就是掙錢,寫code肯定是沒前途的。
但是你這種想"先搞出來再說"的人,面對的競爭對手是只有ppt的人。我的經驗,前者
很少贏過。
【 在 cxfcxf (MGM) 的大作中提到: 】
: 出错处理是好事啊
: 至于说用c c++写的 简直要自杀好嘛
: 一个c++ 11的代码库 繁琐不说 一堆依赖 makefile都写的想死
: 开发周期是快是最重要的 早起airbnb一水ruby 后来不行了才换到jvm
: 开发快最重要 你真的需要到一个程度要注重performance 你这个项目估计也很值钱

: 那时候再重构 有钱请人还怕什么
: 所以我觉得performance都是扯jb蛋 先东西搞出来再说 要么卖钱 要么重构 想那么多
: 干嘛

p
pxu
51 楼

拜托,别胡搅蛮缠行吗?马工不靠写code挣钱,还能靠卖身哪?初创公司里面谁特么能专搞ppt,founder他爹??

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 既然目標就是掙錢,寫code肯定是沒前途的。
: 但是你這種想"先搞出來再說"的人,面對的競爭對手是只有ppt的人。我的經驗,前者
: 很少贏過。
: 了

n
netghost
52 楼

你的目標是糊口,所以我覺得這事和你沒關係。
【 在 pxu (又呱噪又抠门还偷老婆钱) 的大作中提到: 】
: 标 题: Re: golang还有很长的路需要走,需要5年到10年吧
: 发信站: BBS 未名空间站 (Thu Jan 24 09:23:58 2019, 美东)
:
: 拜托,别胡搅蛮缠行吗?马工不靠写code挣钱,还能靠卖身哪?初创公司里面谁特么能
: 专搞ppt,founder他爹??
:
:
: 【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: : 既然目標就是掙錢,寫code肯定是沒前途的。
: : 但是你這種想"先搞出來再說"的人,面對的競爭對手是只有ppt的人。我的經驗,
前者
: : 很少贏過。
: : 了
:
:
:
: --
p
pxu
53 楼

什么乱七八糟的,初创公司不需要马工?靠ppt想忽悠VC??

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 你的目標是糊口,所以我覺得這事和你沒關係。
: 前者

m
minquan
54 楼

敢问您老在现在的公司排老几?

有多少净资产?

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 你的目標是糊口,所以我覺得這事和你沒關係。
: 前者

n
netghost
55 楼

所以你也是在追求糊口。

還有,別一個不是大媽的學廣場舞大媽說話。

【 在 minquan (三民主义) 的大作中提到: 】
: 敢问您老在现在的公司排老几?
: 有多少净资产?

m
minquan
56 楼

哦,听明白了

下室索男,天天做着像马云一样只靠一张嘴打天下的春秋大梦

借着这个画饼带来的美好愿景,跑到码农论坛来指点江山

以为终有一天哪个傻码农会听您调遣,成立创业公司?

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 所以你也是在追求糊口。
: 還有,別一個不是大媽的學廣場舞大媽說話。

l
littlebirds
57 楼

80代前的华人对生存地狱的恐惧是刻在基因里的。

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 所以你也是在追求糊口。
: 還有,別一個不是大媽的學廣場舞大媽說話。

p
pxu
58 楼

cxfcxf diss C++不好用开发慢,很明显是从初创公司角度来讲。这话并没有说错,C++不适合需要糙快猛的小公司,大公司则完全不同。结果那货跳出来说什么写code干不过写ppt的,你问他初创公司有谁搞ppt吧,丫上来就说你是糊口的层次不够。讲话既牛唇不对马嘴又喜欢装逼,你不觉得丫欠抽吗??

【 在 littlebirds (dreamer) 的大作中提到: 】
: 80代前的华人对生存地狱的恐惧是刻在基因里的。

n
netghost
59 楼

同學,你再這麼莫名其妙地急下去,你可能連糊口的程度都沒有了。。。

【 在 minquan (三民主义) 的大作中提到: 】
: 哦,听明白了
: 下室索男,天天做着像马云一样只靠一张嘴打天下的春秋大梦
: 借着这个画饼带来的美好愿景,跑到码农论坛来指点江山
: 以为终有一天哪个傻码农会听您调遣,成立创业公司?