如何評價王垠的《Go語言,Docker和Kubernetes》?
王垠的每一篇博客都要在知乎讓人評價一下 : )
Go語言,Docker和Kubernetes
他的意思是:
你們用的工具屬於新石器時代,看都不能看。你們做的產品更爛,用舊石器時代的工具就能搞定。你們都是辣雞。
至於你們的產品好像蠻流行的,這關我鳥事,我是混學術圈的,工程上的事情i don t care。而且,人家微軟在工程實現上比你們高到不知道哪裡去了,設計優美性能很棒,你們要多學習少吹牛,悶聲大發財。
什麼,你說我學術圈混不下去?我跟你講,當年混學術圈的時候,圈裡的人我都知根知底,全都是辣雞。。。槽點太多,不知從何反駁。大V在不熟悉的領域之外,帶偏見的態度寫出的東西。
微軟的同學們,你們趕快收了他吧,這麼大的一篇投名狀,都沒看見?這幾年微軟在技術上影響力下滑,還得捏鼻子提供bash shell支持,太憋屈了。需要大V來給眾羔羊指點迷津。我能用新石器時代的刮削器能切開的肉,用舊石器時代原始工具都能搞掂,體積還更小!
所以別看大家都用菜刀,其實不鏽鋼就是坨x!你煉不鏽鋼多複雜和麻煩,還要磨刀啊
我就抓塊石頭搞幾下就能實現不鏽鋼菜刀的大部分功能了,你就別吹不鏽鋼多厲害啦。↑這是我讀到的東西,啟發自 @Zh Min 的回答沒有什麼乾貨。看起來對這個領域也不是很了解。舉的例子難以讓人信服
這個就太外行了。要拿 Solaris Zone/Containers 來扯還說得過去。
然後Windows引入Docker了。
這也許是王垠離開微軟的真正原因——自己被打臉了?
計算機科學與工程的主線是製造銀彈和人工智慧,隨著眾多從業者的努力,我們離目標越來越近了。
而王垠主要關心的是別人在干這個的時候左邊眉毛不好看。使用了Docker之後,你也許會發現,Unix的狂熱分子們其實重新折騰出了Windows一開頭就有的應用程序構架,然而這些應用程序之間的通信方式,卻遠遠沒有達到COM和.NET的成熟程度。
基本比較認同他的話。
容器的實際、真正的原理沒了解,只覺得它相當於 輕量級 的虛擬機 如何通俗解釋Docker是什麼? - 海濤的回答
如果這樣,底層的實現、機制應該還是比較複雜的。而docker只是利用linux既有的這個底層功能,真正做的也許真的不複雜,而且,他說的只是其中一個主要的功能。
unix的問題,也的確是存在(當然,其優秀的地方,也很多),就像 各種依賴,的確不比windows的dll地域 好多少。
【很多項目做成了container之後,它們之間用REST和HTTP進行通信,其實讓系統模塊之間的通信變得更加困難和複雜。使用了Docker之後】
需要rest,不是因為容器,而是因為 系統需要同時支持單機和跨機。是系統需要跨機(規模大了,可能需要把子系統由 都在一台機 改為 分散在不同的機器(總價格便宜但 性能之和 高於 單台高配置機器)),才需要 在規模小的階段用容器把單機模擬成多台機器。(利益相關:我喜歡 簡易化之後的rest)對於其最後一段,也是非常警醒。。。。只是 重新發明com/.net 與docker無關docker只是把 跨機的需求 以更便宜的手段實現而已。我就知道vczh會轉發文章的最後一句話
謹慎懷疑王沒有寫過go代碼,或者go語言沒解決他的痛點。go不是完美的語言,但非常實用。可以看到現在很多創新的軟體/庫(尤其是網路相關的)都在用go實現,國外一些名校的分散式課程也改成用go編程。
我也是來趕時髦的
為什麼一定要是這種非黑即白的思維,這個世界每天都在產生各種新玩意兒,這些新玩意兒達不到完美,卻不會是一無是處,既然能流行起來,就必然解決了人們的某個痛點。每個人的需求都不一樣,多一些選擇不好嗎?
No Silver Bullet
No Silver Bullet
No Silver Bullet
分散式領域也不例外。
Docker 在我看來,用能這麼輕快,主要是對相關的系統文件和相關庫代碼做一層層的snapshot 的lay.
docker只是把操作系統提供的功能封裝並整理出一套介面,所有虛擬化的功能都是操作系統實現的;而我們也知道,操作系統能提供給應用程序的只是不多的幾百個系統調用,所以確實是跟用什麼語言開發無關。世上本沒有路,走的人多了也就成了路。同樣,用docker的人多了,也自然地成就了一條虛擬化的路。我覺得,要是想了解虛擬化底層細節,就好好研究操作系統提供的與虛擬化相關的系統調用,要是想做好虛擬化的管理,就好好研究docker提供的各種api。
人家說go慢慢的就把java干垮了,看來我得提前看看新語言。。。。不過編程語言都是觸類旁通的東西,隨便瞅兩眼就知道咋回事了。
掃了一眼, 在扯淡。 評論區也老多無用的。。
唉,這孩子,干點什麼正事不好,白瞎了多年的深造。一種以前的讀書人出來算命騙錢的即視感。
Docker並不能解決Unix的根本問題。Unix從來就不是一個具有良好模塊化設計的系統。各種稀奇古怪的配置文件,設計缺乏條理和章法。各種模塊之間,版本邏輯依賴關係錯綜複雜,糾纏不清。所以不管你事後怎麼補救,其實都難以變成結構清晰的設計。
不知道誰能告訴我Unix為什麼是一個垃圾系統?不扯應用層的東西,只聊OS
很多項目做成了container之後,它們之間用REST和HTTP進行通信,其實讓系統模塊之間的通信變得更加困難和複雜。
說的好像兩個用REST API交互的container應用,不跑在docker裡面,用的就不是REST API了。
不要看到別人黑自己也跟著黑,不要屁股決定腦袋。自己獨立思考,看本題回答估計一半因為不喜歡他而各種黑。客觀的看待他的不足吧。
推薦閱讀:
※JAVA ReentrantLock可見性?
※為什麼有人想要成為程序員?
※金融女,怎樣能認識到聰明有趣的程序員?
※寫Python的時候總是用別人的庫,這樣對提高代碼能力有幫助嗎?
※碼農生活規律嗎?