當前位置:首頁 > 芯聞號 > 充電吧
[導讀]編程神器Stack Overflow 十歲啦!未來將何去何從

Joel Spolsky 與我共同創(chuàng)建的 Stack Overflow?已經(jīng)走過了?10 個年頭。從 2012 年開始我就在做其他的工作了,但是能讓人們在我過世之后還能想起我的東西,那肯定還是我的老伙伴 Stack Overflow。

這里我好像應該滔滔不絕地說?Stack Overflow 有多么優(yōu)秀,而我作為創(chuàng)始人是有多么偉大。

但I這些我都不在乎。

我真正在乎的是,Stack Overflow 對程序員們是不是有幫助。對此,讓我們看看如今最牛叉的開發(fā)者之一,我的偶像?John Carmack 是怎么評價的。

在為提升開發(fā)者的效率方面,Stack Overflow 可能貢獻了好幾十億美元

說實話,2013 年 9 月 17 日是很美好的一天。我讀到這條推的時候嚇了一跳,不光是因為我經(jīng)常用 Carl Sagan 的方式讀 Billions 這個詞。我在 Twitter 每隔幾天就會讀到一些殘酷無盡的人間疾苦,以及人們在網(wǎng)絡上的互相叫罵。與此相反,那一天是我感覺到的只有喜悅。這也提醒了我,我該查查 Twitter,看看如今誰還對網(wǎng)絡抱有不同的理解。

Stack Overflow 有著如此多用戶,也幫助了一個時代的開發(fā)者,對此我感到既榮幸又謙卑。但是,實現(xiàn)這一成就的并不是我。

  • 是你們,對 Stack Overflow 貢獻了經(jīng)過深入研究后想到的提問;

  • 是你們,對 Stack Overflow 貢獻出了簡潔而清晰的答案;

  • 是你們,編輯了 Stack Overflow 的提問或答案,并使其變得更好;

世界各地開發(fā)者們所貢獻的那些大大小小的提問與回答,把 Stack Overflow 變成了一個在開發(fā)領(lǐng)域能與維基百科抗衡的創(chuàng)意共享知識庫。這實在是…非常的不可思議。

不過成功的故事都很無聊。這個世界上有很多人,本身運氣好,但還時不時的告訴別人是自己的努力以及喝活力汽水換來了成功。我覺得失敗的故事更有教育意義,在建立業(yè)務與規(guī)劃未來時,我把自己想象成深淵專家,并開始一場比賽。這是我自己做事的習慣。

當你在凝視深淵的時候,深淵也正在凝視著你 – Friedrich Nietzsche

由此,我現(xiàn)在要與耀眼的深淵對視,預測一下Stack Overflow未來十年會遇到的挑戰(zhàn)。這之前,我要先澄清以下事實。

1、從 2012 年 2 月開始,我就沒有再為 Stack Overflow 做事了,也沒有對其運營有過任何建議。你問我對如何運作Stack Overflow 竟然能沒有建議?額,那你可能不認識我。你問我難道我不會時不時給員工發(fā)郵件告訴他們我的想法?我也許會吧,但是我為數(shù)不多的歸檔郵件可以證明,這個事情很少發(fā)生。

2、Stack 有著優(yōu)秀的員工,他們中的大多數(shù)(包括我離開之前的 Stack Overflow 社區(qū)成員)都能對我們的使命給出更好的,不像我那樣胡思亂想的闡述。我會用生命信任他們嗎?不會。但是我會用 Joel 的生命信任他們!

3、Stack Overflow并不屬于我或者 Joel,或者其他一些優(yōu)秀的開發(fā)者。Stack Overflow 的運作靠的是世界各地日復一日做開發(fā)的人們,就像你或我一樣。我覺得 Stack Overflow 就像個家長,它的目標是讓孩子們最終能離開家長身邊,成為可以獨當一面的大人。

4、作為 Stack Overflow 的創(chuàng)始人,我在社區(qū)成立的最初四年里,花了非常多的時間參與制定規(guī)則與規(guī)范。你現(xiàn)在閱讀的是我所強觀點,弱堅持。這只是我的一些想法,我也希望自己的預測是準確的,但是這并不意味著我可以預測未來,或者我有資格去預測未來。不過我并不會以自己是否具有資格而不去做一些事情。

Stack Overflow首先是一個 wiki

Stack Overflow不僅是個論壇,它跟維基百科有很多相似之處。我們衡量問題和答案是否有意義的方式,不是看那些問題和答案對特定幾個人的幫助,而是看隨著時間的推移,這些問題和答案能不能幫助到越來越多的人。我從?2008 年 Stack Overflow 上線后就在強調(diào)這個關(guān)系。來看看下面誰的地位最高。

為了強調(diào)這一核心價值,Stack Overflow添加了一個簡潔的功能。那就是在用戶資料里會顯示,你所貢獻的問題與回答幫助到了多少人。

這些問答內(nèi)容到底服務于誰?回答問題為何有如此嚴格的審核過程?對于 Stack Overflow 最常見的抱怨通常來自于對前面這兩個問題的誤解。

我希望更多的人能明白,Stack Overflow并不是一個“回答我的問題”的地方,它是“讓我們合作建立一個對未來的開發(fā)者們有益的地方”。也許 Stack Overflow 應該更加努力去幫助用戶理解這件事。

如今很多用戶,甚至泡在 Hacker News 上的技術(shù)圈網(wǎng)友,都不知道 Stack Overflow 上有個功能,那就是每一個問題都是可以修改的,即使是沒有登錄的匿名用戶也可以修改。對此我深表驚訝。這個功能不奇怪,對吧,因為 Stack Overflow 就是一種維基百科,這也是維基百科的運行模式,任何人都可以修改任何內(nèi)容。不信的話,現(xiàn)在就去試試吧,找一個你認為可以提高的問題或者回答,點擊“改善這個回答(improve this answer)”或者“改善這個問題(improve this question)”,然后寫下你的改良版。

Stack Overflow 有很多功能(甚至也包括我自己在 2012 年之前的一些所作所為)都容易導致用戶誤解其核心價值。理論上,“如今每一個開發(fā)者都聽過,用過以及了解 Stack Overflow”,但我覺得這個假設(shè)不準確。畢竟每時每刻都有新的開發(fā)者誕生。說得更復雜一點,Stack Overflow 的使用模式有三種,從大到小,以倒金字塔的形式排列如下:

1、我在需要的時候去搜索答案

用戶直接上網(wǎng)搜索,搜索引擎會直接顯示出 Stack Overflow 中的高票答案。出現(xiàn)在搜索引擎第一頁,這也是Stack Overflow的主要目標。如Stack Overflow正常運行,98%的開發(fā)者在他們的整個職業(yè)生涯中,不需要主動提出或者回答問題。只要通過網(wǎng)絡搜索就可以找Stack Overflow上到他們需要的結(jié)果。這是個好事,非常好的事。

2、我遇到很困難的問題時會參與Stack Overflow的討論,因為單純的搜索找不到我想要的答案

只在遇到難以解決的困難時,參與Stack Overflow的討論,這很合理。然而,我覺得這個階層的用戶最容易感覺到Stack Overflow不是那么容易使用,因為這類用戶可能對Stack Overflow很熟悉,但是并不清楚發(fā)布問題的流程。并且在他們急切想尋找答案的時候,他們沒有時間或心思去應對Stack Overflow對于問題背景、格式、描述以及引用要求。

3、為了自己的職業(yè)發(fā)展,我主動參與Stack Overflow的問題討論

這個階層的用戶很有經(jīng)驗,他們貢獻了很多答案,也了解什么樣的問題是好問題,是他們感興趣、愿意回答的問題。他們不經(jīng)常提問,因為他們知道如何去全面搜索他們想要的答案。但是他們一旦提問,那一定是個示范性的好問題。

(理論上這里還有個第四階層用戶,他們無私的貢獻了很多提問與回答,目的只是為了推動軟件開發(fā)行業(yè)的發(fā)展,造福于新一代的開發(fā)者們。但是我們沒空提這些大神,你們只會讓我們顯得更加平凡,所以我們就此打住吧)

第一階層的用戶在社區(qū)里開心地逛了好幾年,卻在變?yōu)榈诙A層用戶時,一下子有了不開心的用戶體驗。對此我一點兒也不驚訝。我認為解決這個問題最主要的方式,就是改變并提高提問頁面的用戶體驗。另外值得注意的一點是,用戶在提出了某個問題后,可能收到關(guān)于問題信息不足的負面反饋,但是他們也許并不知道,你的問題應該是“有益于其他用戶而并不只是你自己”。

Stack Overflow采用了維基百科的模式,也使其自身受到了很多限制。即使用戶在提問前就知道這些,很多時候到底什么是“有用的信息”也很難判斷。同理,很多時候我們也不確定到底什么樣的話題,人群或者地點需要一份維基百科。Henrietta Lacks?有自己的維基百科頁面,這毫無爭議,但是他住在奧哈馬市的表兄 Dave,那個提出了一個關(guān)于 PHP 5.6 的奇怪問題的人,是不是該被寫入維基百科呢?

隨著時間的推移,重復內(nèi)容像地雷一樣遍地都是

這事我很早就預料到了。老實說,我有點慶幸自己在 2012 年離開了 Stack Overflow,這樣我就不用去處理這個難以置信的技術(shù)性難題:重復性內(nèi)容。在我聽到的關(guān)于 Stack Overflow 的所有抱怨里,重復內(nèi)容是我覺得最有共鳴的。

如果你接受Stack Overflow是個類似于維基百科系統(tǒng)這一前提,那同理你顯然不能接受,在維基百科中,對于意大利有五個不同的詞條。Stack Overflow不允許對于同一個技術(shù)問題有重復的提問。我們確實有很多避免重復問題的功能,比如輸入問題時的同步搜索,以及提交問題前,你會看到一個很明顯的,鼓勵用戶先去搜索相關(guān)問題的搜索框。

… 如何查找并判斷重復內(nèi)容是個非常有難度的問題,即使是Google這樣的公司,有著名副其實世界最聰明的工程師團隊,專攻了20年也沒有解決這個問題。

當你在一個不允許重復問題的網(wǎng)站中提問時,系統(tǒng)去重的難度取決于總問題數(shù)量,處理一百萬的問題總量的去重與一千萬甚至一億相比,是非常不同的。系統(tǒng)處理問題去重的難度,會從不太難處理變?yōu)樽罱K的完全無法處理。比如你提出了一個與藝術(shù)類相關(guān)的問題,那么系統(tǒng)需要根據(jù)你的提問內(nèi)容,在不勝枚舉的已有問題中進行篩選,以確保沒有看起來相似的提問。

等會兒,還有個更難的問題!

  • 相似問題中有一點內(nèi)容變化也是可以的,因為十個不同的人在提出同一個問題時,完全可能使用毫不相關(guān)的詞語來形容這個問題。我知道這聽起來很瘋狂,但是相信我:人類極其擅長做這樣的事。我們希望保留這些重復的問題,并且讓他們都指向同一個主問題,以便于用戶更好的搜索他們需要的內(nèi)容,即使這些用戶使用了那些平常不太會被用到的詞語去描述問題。

  • 如何判斷你提出的問題是不是重復,這是個不小的挑戰(zhàn)。多少詞語的重疊才能決定一個問題是不是與另一個重復?誰來決定?不同人有不同理論。這是個以人類語言為標準的解析,然后人類吧……不可預知。這個系統(tǒng)無法做到讓所有人滿意,去重的缺陷會一直存在于系統(tǒng)之中。

我對于越來越嚴重的重復問題并沒有一個好的解決方案。但是我想指出,早期在?Stack Exchange?有很多先例,它們把網(wǎng)站分為“初級”和“高級”區(qū)域,不同區(qū)域的規(guī)則不同。我們在別的地方也能找到類似的例子,比如 Math 和 MathOverflow,English 和 English Learners, Unix 和 Ubuntu,也許是時候搞一個以初級用戶為主的 Stack Overflow了,在那里我們可以允許多一些重復,少一些規(guī)則。

Stack Overflow是個可以同行評審的競爭性系統(tǒng)

Stack Overflow確實是個相當明確的競爭性系統(tǒng),它的一大標志就是“總會有更好的解決辦法”。根據(jù)我的多年觀察,激勵開發(fā)者最有效的方式就是…巧妙地暗示出別人的解決方案也許比你的更好。

– 你好Randall。醫(yī)生說你能聽到我說話,雖然你看起來像植物人。我是來告訴你,別著急慢慢康復。因為Ross接替了你的工作,并且做的非常好。他甚至找到了你代碼里的瓶頸,還說他改過的代碼變快了兩倍。

– 這不可能?。。。?!我現(xiàn)在就回辦公室!

Stack Overflow的競爭性質(zhì)體現(xiàn)在了它的公開聲望系統(tǒng)上,就是用戶名旁邊那個擁有神奇力量的數(shù)字。所有的聲望值都來源于其他用戶,而不是所謂的系統(tǒng)。

每當你提出問題或者提交回答時,你的問題或回答都可以被其他用戶指指點點,他們可以編輯、標記、關(guān)閉、打開、頂、踩或者收起。這樣做的目的是讓 Stack Overflow 成為一個同行評審和友好競爭的系統(tǒng),就像在公司里,你的代碼被你從沒見過的另一個部門的人來評審。有人以友好的方式去質(zhì)疑你所提問題的提論,也是完全合理的,比如,你真的想用這個正則表達式去匹配 HTML 嗎?

我完全清楚這種競爭性質(zhì)的同行評審系統(tǒng),并不適合每一個人。Stack Overflow 采用維基百科的模式,導致它存在不能接受重復內(nèi)容這樣的限制。那么根據(jù)你的情況與背景,同行評審時,你收到的評價可能會讓你覺得不舒服。

我聽部分用戶反應,在 Stack Overflow 提問的過程中會感覺到焦慮。對我來說,在 Stack Overflow上提問,應該感受到一種 ”我要展示出我最好的一面“ 的正常焦慮:

  • 在你的同事面前演講的焦慮

  • 考試要取得好成績的焦慮

  • 開始新工作,與你尊敬的優(yōu)秀同事們一起工作的焦慮

  • 第一天去學校報到,即將見到新同學的焦慮

至于那種完全不會感到焦慮的地方,我唯一能想到的就是,從事了很久的工作,已經(jīng)不再關(guān)注與工作本身,因此也沒有那種擔心有一天就會丟了工作的焦慮。這樣怎么會好呢?所以說我不喜歡零焦慮的系統(tǒng)。

也許你不喜歡競爭。那么能不能有個少量競爭模式的問答系統(tǒng)呢?一個沒有投支持或者反對票功能的系統(tǒng),這樣無論發(fā)表什么內(nèi)容都不會感覺焦慮。這就像是一個全是你的支持者的網(wǎng)絡,大家都相信你,希望你成功。這當然也是可以的。我認為應該有類似這樣的網(wǎng)站,用戶可以根據(jù)自己的需求與目標來選擇適合自己的體驗。那么 Stack 應該建立一個這樣模式的社區(qū)嗎?這樣的社區(qū)已經(jīng)有了嗎?這是個開放題。也請隨意在留言區(qū)發(fā)表你的看法。

Stack Overflow是為了日常開發(fā)者而設(shè)計的

Stack Overflow的目標用戶到底是誰,這也是經(jīng)常容易被混淆的一點。這個回答很直觀,而且從從未改變過:

一個為專業(yè)和熱情的程序員而存在的問答平臺。這是指:

當前正在從事程序開發(fā)職業(yè)的人,或者如果愿意就能立即勝任程序開發(fā)工作的人。

如果你覺得好奇,這個定義的一部分是公開的商業(yè)決策。為了盈利,你的用戶群體必須要有一部分拿著開發(fā)者薪水的人,或者在找開發(fā)者的工作的人。整個 Stack Overflow 社區(qū)也許有著知識共享的標簽,但是它并不是個非營利組織。我們的出發(fā)點是可持續(xù)經(jīng)營,這也是為什么我們在 Stack Overflow 上線一年之后,就成立?Stack Overflow Careers 招聘平臺的原因,回顧一下,成立的確實有點過早了。為了實現(xiàn)比 2009 好很多的集成化用戶體驗,招聘平臺被歸入了 Stack Overflow,放在了?stackoverflow.com/jobs下面。

用戶的選擇定位并不是說要排斥非開發(fā)者,但是 Stack Overflow 確實是一個有著嚴格同行評審,對已經(jīng)在從事相關(guān)行業(yè)的人來說非常優(yōu)秀的功能,但同時也是對于學生或者初學者來說很不友好的功能。這也是為什么,我每次在推特上,看到有人推薦學生去 Stack Overflow 找答案時,我會小心翼翼的建議不要這樣。對于開發(fā)領(lǐng)域的新手或者學生來說,他們需要的,與 Stack Overflow 所提供的是完全相反的。他們需要的是:

  • 一對一的指導

  • 實時屏幕共享協(xié)作

  • 實時語音

  • 理論背景知識課程

  • 初學者練習

  • 一個練習與實驗的場所

這些都是對初學者來說,很好很合理的事情,但是 Stack Overflow 一個也不做。你可以通過 Stack Overflow 來從頭學習如何編程嗎?理論上你可以通過任何軟件做任何事情,你甚至可以通過 Reddit 與人進行日常交流,如果你是受虐狂的話。但是答案還是肯定的,理論上你可以通過 Stack Overflow 學習如何編程,如果你是喜歡競爭模式(聲望、被關(guān)閉、被踩)的神童,也完全能接受要去幫助別人而不只是自己學習知識這一觀點。但是我強烈不推薦這樣做。對初學者來說,除了 Stack Overflow 外還有很多更好更合適的平臺。那么 Stack Overflow 能不能成為一個適合新手和學生的平臺呢?我不清楚,我也不能決定。

這些就是我要說的。我們可以不再與深淵對視。

我希望我的觀點對 Stack Overflow 不會有什么負面影響??偟膩碚f,我認為目前的 Stack Overflow 很強大。但是,無論是?2008 年還是2018 年,我怎么想有關(guān)系嗎?

Stack Overflow 是你們的。 Stack Overflow 將信念賭在了這一點:信任你的同行。Stack Overflow 的成長離不開那些積極參與社區(qū)討論的開發(fā)者們。是你們讓我相信開發(fā)者社區(qū)是最好的學習與成長的地方。是你們讓我收獲了如此多的對于 Stack Overflow 的贊譽。這不是我的功勞,而是你們的。 很久之前我在 Code Horror 上就知道了合作的力量是多么強大。目前我們的社區(qū)已經(jīng)達到我今生難以企及的高度。我唯一能要求的,或者是我們能要求的,就是大家互相幫助互相成長。 如果有人認可了你的付出,那么你值得為此感到驕傲。

開發(fā)者社區(qū)的力量能夠創(chuàng)造以及終結(jié) Stack Overflow。Stack Overflow 長大了會成為什么?它的未來將由我們共同創(chuàng)造。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉