「No one is omniscient and that's ok. 」
這句讓人倍感溫馨的話,意為「沒有人是全能的,這很 ok」。每當你遇到不知如何去做的事情,怎麼辦?你會谷歌、知乎、Quora、或者百度一下怎麼做。但你也許會好奇,有沒有更簡單的方法來找到你想要的答案?
據說在開發者江湖,百度一下的是小白,有問題找谷歌的是大多數,會去在線資料庫、碼農社區找答案的一定是老司機。
2016 年,搜尋引擎開始在機器學習領域發力——承諾幫助開發者搜索 syntax(語法)。其中,必應搜索(Bing)與碼農社區 HackerRank 合作,幫助開發者更快找到代碼問題的答案。語法庫 SyntaxDB 更是宣稱要成為碼農們的搜尋引擎——取代谷歌成為世界最快速的編程問題參考來源。當然,這並不意味著遇到問題的程式設計師們不會衝向 Stack Overflow 或者其他開發者社區;但這預示著編程問題的搜索正在變得更輕鬆、便捷。
絕望呼救的人
碼農世界的明星、微軟 IT 工程師、媒體人 Scott Hanselman 曾經遇到過一個很有意思的問題——
「我到底是一個(優秀的)開發者,還是只是個擅長用谷歌的人?」
這個問題沒有答案。但提問者的解釋是:「走出自己的舒適地帶(comfort zone)會使我們成長」。意思是當我們處理原本不知道如何去做的任務,以至於不得不用谷歌、去在線社區尋找答案時,會獲得新的知識與技能,提高職業水平。
但在宣布該平臺與必應的合作之時,雷鋒網(公眾號:雷鋒網)獲知,HackerRank 的CEO 、聯合創始人Vivek Ravisankar 發表了他的觀點:當你遇到一個不確定該如何處理的難題,搜索解決方案是「今天的程式設計師所面臨的主要生產力陷阱之一」。他進一步解釋:
「如果你想要改進某個算法、或者學習新算法,你用搜尋引擎搜索,然後考慮該點擊哪一個藍色連結。之後,你需要把所有搜到的東西移到你的文本編輯器裡面,你不停嘗試、不斷遇到錯誤,直到你找到合適的解決方案。」
Vivek Ravisankar (中)
「SyntaxDB 為經常使用谷歌搜索 syntax 的人而設計,它的目標是成為世界最快的編程參考來源。」
SyntaxDB 由 Anthony Nguyen 創立,當時,他還沒有進入 Shopify 成為軟體工程師,正在女王大學(Queen’s University)學習計算機工程和經濟學課程。該網站支持九種語言:Java, JavaScript, C, C++, Swift, Go, Ruby 和 Python,並提供 Slack, DuckDuckGo 和 Visual Studio Code 的整合。
SyntaxDB 網頁 UI 簡潔,使用較簡單。當用戶鍵入語言名稱,或是某個概念,SyntaxDB 會給出相關答案。搜索結果按照最好的答案排序。當用戶點擊某個概念的連結,其定義、syntax、相關註解以及案例會展示出來。
與 HackerRank 的聯姻後的必應
對於這樁合作,Vivek Ravisankar 在博客裡寫道:
IT 工程師們通常利用搜尋引擎,來搜尋諸如 Stackoverflow、Stackexchange 等網站或各個博客中的答案。這帶來學習程式語言、玩代碼的新方式。「但現在,你有了一個更為順暢的新選擇——它不僅能『吐出』你需要的代碼答案,還能實時編輯、擺弄代碼。這不需要任何 IDE 安裝,能節省你以往浪費在搜索頁面和代碼編輯器之間來回切換的時間。現在,代碼在必應搜尋引擎的實時編輯器運行。
必應「UX 特徵與分享工具部」工程負責人 Marcelo De Barros 解釋道:
「除了學習在某個語言中特定算法、代碼是如何編寫的;用戶們還能檢查,同樣的方案是如何在其他程式語言中實現的。這為程式語言們提供了羅塞塔石碑般的模型 」
雷鋒網註:這是極大的讚揚(吹噓)。羅塞塔石碑是同時刻有希臘文字、古埃及文字和埃及通俗文字的石碑,是歷史學家破譯古埃及文字幾乎唯一的信息來源。把必應與 HackerRank 的合作成果與其相提並論,表示微軟認為它為不同程式語言之間的理解與轉換,打開了新窗口。
在項目描述中,Anthony Nguyen 提供了一個連結,導向了一個被超過 500 個 Reddit 用戶回答的問題:
碼農老司機使用谷歌搜索的頻率有多大?(How Much Does an Experienced Programmer Use Google?)
這個問題也沒有標準答案。雷鋒網看到,一個 Reddit 用戶回答:「如果你每天用超過四種語言寫代碼、修補漏洞,一些小細節會不斷忘掉。」另一個用戶解釋:「學會怎麼用谷歌是工作很重要的一部分」。還有一名為 devsquid 的用戶解釋說:「當你的編程知識增長,你的問題變得更具一般性。」
名叫 BlueRenner 的用戶表示,使用谷歌是最高效的方法。把代碼放入文本編輯器是編程中最不重要的一步。知道放什麼、放在哪裡,才是最重要的工作環節。一名有 20 年工齡的老碼農表示,沒了谷歌開發者要怎麼活?沒人能把所有文件都記住。
最後,署名為 gigitrix 的用戶做了個很精闢的比喻:「谷歌是我大腦的 SSD,而大腦的 RAM 更適合存儲問題空間,而不是 API 文件和語言細節。」
via jaxenter
相關文章:
「下一代搜尋引擎」Vurb,為何賤賣給Snapchat
AIR 023 | 從搜尋引擎到行動引擎,前谷歌科學家如何打造智能搜索
Google搜尋引擎引入AI算法,搜什麼都幫你找得到
Facebook用AI變身強大搜尋引擎,要挑戰谷歌?
雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。