天天看點

為什麼程式員一定要會用Google和Stack Overflow?

内容簡介

前言

為什麼用Google不用百度

為什麼用Stack Overflow

小結

前言

下文中,谷歌統一用 Google 表示。

作為程式員,用 Google 比用百度更節省時間,此話不假。

我在法國工作也有 5 年了,加上學生時代的兩個 6 個月的實習。雖說我離程式設計大牛還相距甚遠,但是也算是有些開發經驗的程式員了吧。我想說:

這些年程式設計的一個很深的感觸就是:95% 的問題都可以在 Google 和 Stack Overflow上找到答案。

真的能達到 95% 嗎?達不到怎麼辦呢?

我覺得很多時候不是 Google 或 Stack Overflow 的問題,而是不少朋友不太懂得如何快速有效地搜尋到有用的資訊,可以參看下面這篇知乎的文章:

如何用好谷歌等搜尋引擎?

相比于國内的小夥伴們用 Google 需要“番茄”, 在國外确實相對便利,是以我平時基本不用百度,隻有很難得才會用百度來查一些資料。

Stack Overflow 的官網 倒是在國内也可以上。不過貌似不是那麼穩定,有時候打開比較慢。

Stack Overflow 的官網

下面兩個内容值得一看:

Stormzhang 的文章:你為什麼一定要使用 Google ?

知乎上的讨論:如何優雅地使用 Stack Overflow?

不過, 要能在 Google 和 Stack Overflow “暢遊”, 還需要比較良好的英語, 因為很多好的資料是英語的, 很多 API 隻有英語解釋, 等等。

為什麼用Google不用百度

一言不合就用 Google!

首先,百度是一個以中文資訊為主要對象的搜尋引擎, 對英語資訊的收錄量和收錄精确性比 Google 差很多。

但是作為程式員,我們如果不會英語,是會錯過很多好資源與好的學習機會的,可以參看一下我這篇文章:對于程式員, 為什麼英語比數學更重要? 如何學習

不過百度也是有其用途的,比如查找一些中文資源的時候。

百度比之 Google 還有很多劣勢:

用百度,第一屏的結果往往充斥着廣告。而且不少都是用金錢買來的廣告位。雖然Google也有廣告位,但相比百度還是有良心很多的。經過不少的事件,例如 魏澤西,大家對百度已經诟病不少了。

百度的界面沒有 Google 那麼清爽:是的,作為“視覺生物”,要我在 Google 的界面和百度的界面之間選擇,我會毫不猶豫選擇前者。

百度的首頁

Google 的首頁

對比一下 Google 的首頁和百度的首頁就會發現:Google 的首頁大氣簡潔幹淨,百度的首頁就是多了讓我們分心的新聞什麼的。百度你給我看那麼多菜單,那麼多其他内容,我怎麼專心去搜尋。

假如不是在國内,那麼 Google 的速度是很快的,因為世界各地有很多 Google 的內建伺服器。

我們可以用“android學習”,看看 Google 和百度的搜尋結果對比(第一頁):

對于“android學習”,Google的搜尋結果

對于“android學習”,百度的搜尋結果

可以感覺出來,Google的搜尋結果很清爽,而且“直擊要害”;百度的結果有不少并不是我們想要的,你還需要自己甄别,很麻煩。

還有,我都開了 Chrome 浏覽器上屏蔽廣告的插件,百度的搜尋結果第一頁第一個竟然還是廣告。你可以去試試不加屏蔽廣告選項的話,百度第一頁的搜尋結果,基本至少前 5 個都是廣告。

當然了,Google 也不是沒有缺陷的,而且百度這些年也有進步。不過,人生短暫,我用 Google。

我當年剛開始接觸程式設計的時候,也不怎麼用Google,基本都是“百度之”。但是我漸漸發現,百度的智語“百度一下,你就知道”,其實應該更正為“百度一下,也許你就更不知道了”。

最後, 假如你不信我說的,可以親自使用一下 Google 和百度。

不過,友情提示:

到時候,你愛上 Google,不能自拔,每天不用一下 Google 搜尋就“不爽不舒服斯基”的時候,不要來找我“算賬”。

為什麼用Stack Overflow

如果說 Google 對于非程式員也很有用,那 Stack Overflow 就是極客的選擇了。

什麼是Stack Overflow ?

Stack 是英語“棧”的意思,Overflow 是英語“溢出”的意思,是以 Stack Overflow 的直譯就是“棧溢出”。當然,這是計算機領域的術語。

棧溢出是緩沖區溢出的一種。

由于緩沖區溢出而使得有用的存儲單元被改寫,往往會引發不可預料的後果。

程式在運作過程中,為了臨時存取資料的需要,一般都要配置設定一些記憶體空間,通常稱這些空間為緩沖區。

如果向緩沖區中寫入超過其本身長度的資料,以緻于緩沖區無法容納,就會造成緩沖區以外的存儲單元被改寫,這種現象就稱為緩沖區溢出。

緩沖區​長度一般與使用者自己定義的緩沖變量的類型有關。

老外就是喜歡取别具一格的名字~

Stack Overflow 簡單來說是一個 IT 技術問答網站。其實網站本身技術實作并不是很難,國内也有模仿者,例如 https://segmentfault.com

Stack Overflow 由 Jeff Atwood 和 Joel Spolsky 這兩個非常著名的 Blogger 在 2008 年建立,7月小範圍的進行 Beta 測試,直到 9 月份才開始公開的 Beta 測試。Stack Overflow 面向程式設計人員群體。

到2010年年末,Stack Overflow 單個站點在 Alexa 的Rank 是 160 ,月度獨立訪客超過 1600 萬,每月Page View 超過 7200 萬 (refer)。

Stack Exchange Network 在 2010 年 5 月接受了來自 Union Square Ventures 的 600 萬美元的投資,在 2010 年擴大并完善了整個團隊,從三個全職工程師發展到了 20 多人的隊伍,搬進了 7500 平方英尺的豪華裝修的辦公室(當然每個人都坐着1000美元一把的椅子)。

之後,發展就算比較順利。

但是,Stack Overflow 之是以成功,因為:

整個圈子氛圍不錯

問答基數大

回複及時

大牛很多

基于英語

問題稽核嚴格

基本你想得到的程式設計知識點在上面都有相關問題

可以看一下知乎的這篇文章:國内為什麼沒有好的 Stack Overflow 的模仿者?

這些年,很多程式設計難題,我都是先Google,然後 Google 會很優先地把結果導向到 Stack Overflow,我在 Stack Overflow可以很容易找到解決我的問題的答案。有些問題甚至很偏門,但是 Stack Overflow 還是有解決辦法,簡直神器!

小結

至于 Google 和 Stack Overflow 的組合對于程式員的助力有多大,那你必須使用了才能體會到啊。

當然了,作為程式員,也得學着使用一下 Github,簡直贊到不行。可以看看我的這篇文章:Git,Github和Gitlab簡介和基本使用。

繼續閱讀