sure golang has issues, but c++ has way more issues than that. and those issues are more fundamental. you think golang designers are idiots, think again.
If local disk: unbuffered IO, SPDK, memory-mapped file If remote disk: RDMA, DPDK If using accelerator: TCAM, hardware regex engine, FPGA memory comparison If not using accelerator: x86 SSE STTNI and AVX
cpp能把golang打出屎來
【 在 walkrandom (walkrandom) 的大作中提到: 】 : 这道题是leetcode上面find subString的高配版。 : Hard disk IO bound。 : 多核并发上面,Java能有啥黑魔法beat go。
【 在 magagop (magagop) 的大作中提到: 】 : cpp有很多魔法可以提高性能,golang基本不行,java和golang一個檔次。 : 我的意思是多路多核服務器,cpp可以比java和golang快很多,根本不是這篇知乎裡面 : cpp僅僅比golang快一點的結論。 : If local disk: unbuffered IO, SPDK, memory-mapped file : If remote disk: RDMA, DPDK : If using accelerator: TCAM, hardware regex engine, FPGA memory comparison : If not using accelerator: x86 SSE STTNI and AVX : cpp能把golang打出屎來
most of c++ vs java benchmarks were written by java developers
【 在 magagop (magagop) 的大作中提到: 】 : cpp有很多魔法可以提高性能,golang基本不行,java和golang一個檔次。 : 我的意思是多路多核服務器,cpp可以比java和golang快很多,根本不是這篇知乎裡面 : cpp僅僅比golang快一點的結論。 : If local disk: unbuffered IO, SPDK, memory-mapped file : If remote disk: RDMA, DPDK : If using accelerator: TCAM, hardware regex engine, FPGA memory comparison : If not using accelerator: x86 SSE STTNI and AVX : cpp能把golang打出屎來
其他性能問題。
1. encryption(對稱或非對稱):golang非常慢,比openssl慢10倍不止,因為openssl
寫了很多assembly,尤其在非x86上面特別明顯。
2. string vectorization:libc有很多手寫SSE/AVX優化,對應的golang根本全靠編譯器,在x86和非x86上表現都很差,也是10倍不止。
3. 沒有標準threadlocal,這個Cpp14也有很多優化,多核性能差距明顯。
4. golang周邊庫不如cpp穩健,尤其和folly、abseil比較
5. golang不支持硬件加速,因為目前很多硬件廠商都倒向LLVM,它彌補了部分GCC、
ICC的弊病,留給golang的市場空間變小了
結論:
a. 嚴肅項目(尤其跟性能相關的後台項目)還是cpp天下
b. 深度學習應該使用python和cpp
c. 刷題最好用cpp或java,未來cpp/java都會有fiber,比goroutine強
總之golang看起來很好,但是實際性能不怎麼樣,注定是小眾語言。
你确信他们都搞错了。
結果就是scala,是小眾語言。
觉得go性能不好,可以去leetcode和java同时刷刷比较一下。
【在 magagop(magagop)的大作中提到:】
:
:我上一個貼提到了golang兩大問題:GOGC和goroutine調度,今天開會同事又發現很多
任何语言和c,Fortran, pascal比性能本身就是个错误。
从计算的角度来看。
能严肃多线程并行的语言除了c sharp,cpp, java就只有golang了。golang开发速度和
python差不多(如果你不用第三方库)。
Fiber赢goroutine.这个大部分其实是取决于资金,不是技术。
leetcode的測試結果偏向靜態連結非託管程序。
【 在 walkrandom (walkrandom) 的大作中提到: 】
: go是区块链语言,不会是小众语言。
: 觉得go性能不好,可以去leetcode和java同时刷刷比较一下。
一個語言不是拼自己的標準庫,是拼社區,三方庫,這方面cpp和java完爆golang。
我結論的前提是:當FB和G、M開放他們自己的庫後,cpp競爭力明顯上升。再加上無縫
兼容LLVM,硬件加速未來也沒有問題。有機會去研究一下我提到的folly和abseil再說
吧,golang的三方庫就是開玩笑。
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: Go的性能打的是java,python。
: 任何语言和c,Fortran, pascal比性能本身就是个错误。
: 从计算的角度来看。
: 能严肃多线程并行的语言除了c sharp,cpp, java就只有golang了。golang开发速度和
: python差不多(如果你不用第三方库)。
golang連標準委員會都沒有(Cpp還是ISO呢),是google自己的玩具,其他大企業誰敢大規模用?FB?Amazon?M?IBM?
另外還要考慮的是沈澱資本,按代碼量計算,golang能超過cpp或者java麼?感覺連
python這種二流語言都趕不上
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 你说的这些都是很好的知识。但结论有些不靠谱。尤其是未来java的
: Fiber赢goroutine.这个大部分其实是取决于资金,不是技术。
1。能严肃多线程并行的语言除了c sharp,cpp, java就只有golang
2。不用第三方库,做数值计算要么多语言。单语言最好的选择现在我找到的就是golang。
我不用第三方库的理由是很明显的,你想想就明白了.
我不可能在指甲盖小的芯片里装pandas
【 在 magagop (magagop) 的大作中提到: 】
: 我同意資金第一重要,但你認為力挺java的amazon + oracle + ibm + google比
google
: 自己錢少麼?
: golang連標準委員會都沒有(Cpp還是ISO呢),是google自己的玩具,其他大企業誰敢
: 大規模用?FB?Amazon?M?IBM?
: 另外還要考慮的是沈澱資本,按代碼量計算,golang能超過cpp或者java麼?感覺連
: python這種二流語言都趕不上
所以我认为这条不需要列入讨论内容。
【 在 magagop (magagop) 的大作中提到: 】
: 我同意資金第一重要,但你認為力挺java的amazon + oracle + ibm + google比
google
: 自己錢少麼?
: golang連標準委員會都沒有(Cpp還是ISO呢),是google自己的玩具,其他大企業誰敢
: 大規模用?FB?Amazon?M?IBM?
: 另外還要考慮的是沈澱資本,按代碼量計算,golang能超過cpp或者java麼?感覺連
: python這種二流語言都趕不上
要看大腿。
java报了android的大腿。
python报了DL的大腿。
现在go要报区块链的大腿了。
一个语言的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。。
只要你自己补好emacs,vim等的tool。
写个区块链。python多半是比不上go。无论从开发速度还是运行和部署。
【 在 walkrandom (walkrandom) 的大作中提到: 】
: 做web都差不多的,没人care。
: 要看大腿。
: java报了android的大腿。
: python报了DL的大腿。
: 现在go要报区块链的大腿了。
: 一个语言的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。。
java或csharp。
你說的那是嵌入式,那一定是c和cpp啦,golang編譯出來動輒xxxMB,不支持動態連結
,跟cpp沒法比。
如果做互聯網,那一定是java後台啦,框架多得很,為什麼不能用第三方庫?
如果做桌面應用,那一定是csharp啦,golang能很好的搞桌面麼?
這三種語言(cpp、java、csharp)語法越來越接近,而且java和csharp編譯器本身就
是cpp寫得,是一個非常好和成熟的路線,為什麼要搞另類的golang?
未來golang可以做的,他們(cpp20、java10、csharp8)都可以做,還有豐富的第三方庫,為啥不用?
我個人感覺把這三種語言的新特性弄清楚比新學golang更重要,而且他們之間感念相近,觸類旁通。
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 我看的点不是web后台。我认为下面两个观察是很牢固的,当然,也欢迎批评。
: 1。能严肃多线程并行的语言除了c sharp,cpp, java就只有golang
: 2。不用第三方库,做数值计算要么多语言。单语言最好的选择现在我找到的就是
golang。
: 我不用第三方库的理由是很明显的,你想想就明白了.
: 我不可能在指甲盖小的芯片里装pandas
: google
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 假如不考虑第三方库等历史因素。我现在感觉Go开发速度和python差不多。
: 只要你自己补好emacs,vim等的tool。
: 写个区块链。python多半是比不上go。无论从开发速度还是运行和部署。
说golang做不了严肃项目。
Python二流语言。
那又有什么意思呢?
我觉得你对two language dilemma 经历的不够。
不知道 两种语言 实际上会有多少麻烦。
谁要是觉得python 加c开发算法产品容易。
那他多半没做过足够多的项目。
【 在 magagop(magagop) 的大作中提到: 】
<br>: 我沒有說要用python這個二流語言啊,我的結論是:刷題練手、嚴肅項目最好用
cpp或
<br>: java或csharp。
<br>: 你說的那是嵌入式,那一定是c和cpp啦,golang編譯出來動輒xxxMB,不
支持動
態連結
<br>: ,跟cpp沒法比。
<br>: 如果做互聯網,那一定是java後台啦,框架多得很,為什麼不能用第三方庫?
<br>: 如果做桌面應用,那一定是csharp啦,golang能很好的搞桌面麼?
<br>: 這三種語言(cpp、java、csharp)語法越來越接近,而且java和csharp
編譯器
本身就
<br>: 是cpp寫得,是一個非常好和成熟的路線,為什麼要搞另類的golang?
<br>: 未來golang可以做的,他們(cpp20、java10、csharp8)都可以做,還有豐富的
第三方
<br>: 庫,為啥不用?
: ...................
<br>
你把语言的表达能力做x
可预测性做y
XY上任何一个横向zone都有需求
【 在 magagop(magagop) 的大作中提到: 】
<br>: 區塊鏈,為什麼不用cpp加第三方庫?
<br>
* 写一个http web service,几十行代码没有额外dependency,编译成一个binary放到所有环境中都能运行。C++行吗?
* 加第三方库一般go get一下就解决了。C++/java行吗?就我个人经验而谈,从github下载的C++开源项目,几乎没一个能按照README里的步骤顺利编译的。
* 随便创建几百个goroutine,之间用channel通信,基本不用考虑性能问题,开发效率极高。C++行吗?你在测试中发现的不容易解决的性能问题,都是极端条件下才会发生
的现象,绝大多数时候并不需要担心这点。
* Go才出现几年,没标准委员会很正常。大公司不敢用的说法完全没有逻辑。大公司有百万行以上的代码,工具都是针对现有语言开发的,不可能直接替换成另一种语言,都是先从一小群爱好者开始慢慢推广。这也是为什么Amazon等公司一直用Java,FB费好大劲给PHP做HHVM。目前Go在中小型公司的新项目上很受欢迎,另外uber算大公司了吧,
很多backend service选择了用Go开发,不也用着好好的。
大部分开发工作是business driven的,与其盯着几个10x性能问题,不如花时间想想这些事情:招聘或培养合格程序员的成本,让代码在不同的开发与生产环境之间顺利部署的难度,代码可读与可维护性,不需要微调时的开发效率……你就能明白为什么Go会在web service和system management领域流行起来。最好的语言是满足business需求的同时,综合成本最低的语言。
骤顺利编译的
嗯呢,都是泪啊
【 在 fantasist (一) 的大作中提到: 】
: 不知道你为什么一个劲地揪着某些运算的性能不放,眼光狭隘。我就不在另一个帖回复
: 了,意见统一写在这里。
: * 写一个http web service,几十行代码没有额外dependency,编译成一个binary放到
: 所有环境中都能运行。C++行吗?
: * 加第三方库一般go get一下就解决了。C++/java行吗?就我个人经验而谈,从
github
: 下载的C++开源项目,几乎没一个能按照README里的步骤顺利编译的。
: * 随便创建几百个goroutine,之间用channel通信,基本不用考虑性能问题,开发效率
: 极高。C++行吗?你在测试中发现的不容易解决的性能问题,都是极端条件下才会发生
: 的现象,绝大多数时候并不需要担心这点。
: * Go才出现几年,没标准委员会很正常。大公司不敢用的说法完全没有逻辑。大公司有
: ...................
这个可以理解。但是软件现在是大发展的时代。。。
【 在 fantasist (一) 的大作中提到: 】
: 不知道你为什么一个劲地揪着某些运算的性能不放,眼光狭隘。我就不在另一个帖回复
: 了,意见统一写在这里。
: * 写一个http web service,几十行代码没有额外dependency,编译成一个binary放到
: 所有环境中都能运行。C++行吗?
: * 加第三方库一般go get一下就解决了。C++/java行吗?就我个人经验而谈,从
github
: 下载的C++开源项目,几乎没一个能按照README里的步骤顺利编译的。
: * 随便创建几百个goroutine,之间用channel通信,基本不用考虑性能问题,开发效率
: 极高。C++行吗?你在测试中发现的不容易解决的性能问题,都是极端条件下才会发生
: 的现象,绝大多数时候并不需要担心这点。
: * Go才出现几年,没标准委员会很正常。大公司不敢用的说法完全没有逻辑。大公司有
: ...................
【 在 yizhongxunhu (刷题转码 工资翻倍) 的大作中提到: 】
: > 就我个人经验而谈,从github下载的C++开源项目,几乎没一个能按照README里的步
: 骤顺利编译的
: 嗯呢,都是泪啊
: github
【 在 yizhongxunhu (刷题转码 工资翻倍) 的大作中提到: 】
: 骤顺利编译的
: 嗯呢,都是泪啊
: github
你忽悠誰呢?
【 在 walkrandom (walkrandom) 的大作中提到: 】
: go是区块链语言,不会是小众语言。
: 觉得go性能不好,可以去leetcode和java同时刷刷比较一下。
【 在 wdong (万事休) 的大作中提到: 】
: 不然你们觉得我怎么赚钱...
issues are more fundamental. you think golang designers are idiots, think
again.
Go本来就不应该和C/C++比性能啊。
【 在 netghost(Up to Isomorphism) 的大作中提到: 】
: 暈,什麼叫做區塊鏈語言?
: 你忽悠誰呢?
【 在 digua(姚之FAN) 的大作中提到: 】
: 这个话题有必要吵吗。:)
: Go本来就不应该和C/C 比性能啊。
【 在 yizhongxunhu (刷题转码 工资翻倍) 的大作中提到: 】
: 唉,C还没学明白呢,咋整出这么多语言啊,老帮菜真是惨
几乎任何语言的马工都是无缝升级----只要你不用第三方库。
我半小时就开始写代码了。
C比golang难写多了。
【 在 fantasist(一) 的大作中提到: 】
<br>: 据说Go对于写C的老帮菜们是无缝升级的特供语言
<br>
【 在 nkw (非死非活) 的大作中提到: 】
: https://read.acloud.guru/comparing-aws-lambda-performance-of-node-js-
python-
: java-c-and-go-29c1163c2581
亮点是编译快,节省内存。
【 在 nkw (非死非活) 的大作中提到: 】
: 不理解的一点是。go比较简单。很多特性都没有。又说又很多大牛在做。为什么性能重
: 来不是名列前茅的。记得第一版出来时无论是编译还是运行速度都慢。
: python-
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: Golang一共25个关键字。对python,c,c plus,...
: 几乎任何语言的马工都是无缝升级----只要你不用第三方库。
: 我半小时就开始写代码了。
: C比golang难写多了。
:
: 据说Go对于写C的老帮菜们是无缝升级的特供语言
:
call by name
Call by value两分
(B)
指针,然后一致的call by value
A,B两个设计思路。各刷半小时题。总共一小时就解决了。
关键是认准知识点。不要和别的搅合在一起。
【 在 fantasist(一) 的大作中提到: 】
<br>: Go里还是有指针的概念,java python程序员会比较难受。对于cpp程序员来说又
精简掉
<br>: 了template等复杂的东西。所以说从c过来是最舒服的。
<br>
go比java強跟cpp差不多結果不可信。如果不限CPU核心數量,cpp會完爆狗浪
【 在 walkrandom(walkrandom) 的大作中提到: 】
: 性能可以了,碾压java。看看阿里小哥的高票答案 https://www.zhihu.com/
question/
: 59481694
: 亮点是编译快,节省内存。
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: Golang一共25个关键字。对python,c,c plus,...
: 几乎任何语言的马工都是无缝升级----只要你不用第三方库。
: 我半小时就开始写代码了。
: C比golang难写多了。
:
: 据说Go对于写C的老帮菜们是无缝升级的特供语言
:
后比java,python都好的memory efficient,和编译部署环境,
【 在 magagop (magagop) 的大作中提到: 】
: zhihu這個回答你仔細看過了嗎?裡面最重要的一個限制條件就是單核心單線程,所以
: go比java強跟cpp差不多結果不可信。如果不限CPU核心數量,cpp會完爆狗浪
:
: 性能可以了,碾压java。看看阿里小哥的高票答案 https://www.zhihu.com/
: question/
:
: 59481694
:
: 亮点是编译快,节省内存。
:
比我速度高的没我轻松
比我轻松的没我速度高
Hard disk IO bound。
多核并发上面,Java能有啥黑魔法beat go。
【 在 magagop (magagop) 的大作中提到: 】
: zhihu這個回答你仔細看過了嗎?裡面最重要的一個限制條件就是單核心單線程,所以
: go比java強跟cpp差不多結果不可信。如果不限CPU核心數量,cpp會完爆狗浪
:
: 性能可以了,碾压java。看看阿里小哥的高票答案 https://www.zhihu.com/
: question/
:
: 59481694
:
: 亮点是编译快,节省内存。
:
此外用go的好處是?
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 现在区块链好多项目确实是golang写的。
:
: 暈,什麼叫做區塊鏈語言?
:
: 你忽悠誰呢?
:
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 我看的点不是web后台。我认为下面两个观察是很牢固的,当然,也欢迎批评。
: 1。能严肃多线程并行的语言除了c sharp,cpp, java就只有golang
: 2。不用第三方库,做数值计算要么多语言。单语言最好的选择现在我找到的就是
golang。
: 我不用第三方库的理由是很明显的,你想想就明白了.
: 我不可能在指甲盖小的芯片里装pandas
: google
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: Golang一共25个关键字。对python,c,c plus,...
: 几乎任何语言的马工都是无缝升级----只要你不用第三方库。
: 我半小时就开始写代码了。
: C比golang难写多了。
: <br>: 据说Go对于写C的老帮菜们是无缝升级的特供语言
: <br>
自然,但是对我等广大的门外汉,要抄别人的代码感觉go最清晰.仔细读完effective go, 就可以开工了. 大不了工作中多翻翻language specification, memory model,都不长.要看c++和java的类似文档会吐血的.
【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 既然我們都再聊技術,有誰告訴我why blockchain要用 go嗎?
: 此外用go的好處是?
1. dependency可以用container解決
2. java/cpp有jenkins+cmake+apt+dpkg不比go get差
3. github上面的項目都是upstream,需要os廠商或中間商根據CVE改造,直接git
clone有很大安全風險
4. cpp/java也可以有coroutine或者actor模式,不是golang獨有
5. golang沒有一個除了google的大公司背書,比javascript都差
【 在 fantasist (一) 的大作中提到: 】
: 不知道你为什么一个劲地揪着某些运算的性能不放,眼光狭隘。我就不在另一个帖回复
: 了,意见统一写在这里。
: * 写一个http web service,几十行代码没有额外dependency,编译成一个binary放到
: 所有环境中都能运行。C++行吗?
: * 加第三方库一般go get一下就解决了。C++/java行吗?就我个人经验而谈,从
github
: 下载的C++开源项目,几乎没一个能按照README里的步骤顺利编译的。
: * 随便创建几百个goroutine,之间用channel通信,基本不用考虑性能问题,开发效率
: 极高。C++行吗?你在测试中发现的不容易解决的性能问题,都是极端条件下才会发生
: 的现象,绝大多数时候并不需要担心这点。
: * Go才出现几年,没标准委员会很正常。大公司不敢用的说法完全没有逻辑。大公司有
: ...................
cpp一般是csharp的2~3倍,在這裡csharp是golang的3倍,綜合,cpp比golang快一個
數量級。
【 在 nkw (非死非活) 的大作中提到: 】
: https://read.acloud.guru/comparing-aws-lambda-performance-of-node-js-
python-
: java-c-and-go-29c1163c2581
我的意思是多路多核服務器,cpp可以比java和golang快很多,根本不是這篇知乎裡面
cpp僅僅比golang快一點的結論。
If local disk: unbuffered IO, SPDK, memory-mapped file
If remote disk: RDMA, DPDK
If using accelerator: TCAM, hardware regex engine, FPGA memory comparison
If not using accelerator: x86 SSE STTNI and AVX
cpp能把golang打出屎來
【 在 walkrandom (walkrandom) 的大作中提到: 】
: 这道题是leetcode上面find subString的高配版。
: Hard disk IO bound。
: 多核并发上面,Java能有啥黑魔法beat go。
【 在 magagop (magagop) 的大作中提到: 】
: cpp有很多魔法可以提高性能,golang基本不行,java和golang一個檔次。
: 我的意思是多路多核服務器,cpp可以比java和golang快很多,根本不是這篇知乎裡面
: cpp僅僅比golang快一點的結論。
: If local disk: unbuffered IO, SPDK, memory-mapped file
: If remote disk: RDMA, DPDK
: If using accelerator: TCAM, hardware regex engine, FPGA memory comparison
: If not using accelerator: x86 SSE STTNI and AVX
: cpp能把golang打出屎來
科班嚴肅大項目還是會用java、cpp、csharp,只有自己單幹的門外漢才首選golang。
golang能幹的java、cpp、csharp都能幹,golang只不過是在這三個裡面取捨折中一下
:平庸的性能,平庸的功能,平庸的第三方支持。
單個方向上都不是第一選擇:比甜比不過csharp,比快比不過cpp,比廣比不過java,
golang目前還不是一流語言。
【 在 dengdai (Gorge) 的大作中提到: 】
: 代码好读懂.对科班出身的可能看template, reflection, annotation代码像呼吸一样
: 自然,但是对我等广大的门外汉,要抄别人的代码感觉go最清晰.仔细读完effective
go,
: 就可以开工了. 大不了工作中多翻翻language specification, memory model,都不长
: .要看c++和java的类似文档会吐血的.
譬如Intel的ICC、TBB和Nvidia的CUDA,並且可以兼容C語言,直接操作底層設備。
我最反感golang的一點是其在性能上吹牛,跟java差不多就說跟java一樣唄,非得說跟cpp差不過,結論是差好遠好嘛
【 在 hnpc (hnpc) 的大作中提到: 】
: 为什么go不支持呢?难点在哪?
markup language或者json配置文件。总之go的文件结构特别干净,适合程序员的审美。
sys都混入了,真正runtime文件也就幾個,放到arch文件夾裡不行麼?要是像gcc那樣
支持幾十種處理器,豈不是有幾百個文件?
HACKING.md os_linux_noauxv.go
Makefile os_linux_ppc64x.go
alg.go os_linux_s390x.go
append_test.go os_nacl.go
asm.s os_nacl_arm.go
asm_386.s os_netbsd.go
asm_amd64.s os_netbsd_386.go
asm_amd64p32.s os_netbsd_amd64.go
asm_arm.s os_netbsd_arm.go
asm_arm64.s os_openbsd.go
asm_mips64x.s os_openbsd_arm.go
asm_mipsx.s os_plan9.go
asm_ppc64x.h os_plan9_arm.go
asm_ppc64x.s os_solaris.go
asm_s390x.s os_windows.go
atomic_arm64.s panic.go
atomic_mips64x.s plugin.go
atomic_mipsx.s pprof
atomic_pointer.go print.go
atomic_ppc64x.s proc.go
callers_test.go proc_runtime_test.go
cgo proc_test.go
cgo.go profbuf.go
cgo_mmap.go profbuf_test.go
cgo_ppc64x.go proflabel.go
cgo_sigaction.go race
cgocall.go race.go
cgocallback.go race0.go
cgocheck.go race_amd64.s
chan.go rand_test.go
chan_test.go rdebug.go
chanbarrier_test.go relax_stub.go
closure_test.go rt0_android_386.s
compiler.go rt0_android_amd64.s
complex.go rt0_android_arm.s
complex_test.go rt0_android_arm64.s
cpuflags_amd64.go rt0_darwin_386.s
cpuprof.go rt0_darwin_amd64.s
cputicks.go rt0_darwin_arm.s
crash_cgo_test.go rt0_darwin_arm64.s
crash_nonunix_test.go rt0_dragonfly_amd64.s
crash_test.go rt0_freebsd_386.s
crash_unix_test.go rt0_freebsd_amd64.s
debug rt0_freebsd_arm.s
debug.go rt0_linux_386.s
defs1_linux.go rt0_linux_amd64.s
defs1_netbsd_386.go rt0_linux_arm.s
defs1_netbsd_amd64.go rt0_linux_arm64.s
defs1_netbsd_arm.go rt0_linux_mips64x.s
defs1_solaris_amd64.go rt0_linux_mipsx.s
defs2_linux.go rt0_linux_ppc64.s
defs3_linux.go rt0_linux_ppc64le.s
defs_arm_linux.go rt0_linux_s390x.s
defs_darwin.go rt0_nacl_386.s
defs_darwin_386.go rt0_nacl_amd64p32.s
defs_darwin_amd64.go rt0_nacl_arm.s
defs_darwin_arm.go rt0_netbsd_386.s
defs_darwin_arm64.go rt0_netbsd_amd64.s
defs_dragonfly.go rt0_netbsd_arm.s
defs_dragonfly_amd64.go rt0_openbsd_386.s
defs_freebsd.go rt0_openbsd_amd64.s
defs_freebsd_386.go rt0_openbsd_arm.s
defs_freebsd_amd64.go rt0_plan9_386.s
defs_freebsd_arm.go rt0_plan9_amd64.s
defs_linux.go rt0_plan9_arm.s
defs_linux_386.go rt0_solaris_amd64.s
defs_linux_amd64.go rt0_windows_386.s
defs_linux_arm.go rt0_windows_amd64.s
defs_linux_arm64.go runtime-gdb.py
defs_linux_mips64x.go runtime-gdb_test.go
defs_linux_mipsx.go runtime-lldb_test.go
defs_linux_ppc64.go runtime.go
defs_linux_ppc64le.go runtime1.go
defs_linux_s390x.go runtime2.go
defs_nacl_386.go runtime_linux_test.go
defs_nacl_amd64p32.go runtime_mmap_test.go
defs_nacl_arm.go runtime_test.go
defs_netbsd.go runtime_unix_test.go
defs_netbsd_386.go rwmutex.go
defs_netbsd_amd64.go rwmutex_test.go
defs_netbsd_arm.go select.go
defs_openbsd.go sema.go
defs_openbsd_386.go sigaction_linux.go
defs_openbsd_amd64.go signal_386.go
defs_openbsd_arm.go signal_amd64x.go
defs_plan9_386.go signal_arm.go
defs_plan9_amd64.go signal_arm64.go
defs_plan9_arm.go signal_darwin.go
defs_solaris.go signal_darwin_386.go
defs_solaris_amd64.go signal_darwin_amd64.go
defs_windows.go signal_darwin_arm.go
defs_windows_386.go signal_darwin_arm64.go
defs_windows_amd64.go signal_dragonfly.go
duff_386.s signal_dragonfly_amd64.go
duff_amd64.s signal_freebsd.go
duff_arm.s signal_freebsd_386.go
duff_arm64.s signal_freebsd_amd64.go
duff_mips64x.s signal_freebsd_arm.go
duff_ppc64x.s signal_linux_386.go
env_plan9.go signal_linux_amd64.go
env_posix.go signal_linux_arm.go
env_test.go signal_linux_arm64.go
error.go signal_linux_mips64x.go
example_test.go signal_linux_mipsx.go
export_arm_test.go signal_linux_ppc64x.go
export_futex_test.go signal_linux_s390x.go
export_linux_test.go signal_mips64x.go
export_mmap_test.go signal_mipsx.go
export_test.go signal_nacl.go
export_unix_test.go signal_nacl_386.go
export_windows_test.go signal_nacl_amd64p32.go
extern.go signal_nacl_arm.go
fastlog2.go signal_netbsd.go
fastlog2_test.go signal_netbsd_386.go
fastlog2table.go signal_netbsd_amd64.go
float.go signal_netbsd_arm.go
funcdata.h signal_openbsd.go
futex_test.go signal_openbsd_386.go
gc_test.go signal_openbsd_amd64.go
gcinfo_test.go signal_openbsd_arm.go
go_tls.h signal_plan9.go
hash32.go signal_ppc64x.go
hash64.go signal_sighandler.go
hash_test.go signal_solaris.go
hashmap.go signal_solaris_amd64.go
hashmap_fast.go signal_unix.go
heapdump.go signal_windows.go
iface.go sigqueue.go
iface_test.go sigqueue_plan9.go
internal sigtab_linux_generic.go
lfstack.go sigtab_linux_mipsx.go
lfstack_32bit.go sizeclasses.go
lfstack_64bit.go slice.go
lfstack_test.go softfloat64.go
lock_futex.go softfloat64_test.go
lock_sema.go softfloat_arm.go
malloc.go sqrt.go
malloc_test.go sqrt_test.go
map_test.go stack.go
mapspeed_test.go stack_test.go
mbarrier.go string.go
mbitmap.go string_test.go
mcache.go stubs.go
mcentral.go stubs2.go
mem_bsd.go stubs32.go
mem_darwin.go stubs_android.go
mem_linux.go stubs_asm.go
mem_plan9.go stubs_linux.go
mem_windows.go stubs_nonlinux.go
memclr_386.s symtab.go
memclr_amd64.s symtab_test.go
memclr_amd64p32.s sys_arm.go
memclr_arm.s sys_arm64.go
memclr_arm64.s sys_darwin_386.s
memclr_mips64x.s sys_darwin_amd64.s
memclr_mipsx.s sys_darwin_arm.s
memclr_plan9_386.s sys_darwin_arm64.s
memclr_plan9_amd64.s sys_dragonfly_amd64.s
memclr_ppc64x.s sys_freebsd_386.s
memclr_s390x.s sys_freebsd_amd64.s
memmove_386.s sys_freebsd_arm.s
memmove_amd64.s sys_linux_386.s
memmove_amd64p32.s sys_linux_amd64.s
memmove_arm.s sys_linux_arm.s
memmove_arm64.s sys_linux_arm64.s
memmove_linux_amd64_test.go sys_linux_mips64x.s
memmove_mips64x.s sys_linux_mipsx.s
memmove_mipsx.s sys_linux_ppc64x.s
memmove_plan9_386.s sys_linux_s390x.s
memmove_plan9_amd64.s sys_mips64x.go
memmove_ppc64x.s sys_mipsx.go
memmove_s390x.s sys_nacl_386.s
memmove_test.go sys_nacl_amd64p32.s
mfinal.go sys_nacl_arm.s
mfinal_test.go sys_netbsd_386.s
mfixalloc.go sys_netbsd_amd64.s
mgc.go sys_netbsd_arm.s
mgclarge.go sys_nonppc64x.go
mgcmark.go sys_openbsd_386.s
mgcsweep.go sys_openbsd_amd64.s
mgcsweepbuf.go sys_openbsd_arm.s
mgcwork.go sys_plan9_386.s
mheap.go sys_plan9_amd64.s
mkduff.go sys_plan9_arm.s
mkfastlog2table.go sys_ppc64x.go
mknacl.sh sys_s390x.go
mksizeclasses.go sys_solaris_amd64.s
mmap.go sys_windows_386.s
mprof.go sys_windows_amd64.s
msan sys_x86.go
msan.go syscall2_solaris.go
msan0.go syscall_nacl.h
msan_amd64.s syscall_solaris.go
msize.go syscall_windows.go
mstats.go syscall_windows_test.go
mwbbuf.go testdata
net_plan9.go textflag.h
netpoll.go time.go
netpoll_epoll.go timeasm.go
netpoll_kqueue.go timestub.go
netpoll_nacl.go tls_arm.s
netpoll_solaris.go tls_arm64.h
netpoll_stub.go tls_arm64.s
netpoll_windows.go tls_mips64x.s
noasm.go tls_mipsx.s
norace_linux_test.go tls_ppc64x.s
norace_test.go tls_s390x.s
numcpu_freebsd_test.go trace
os2_freebsd.go trace.go
os2_nacl.go traceback.go
os2_openbsd.go type.go
os2_plan9.go typekind.go
os2_solaris.go unaligned1.go
os3_plan9.go unaligned2.go
os3_solaris.go utf8.go
os_android.go vdso_linux.go
os_darwin.go vdso_linux_386.go
os_darwin_arm.go vdso_linux_amd64.go
os_darwin_arm64.go vdso_linux_test.go
os_dragonfly.go vdso_none.go
os_freebsd.go vlop_386.s
os_freebsd_arm.go vlop_arm.s
os_linux.go vlop_arm_test.go
os_linux_arm.go vlrt.go
os_linux_arm64.go wincallback.go
os_linux_be64.go write_err.go
os_linux_generic.go write_err_android.go
os_linux_mips64x.go zcallback_windows.go
os_linux_mipsx.go zcallback_windows.s
【 在 hnpc (hnpc) 的大作中提到: 】
: Go的项目里各种文件就直接放在最顶层文件夹里。Java这种语言,一行代码还没写就几
: 十层文件夹了。而且go不需要任何makefile,it just works,也不需要任何恶心的
: markup language或者json配置文件。总之go的文件结构特别干净,适合程序员的审
美。
遠。
Golang本身在goog内部就有很多应用了。而且什么时候有谁拿golang和c比性能了吗
【 在 magagop(magagop) 的大作中提到: 】
<br>: 對於嚴肅的後台大項目:
<br>: 1. dependency可以用container解決
<br>: 2. java/cpp有jenkins cmake apt dpkg不比go get差
<br>: 3. github上面的項目都是upstream,需要os廠商或中間商根據CVE改造,直接
git
<br>: clone有很大安全風險
<br>: 4. cpp/java也可以有coroutine或者actor模式,不是golang獨有
<br>: 5. golang沒有一個除了google的大公司背書,比javascript都差
<br>: github
<br>
素太多了
【 在 magagop (magagop) 的大作中提到: 】
: 所以結論還是我前面提出的:
: 科班嚴肅大項目還是會用java、cpp、csharp,只有自己單幹的門外漢才首選golang。
: golang能幹的java、cpp、csharp都能幹,golang只不過是在這三個裡面取捨折中一下
: :平庸的性能,平庸的功能,平庸的第三方支持。
: 單個方向上都不是第一選擇:比甜比不過csharp,比快比不過cpp,比廣比不過java,
: golang目前還不是一流語言。
: go,
用表达能力好做X轴正向,速度快为Y正向
那么XY平面上每个远离原点的语言
随着市场需求的变化
可能都会有个巅峰时段
前提是工程质量要高
不能太不可预测
最好不出现把人憋死的坑
【 在 silverhawk(silverhawk) 的大作中提到: 】
: 我们现在内部正在上一个golang的项目,service3个月就上线而且还在继续增长,同样
: 的项目想基于原来的CPP库改造,都没人敢碰,所以在实际公司中的项目中,考
虑的因
: 素太多了
【 在 magagop (magagop) 的大作中提到: 】
: cpp有很多魔法可以提高性能,golang基本不行,java和golang一個檔次。
: 我的意思是多路多核服務器,cpp可以比java和golang快很多,根本不是這篇知乎裡面
: cpp僅僅比golang快一點的結論。
: If local disk: unbuffered IO, SPDK, memory-mapped file
: If remote disk: RDMA, DPDK
: If using accelerator: TCAM, hardware regex engine, FPGA memory comparison
: If not using accelerator: x86 SSE STTNI and AVX
: cpp能把golang打出屎來
都是C或Cpp,買第三方的庫,絕對不用開源github,害怕有GPL3。
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 我想问一句。你做过的软件项目最多多少用户?严肃的大项目不是凭空想象可以得到的。
: Golang本身在goog内部就有很多应用了。而且什么时候有谁拿golang和c比性能了吗
:
: 對於嚴肅的後台大項目:
:
: 1. dependency可以用container解決
:
: 2. java/cpp有jenkins cmake apt dpkg不比go get差
:
: 3. github上面的項目都是upstream,需要os廠商或中間商根據CVE改造,
: 直接
: git
:
: clone有很大安全風險
:
: 4. cpp/java也可以有coroutine或者actor模式,不是golang獨有
: ...................
公司也分:一流大公司、一般大公司、二流公司、小公司、創業公司,不是每個公司都要golang才能解決問題。
沒人敢碰說明你們公司或項目缺骨幹。
【 在 silverhawk (silverhawk) 的大作中提到: 】
: 我们现在内部正在上一个golang的项目,service3个月就上线而且还在继续增长,同样
: 的项目想基于原来的CPP库改造,都没人敢碰,所以在实际公司中的项目中,考虑的因
: 素太多了
袋鼠國是怎樣一個奇葩的國家,不是G7卻令人嚮往,就跟golang一樣,10歲了也不是程序語言前五名,相比之下,10歲的java已經快要奪冠了。袋鼠國也是,立國幾十年,人均收入爆高,卻不是G7成員。
想移民澳大利亞(golang)的人請注意:
袋鼠國科技不如美帝(cpp)、人氣不如中帝(java)、文化不如西歐英國(csharp)
,完全不是第一梯隊國家(語言)。袋鼠國只適合本身技能低無法移民美帝、又被西歐(MS)拒之門外、還不想跟土共(java)為伍的轉行人士開發“短平快、糙快猛”的新項目。
我從來沒說golang絕對不好,我是說golang跟主流語言相比“不夠好”,就像澳大利亞現在的尷尬定位一樣。
為什麼不能用第三方庫?美帝、英帝、中帝都有自己的一幫簇擁,澳大利亞有什麼?人均GDP麼(日均代碼量)麼?
對於不是科班出身的普通移民,澳大利亞確實有一些吸引力,但前提是想好自己未來要放棄:技術(美帝)、錢途(中帝)、文化逼格(西歐)
golang從來就不是silver bullet
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 如果简化一下问题,不考虑第三方库。
: 用表达能力好做X轴正向,速度快为Y正向
: 那么XY平面上每个远离原点的语言
: 随着市场需求的变化
: 可能都会有个巅峰时段
: 前提是工程质量要高
: 不能太不可预测
: 最好不出现把人憋死的坑
:
: 我们现在内部正在上一个golang的项目,service3个月就上线而且还在继续增长
: ,同样
: ...................
不管能力多强,年纪大了被扫地出门的多了。
被赶走前带走点东西糊口,go比你说的那些语言强。
不慢,关键是内存用的少。现在云上的内存一直在涨价。
打个比方,那个阿里小哥做的hackathon,敏感词替换,就是习总登基以后做点东西的
好项目。
大家都不傻。
【 在 magagop (magagop) 的大作中提到: 】
: golang適合搞“前景不明朗”的小團隊實驗工程,這不屬於我講的“嚴肅”項目。
: 公司也分:一流大公司、一般大公司、二流公司、小公司、創業公司,不是每個公司都
: 要golang才能解決問題。
: 沒人敢碰說明你們公司或項目缺骨幹。
帖子。把基本事实弄对。
第一个要点,golang对标的是java,python
不是cpp。rust 对标的是cpp
你批评的东西完全牛头不对马嘴。Rob Pik什么的怎么可能去和C系列比性能?
第二个要点,golang在外面发展起来之前。google内部已经有很多项目在跑了。你查查就知道了
。Ken Thompson 这些人你觉得不是科班出身的?不是严肃项目?
你讲的话偏离常识太远了。
【 在 magagop(magagop) 的大作中提到: 】
<br>: golang適合搞“前景不明朗”的小團隊實驗工程,這不屬於我講的“嚴肅”項目。
<br>: 公司也分:一流大公司、一般大公司、二流公司、小公司、創業公司,不是每個
公司都
<br>: 要golang才能解決問題。
<br>: 沒人敢碰說明你們公司或項目缺骨幹。
<br>
【 在 walkrandom(walkrandom) 的大作中提到: 】
: 在大公司退休靠不住。
: 不管能力多强,年纪大了被扫地出门的多了。
: 被赶走前带走点东西糊口,go比你说的那些语言强。
: 不慢,关键是内存用的少。现在云上的内存一直在涨价。
: 打个比方,那个阿里小哥做的hackathon,敏感词替换,就是习总登基以后做点
东西的
: 好项目。
: 大家都不傻。
第一,性能:
golang根本沒法跟cpp比性能,差一個數量級,golang僅僅是跟java相似,比python快
而已。
Cpp可以說跟assembly差不多,因為性能只有XX%的差異,不會超過一倍。
但是golang跟cpp根本不是某些人宣傳的那樣,接近cpp,其實是接近java。
golang也不可能取代對性能有要求的cpp領域,所以golang差不多10年了普及率也不高。
第二,社區:
不是因為有幾個人、幾個公司的語言就是一流語言,臉家還有項目用php、hhvm,你認
為php是一流語言麼?
golang相比java、cpp,除了狗家,還有誰大規模用?開源項目除了docker、k8s、juju還有幾個?普及率能跟java、cpp比麼?
第三,嚴肅項目的根據地:
搞android必須搞java,搞deep learning和HPC必須搞cpp,搞windows必須搞csharp
你說說哪個行業、哪個項目必須用golang,沒有golang玩不了的?
感覺golang在這方面還不如javascript的用戶群牢固。
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: 你可能需要清醒下脑子。用ssh上站。shift-f 什么的查一下本版13年到今日的
Golang
: 帖子。把基本事实弄对。
: 第一个要点,golang对标的是java,python
: 不是cpp。rust 对标的是cpp
: 你批评的东西完全牛头不对马嘴。Rob Pik什么的怎么可能去和C系列比性能?
: 第二个要点,golang在外面发展起来之前。google内部已经有很多项目在跑了。你查查
: 就知道了
: 。Ken Thompson 这些人你觉得不是科班出身的?不是严肃项目?
: 你讲的话偏离常识太远了。
:
: golang適合搞“前景不明朗”的小團隊實驗工程,這不屬於我
: ...................
golang的地位就是澳大利亞那樣的二流OECD國家在聯合國裡面的地位。
什麼都能做但是什麼都不拔尖。性能不如cpp、社區不如java、在某些領域的統治地位
不如javascript。
替代性非常強,什麼大家拿、信息藍都可以拿來跟袋鼠國比較。
1. 表达能力太差
2. 长得忒丑
【 在 magagop (magagop) 的大作中提到: 】
: 結論:
: golang的地位就是澳大利亞那樣的二流OECD國家在聯合國裡面的地位。
: 什麼都能做但是什麼都不拔尖。性能不如cpp、社區不如java、在某些領域的統治地位
: 不如javascript。
: 替代性非常強,什麼大家拿、信息藍都可以拿來跟袋鼠國比較。
比较的什么加拿大澳大利亚更是一比糊涂账。
多少年来除了你,没人拿golang和c plus比性能。
人的第一卖点是M:N scheduler
第二卖点不是语言,是易用性。
【 在 magagop(magagop) 的大作中提到: 】
: 結論:
: golang的地位就是澳大利亞那樣的二流OECD國家在聯合國裡面的地位。
: 什麼都能做但是什麼都不拔尖。性能不如cpp、社區不如java、在某些領域的統
治地位
: 不如javascript。
: 替代性非常強,什麼大家拿、信息藍都可以拿來跟袋鼠國比較。
【 在 magagop (magagop) 的大作中提到: 】
: 你的觀點不就正好證明了我的結論麼,你再看看我的標題。
: 第一,性能:
: golang根本沒法跟cpp比性能,差一個數量級,golang僅僅是跟java相似,比python快
: 而已。
: Cpp可以說跟assembly差不多,因為性能只有XX%的差異,不會超過一倍。
: 但是golang跟cpp根本不是某些人宣傳的那樣,接近cpp,其實是接近java。
: golang也不可能取代對性能有要求的cpp領域,所以golang差不多10年了普及率也不
高。
: 第二,社區:
: 不是因為有幾個人、幾個公司的語言就是一流語言,臉家還有項目用php、hhvm,你認
: 為php是一流語言麼?
: ...................
可控,性能低下在支持NUMA的新sched前完全無解。新sched概念早在2014年就提出了,目前根本沒有實現,說明golang內部嚴重缺人,也是無解。go是二流語言沒跑。
DL/ML的核心庫都是cpp,py只不過是調用一下而已。
【 在 guvest(我爱你老婆Anna) 的大作中提到: 】
: 你讲的事实部分和你的结论完全没有关系。
: 比较的什么加拿大澳大利亚更是一比糊涂账。
: 多少年来除了你,没人拿golang和c plus比性能。
: 人的第一卖点是M:N scheduler
: 第二卖点不是语言,是易用性。
: 治地位
scheduler性能有疑问是个人都知道。但是也有容易用,内存少的优点。
其实就typed unix pipeline类似的东西。
dl有c (not cpp),lua.
ml更复杂。
【 在 magagop (magagop) 的大作中提到: 】
: 你是不是根本看不懂我最開始提到的goroutine sched問題?目前runtime 2根本不支持
: NUMA,在G和M之間引入P完全是勉強提高性能的臨時解決方案,go關鍵字隱含多線程不
: 可控,性能低下在支持NUMA的新sched前完全無解。新sched概念早在2014年就提出了,
: 目前根本沒有實現,說明golang內部嚴重缺人,也是無解。go是二流語言沒跑。
: DL/ML的核心庫都是cpp,py只不過是調用一下而已。
:
: 你讲的事实部分和你的结论完全没有关系。
:
: 比较的什么加拿大澳大利亚更是一比糊涂账。
:
: 多少年来除了你,没人拿golang和c plus比性能。
:
: 人的第一卖点是M:N scheduler
:
: 第二卖点不是语言,是易用性。
: ...................
至于没人敢碰和公司能力,我就不透露了,至少业界前三,没人敢碰是连原来CPP的核
心开发人员都在往golang转,自己开发的项目都不准备继续CPP下去,为啥,因为CPP带来的性能提升,远远抵消不了开发维护难度的增加和项目推进速度慢的损失。尤其对于cloud部署来说,CPP的性能提升更不明显
【 在 magagop (magagop) 的大作中提到: 】
: golang適合搞“前景不明朗”的小團隊實驗工程,這不屬於我講的“嚴肅”項目。
: 公司也分:一流大公司、一般大公司、二流公司、小公司、創業公司,不是每個公司都
: 要golang才能解決問題。
: 沒人敢碰說明你們公司或項目缺骨幹。
那用py做AI的难点是哪里?或者说什么地方需要动脑筋比较花时间?Domain Knowledge? 调模型参数?
【 在 magagop (magagop) 的大作中提到: 】
: 你是不是根本看不懂我最開始提到的goroutine sched問題?目前runtime 2根本不支持
: NUMA,在G和M之間引入P完全是勉強提高性能的臨時解決方案,go關鍵字隱含多線程不
: 可控,性能低下在支持NUMA的新sched前完全無解。新sched概念早在2014年就提出了,
: 目前根本沒有實現,說明golang內部嚴重缺人,也是無解。go是二流語言沒跑。
: DL/ML的核心庫都是cpp,py只不過是調用一下而已。
:
: 你讲的事实部分和你的结论完全没有关系。
:
: 比较的什么加拿大澳大利亚更是一比糊涂账。
:
: 多少年来除了你,没人拿golang和c plus比性能。
:
: 人的第一卖点是M:N scheduler
:
: 第二卖点不是语言,是易用性。
: ...................
主要是管理层在推新系统,核心CPP的人要么不愿去做新系统,要么就离开公司了。老
板们肯定是不喜欢CPP的,生产力太低,受技术大牛影响太大,开发成本太高,几乎没
办法找到大量合格的C++程序员。要是一个公司随便就能找到几十个或者上百个大牛C++程序员,干活努力,工资10万封顶,那肯定所有公司都用C++了啊。:)
【 在 silverhawk (silverhawk) 的大作中提到: 】
: 任何一个公司的新项目都是从前景不明朗开始的,要是都是前景明朗的,那都是维护老
: 旧的系统,当然是CPP和Java居多,但是那样的项目基本对人没啥成长
: 至于没人敢碰和公司能力,我就不透露了,至少业界前三,没人敢碰是连原来CPP的核
: 心开发人员都在往golang转,自己开发的项目都不准备继续CPP下去,为啥,因为CPP带
: 来的性能提升,远远抵消不了开发维护难度的增加和项目推进速度慢的损失。尤其对于
: cloud部署来说,CPP的性能提升更不明显
C++几乎没法开发大项目,要不就是一个牛人单打独斗,要不就是一个特别强势的人定
一个极严格的规范把大部分特性禁用属下只搬砖,否则写出来的代码就是灾难。
【 在 hyhl (hehe) 的大作中提到: 】
: 标 题: Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟�
: 发信站: BBS 未名空间站 (Wed Mar 14 02:00:25 2018, 美东)
:
: 和我现在的部门情况有点像,也是老系统用CPP做,新系统用其他语言。不过我们这里
: 主要是管理层在推新系统,核心CPP的人要么不愿去做新系统,要么就离开公司了。老
: 板们肯定是不喜欢CPP的,生产力太低,受技术大牛影响太大,开发成本太高,几乎没
: 办法找到大量合格的C++程序员。要是一个公司随便就能找到几十个或者上百个大牛C++
: 程序员,干活努力,工资10万封顶,那肯定所有公司都用C++了啊。:)
:
: 【 在 silverhawk (silverhawk) 的大作中提到: 】
: : 任何一个公司的新项目都是从前景不明朗开始的,要是都是前景明朗的,那都是维护老
: : 旧的系统,当然是CPP和Java居多,但是那样的项目基本对人没啥成长
: : 至于没人敢碰和公司能力,我就不透露了,至少业界前三,没人敢碰是连原来CPP
的核
: : 心开发人员都在往golang转,自己开发的项目都不准备继续CPP下去,为啥,因为
CPP带
: : 来的性能提升,远远抵消不了开发维护难度的增加和项目推进速度慢的损失。尤其对于
: : cloud部署来说,CPP的性能提升更不明显
:
:
:
: --
程序员的。关键现在也没新人学了,年轻人连JAVA都不学了,谁还学C++?
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: C++的问题不是程序员工资高,而是不合格程序员比例大。
: C++几乎没法开发大项目,要不就是一个牛人单打独斗,要不就是一个特别强势的人定
: 一个极严格的规范把大部分特性禁用属下只搬砖,否则写出来的代码就是灾难。
: ++
: 护老
: 的核
: CPP带
: 对于
花钱可以招到足够的C++程序员,但是无法去除里面的沙子还是用不了。Java和C#是极
为抗操的语言可以扔给地球对面的印度外包公司折腾,C++这么搞就废了。
【 在 hyhl (hehe) 的大作中提到: 】
: 是的,但这两者其实也是相关联的,如果公司愿意出足够多的钱,还是能招到合格C++
: 程序员的。关键现在也没新人学了,年轻人连JAVA都不学了,谁还学C++?
container/kvm部署golang和cpp的性能差異目前我們還沒有做,但非常懷疑這個cpp性
能提升不明顯的結論,有reference link沒?前面有人貼link說aws lambda上csharp性能是golang的三倍,三倍也算不明顯嗎?
【 在 silverhawk(silverhawk) 的大作中提到: 】
: 任何一个公司的新项目都是从前景不明朗开始的,要是都是前景明朗的,那都是维护老
: 旧的系统,当然是CPP和Java居多,但是那样的项目基本对人没啥成长
: 至于没人敢碰和公司能力,我就不透露了,至少业界前三,没人敢碰是连原来
CPP的核
: 心开发人员都在往golang转,自己开发的项目都不准备继续CPP下去,为啥,因
为CPP带
: 来的性能提升,远远抵消不了开发维护难度的增加和项目推进速度慢的损失。尤其对于
: cloud部署来说,CPP的性能提升更不明显
只要引入一个好玩点的bug就够我受的了。
好在现在有python。
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: C++的问题不是程序员工资高,而是不合格程序员比例大。
: C++几乎没法开发大项目,要不就是一个牛人单打独斗,要不就是一个特别强势的人定
: 一个极严格的规范把大部分特性禁用属下只搬砖,否则写出来的代码就是灾难。
: ++
: 护老
: 的核
: CPP带
: 对于
问题是stroustrup大爷弄出来C++以后三十多年了,冒出来这么多语言,各自立一个山
头。要是C++真得很好用,那些语言不会有生存空间。。。C++17 C++20 可能是好用了
很多,但是sorry, too late. 其实这和中国足球搞不好是一样的,因为中国小孩都不
踢球了。
所以存在就是合理的。当然吹牛不好。我也不喜欢AI的人吹嘘AI马上就要取代人类,紧急关头一定要记得拔电源啥的。我对无人车也持保留态度。但大家都是要混口饭吃。尤其如果golang比java的主要差距是在ecosystem的话,吹牛还是会很有帮助的。 :)
【 在 wdong (万事休) 的大作中提到: 】
: 说得太对了。我带了好几个人了,从来不敢让他们插手我的C++项目。
: 只要引入一个好玩点的bug就够我受的了。
: 好在现在有python。
对,谁给咱饭吃,咱就干啥,不挑
【 在 hyhl (hehe) 的大作中提到: 】
: C++性能好是无可争议的,有人拿benchmark results 来证明java或者python比C++快,
: 甚至还拿leetcode的运行时间来举例,都是在搞笑。所以说这不是问题。
: 问题是stroustrup大爷弄出来C++以后三十多年了,冒出来这么多语言,各自立一个山
: 头。要是C++真得很好用,那些语言不会有生存空间。。。C++17 C++20 可能是好用了
: 很多,但是sorry, too late. 其实这和中国足球搞不好是一样的,因为中国小孩都不
: 踢球了。
: 所以存在就是合理的。当然吹牛不好。我也不喜欢AI的人吹嘘AI马上就要取代人类,紧
: 急关头一定要记得拔电源啥的。我对无人车也持保留态度。但大家都是要混口饭吃。尤
: 其如果golang比java的主要差距是在ecosystem的话,吹牛还是会很有帮助的。 :)
【 在 hyhl (hehe) 的大作中提到: 】
: C++性能好是无可争议的,有人拿benchmark results 来证明java或者python比C++快,
: 甚至还拿leetcode的运行时间来举例,都是在搞笑。所以说这不是问题。
: 问题是stroustrup大爷弄出来C++以后三十多年了,冒出来这么多语言,各自立一个山
: 头。要是C++真得很好用,那些语言不会有生存空间。。。C++17 C++20 可能是好用了
: 很多,但是sorry, too late. 其实这和中国足球搞不好是一样的,因为中国小孩都不
: 踢球了。
: 所以存在就是合理的。当然吹牛不好。我也不喜欢AI的人吹嘘AI马上就要取代人类,紧
: 急关头一定要记得拔电源啥的。我对无人车也持保留态度。但大家都是要混口饭吃。尤
: 其如果golang比java的主要差距是在ecosystem的话,吹牛还是会很有帮助的。 :)
【 在 hyhl (hehe) 的大作中提到: 】
: C++性能好是无可争议的,有人拿benchmark results 来证明java或者python比C++快,
: 甚至还拿leetcode的运行时间来举例,都是在搞笑。所以说这不是问题。
: 问题是stroustrup大爷弄出来C++以后三十多年了,冒出来这么多语言,各自立一个山
: 头。要是C++真得很好用,那些语言不会有生存空间。。。C++17 C++20 可能是好用了
: 很多,但是sorry, too late. 其实这和中国足球搞不好是一样的,因为中国小孩都不
: 踢球了。
: 所以存在就是合理的。当然吹牛不好。我也不喜欢AI的人吹嘘AI马上就要取代人类,紧
: 急关头一定要记得拔电源啥的。我对无人车也持保留态度。但大家都是要混口饭吃。尤
: 其如果golang比java的主要差距是在ecosystem的话,吹牛还是会很有帮助的。 :)
我觉得其实你可以改变mindset,你对底层了解,为啥不想着去提升golang性能,这样
impact会大得多,如果你假设别家都是不知道golang比CPP性能不如,误入golang,恐
怕也太低估这么多上golang公司的技术能力和项目判断了。相反,如果golang性能不如CPP下还这么收欢迎,岂不是Golang性能提升之后更大有可图,所以做这个的话,
impact比你只是比较CPP和golang大多了。
当然项目选择语言,各家各个项目组,历史现实都不一样,不好判断
【 在 magagop (magagop) 的大作中提到: 】
: “尤其对于cloud部署来说,CPP的性能提升更不明显”
: container/kvm部署golang和cpp的性能差異目前我們還沒有做,但非常懷疑這個cpp性
: 能提升不明顯的結論,有reference link沒?前面有人貼link說aws lambda上csharp性
: 能是golang的三倍,三倍也算不明顯嗎?
:
: 任何一个公司的新项目都是从前景不明朗开始的,要是都是前景明朗的,那都是
: 维护老
:
: 旧的系统,当然是CPP和Java居多,但是那样的项目基本对人没啥成长
:
: 至于没人敢碰和公司能力,我就不透露了,至少业界前三,没人敢碰是连原来: CPP的核
:
: 心开发人员都在往golang转,自己开发的项目都不准备继续CPP下去,为啥,因
: ...................
【 在 silverhawk (silverhawk) 的大作中提到: 】
: 不知道三倍这个benchmark哪里来的,每个人实现不一样,我没有做过C# 对golang的对
: 比,不过网上有很多,随便找一个https://hackernoon.com/go-vs-net-core-in-
terms
: -of-http-performance-7535a61b67b8,可以试一下,
: 我觉得其实你可以改变mindset,你对底层了解,为啥不想着去提升golang性能,这样
: impact会大得多,如果你假设别家都是不知道golang比CPP性能不如,误入golang,恐
: 怕也太低估这么多上golang公司的技术能力和项目判断了。相反,如果golang性能不如
: CPP下还这么收欢迎,岂不是Golang性能提升之后更大有可图,所以做这个的话,
: impact比你只是比较CPP和golang大多了。
: 当然项目选择语言,各家各个项目组,历史现实都不一样,不好判断
才太少了。美国足球也还马马虎虎了,主要问题是其它几项运动太火把人才分流了。中国的问题是场地都被拿去造房子,开演唱会,跳广场舞了,没地儿踢球。
【 在 lestrois2000 (lestrois2000) 的大作中提到: 】
: 中国都是笨蛋去踢球,负筛选,能踢得好才怪。一流霸主的国家足球不会强。
的, 所以程序往往在性能和稳定性上都会有问题,尤其是在使用时间比较长,牛人慢慢流失的情况下。 其实楼主把自己克隆1万个,很多问题就解决了。:)
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: C++性能并不好,因为缺少轮子,你又不可能自己手撸所有的
c++11和c++03是兩種語言,c++20和c++11/03比則是第三種語言。
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: C++性能并不好,因为缺少轮子,你又不可能自己手撸所有的
举个例子,用C++写加密层如何无缝切到GPU上?
【 在 magagop (magagop) 的大作中提到: 】
: 你說的應該是c++03 stl性能不好,老黃曆了,現在正在改變。
: c++11和c++03是兩種語言,c++20和c++11/03比則是第三種語言。
【 在 magagop (magagop) 的大作中提到: 】
: 你說的應該是c++03 stl性能不好,老黃曆了,現在正在改變。
: c++11和c++03是兩種語言,c++20和c++11/03比則是第三種語言。
至于你说的极限速度不如C++
不是废话吗?
C++几个能用好,几个能继承前任代码?
【 在 wdong (万事休) 的大作中提到: 】
: C++20都有了啊。刚刚看了眼,感觉也没啥大差别。
了寫書幹了啥?這種人搞出來的語言很多都是中看不中用的東西。
此外,C++性能好只有程序員把他當C來寫的時候才行,本身性能也就一般般。隨便舉個例子,任何care性能的人,會把std::string搞成那樣嗎?
【 在 hyhl (hehe) 的大作中提到: 】
: C++性能好是无可争议的,有人拿benchmark results 来证明java或者python比C++快,
: 甚至还拿leetcode的运行时间来举例,都是在搞笑。所以说这不是问题。
: 问题是stroustrup大爷弄出来C++以后三十多年了,冒出来这么多语言,各自立一个山
: 头。要是C++真得很好用,那些语言不会有生存空间。。。C++17 C++20 可能是好用了
: 很多,但是sorry, too late. 其实这和中国足球搞不好是一样的,因为中国小孩都不
: 踢球了。
: 所以存在就是合理的。当然吹牛不好。我也不喜欢AI的人吹嘘AI马上就要取代人类,紧
: 急关头一定要记得拔电源啥的。我对无人车也持保留态度。但大家都是要混口饭吃。尤
: 其如果golang比java的主要差距是在ecosystem的话,吹牛还是会很有帮助的。 :)
发都有质量控制
C这种可读性差的一个牛人单干有可能,比如Linus
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: 难题就在这里
: 花钱可以招到足够的C++程序员,但是无法去除里面的沙子还是用不了。Java和C#是极
: 为抗操的语言可以扔给地球对面的印度外包公司折腾,C++这么搞就废了。