[請益] 為什麼 Go 會紅?

作者: changyuheng (張昱珩)   2018-04-03 16:33:38
八卦板可能太芭樂了,認真問,真的有板友的公司是用 Go 作為主要語言的嗎?
※ [本文轉錄自 Gossiping 看板 #1Qmo_r_J ]
作者: changyuheng (Henry) 看板: Gossiping
標題: Re: [問卦] C語言學到什麼程度才可以說自己會寫C
時間: Tue Apr 3 15:40:34 2018
借大神的文章發問:
Go 的效能很好、GC 超越 Java、static typing、syntax 也簡潔
容易寫出多核心 CPU 利用度高的程式。
但是它沒有
exception handling syntax、
null safety、
function/operator overloading、
inheritance,
加上 standard library 不夠廣泛,
套件管理不優,
也就算了,
居然沒有 generic types,
請問這樣要怎麼寫,為什麼還那麼紅,有掛嗎?
※ 引述《jserv (松鼠)》之銘言:
: ※ 引述《orz77586 (成大harden)》之銘言:
: : 需要強到像Jserv一樣可以邊演講邊用開外掛的速度打扣
: : 還是學到什麼程度就可以說算是會寫C了
: : 版上大大們有沒有什麼看法
: 板上先進比比皆是,但是大多忙碌,最近剛好在研究社交網路的我代替大大們回覆。
: 身為中學摸 C 語言、大學摸 C 罩杯的大叔,我只想說「均衡發展」遠比鑽牛角尖
: 重要。
: 解釋之前,前美國總統甘迺迪 (John F. Kennedy) 曾說:
: > I believe that this nation should commit itself to achieving the goal,
: > before this decade is out, of landing a man on the Moon and returning
: > him safely to the Earth.
: (我相信美國在 1960 年代結束前,將全力以赴地實現一個目標,那就是讓人類
: 登陸月球,並確保安全返回) [0]
: 這句話非常明確:在美蘇冷戰時期,讓所有參與太空國防的上萬名人員,乃至於
: 當時的聯邦人民都知道,枝幹該把怎樣的養份送到主幹,更明確來說,機構的專家
: 會去研究夠耐用的船體、天文物理的專家會去研究重力對路線的影響、電子通訊的
: 工程人員構思一系列有效的傳輸方式,而投身教育者則是從國會議員到普羅大眾都
: 涵蓋,確保資金和人才供給不斷絕。最終,阿波羅 11 號 (Apollo 11) 作為 NASA
: 阿波羅計畫中的第 5 次載人任務,實現人類第一次登月 (並且成功返回地球的)
: 任務 (當然第一次人類登月任務始於神州大陸的嫦娥,中國人帶著逃離中國的基因
: 可見一班),繞行月球 30 周。
: 等等,上面的故事和 C 語言有何關係?「你 484 來混 P 幣呢?」且慢,讓我
: 繼續說下去。
: 阿波羅計畫的規模之大,即便是今天回顧,也難用簡單幾句帶過,遑論 1950 年代
: 末期總是被蘇聯太空技術 [1] 壓著打的美國政府,上面甘迺迪那席話就在 1961 年
: ,啟動阿波羅計畫之際。而 1960 年代中期啟動 Project MAC (與阿波羅登月計畫
: 平行,由 DARPA 贊助的大型計畫) 的 Multics 專案,定位開發多人分時多工作業
: 系統,並且運作於多核的硬體環境 (multi-processor!),更有意思的是,Project
: MAC 這麼龐大的計畫卻由麻省理工學院 (MIT) 領軍開發關鍵技術,並由 GE (美國
: 通用電氣) 提供硬體及 AT&T 旗下的 Bell Laboratories 開發軟體和技術支持 (受
: 到反壟斷條款的處分,AT&T 不得涉及硬體銷售,但研發專利技術並授權他人不在
: 此限),今日我們熟知的 C 語言開創者
作者: cattgirl (小喵超愛合購)   2017-04-03 15:41:00
不如摸C罩杯
作者: VIGUTA (黃道第十四宮-魯蛇座)   2017-04-03 15:41:00
糞語滾
作者: vonannes   2017-04-03 15:42:00
ro支拿賤畜跟支拿賤畜都盜用source code再說是自己寫的
作者: lucifiel1618 (Lucifiel)   2017-04-03 15:42:00
真假這樣還會有人用?
作者: dklash (劉翰肥宅‧油膩boy)   2017-04-03 15:43:00
因為大部分的人沒在屌哪些的
作者: jybest (jy最棒了)   2017-04-03 15:57:00
因為很多東西還是只能用C寫
作者: alihue (wanda wanda)   2018-04-03 16:41:00
因為討厭MS, Oracle, 又覺得php很糞,python效能差,C/C++開發慢又難,js只是玩具,然後go是清流谷歌推的,來試試看
作者: hizuki (ayaka)   2018-04-03 16:47:00
go算script language?python怎麼和它比阿
作者: senjor (哞哞)   2018-04-03 17:10:00
何不用dotnetcore (ry
作者: johnny94 (32767)   2018-04-03 17:11:00
.NET Core 不是語言阿
作者: curtis327 (威哥)   2018-04-03 17:17:00
python效能差轉go+1 對強類型的語言還需要花時間適應
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2018-04-03 17:19:00
來玩rust吧
作者: senjor (哞哞)   2018-04-03 17:25:00
dotnetcore: 我就是C#!
作者: Argos (Big doge is watching u)   2018-04-03 17:25:00
快加入我大swift神教 號稱負評最少的語言 嘻嘻
作者: LinuxKernel (Linus Torvalds)   2018-04-03 17:43:00
if err != nil 就是潮
作者: Darkautism (達卡特森)   2018-04-03 17:49:00
c也沒有throw error、面板、這些有的沒有的 也是紅啊
作者: yyc1217 (somo)   2018-04-03 17:50:00
因為很多人都不會 所以我會我很潮
作者: Darkautism (達卡特森)   2018-04-03 17:52:00
這些語言語法糖造成的心智包袱 反而造就糟糕的程式go把這些都捨棄,不是很好嗎?有c底子(非c++)去學go很快
作者: rayway30419 (RayWay)   2018-04-03 17:56:00
那swift把各種syntax sugar都撿走得算什麼?
作者: Darkautism (達卡特森)   2018-04-03 18:00:00
那只是和go選擇不同而已,swift很好,只是go選擇跟c一樣,結構與記憶體操作更貼近os本來的狀況。這讓它們在撰寫更貼近底層,需要精確計算memory量的程式表現更好
作者: ybite (小犬/小B)   2018-04-03 18:13:00
Go的記憶體管理是走Garbage Collection喔……我覺得Go提供了一個很好的中間選擇,有類似腳本語言的語法卻擁有編譯語言的速度。
作者: CaptainTeemo (提摩隊長)   2018-04-03 18:15:00
寫 backend 還行吧,不然你也可以用 rust 啊
作者: elements (Helianthus annuns)   2018-04-03 18:16:00
go是很有c味,所以討厭c讓我也討厭go,而且還沒辦法像c那樣掌握所有memory de/allocation
作者: littleshan (我要加入劍道社!)   2018-04-03 18:24:00
go 有一個重要特色是 non-block IO + goroutine非常適合放在 backend 這種有大量 IO 的情況
作者: felixgugu (felix)   2018-04-03 18:51:00
所以結論是不如回來寫Java
作者: kckckckc (KC)   2018-04-03 19:00:00
因為有需求吧?
作者: LinuxKernel (Linus Torvalds)   2018-04-03 19:18:00
其實最重要的還是把 non-blocking 的東西封裝成 blocking 易寫的型式,當然 C/C++ 有辦法找到類似的 library,但 goroutine 還是優雅簡單了點。不過其實鳥的地方也不少,像是各種 err,還有不支援generic,以及一些過於潔癖強硬的 rule。套件管理惡夢更不用說了。
作者: youngce (時間會讓人遺忘)   2018-04-03 19:44:00
渣渣語言
作者: johnny94 (32767)   2018-04-03 19:49:00
我在網路上看到很多關於 go 套件管理的問題,有人可以說明一下問題是在哪嗎?例如跟 npm 之類的比較
作者: longlongint (華哥爾)   2018-04-03 19:50:00
在 Google 倒掉或是收掉 Go 之前可以拿來用的語言
作者: darthv (閑談莫論國事)   2018-04-03 20:00:00
k&r你可以質疑?
作者: dreamnook (亞龍)   2018-04-03 21:38:00
簡單來說裝起來非常麻煩
作者: VisualStudio (2015)   2018-04-03 22:44:00
這個GoUsers清單好像有列 https://goo.gl/HfRAdb清單頁面最底下有 See also Success Stories
作者: GoalBased (Artificail Intelligence)   2018-04-03 23:51:00
光是google出的框架就不想用了,看看android ng1
作者: obamina48   2018-04-04 08:56:00
推 rust
作者: chia7712 (Spright)   2018-04-05 00:03:00
因為是google大神
作者: lnmlee   2018-04-08 19:13:00
go 適合分散式後端

Links booklink

Contact Us: admin [ a t ] ucptt.com