| StackOverflow:IT編程人員的社交網絡 |
| 送交者: 茶樹油之家 2011年08月22日22:03:51 於 [教育學術] 發送悄悄話 |
軟件開發的主要工作是編程,我從小十分喜愛電腦上的軟件開發,這個小我指的是最早在大學裡接觸大型計算機,當時用穿孔卡上機,後來開始使用IBM的個人電腦,PC。記得當時中國人十分聰明,發明了GB碼,採用雙位ASCII碼來表示中文,結果不需要特殊的硬件和鍵盤,直接在DOS下就可以輸入和顯示中文。 我在這裡並不是要回顧電腦編程的過去,作為軟件開發工程師,大多數人的共同感覺是幹這一行雖然的確十分有趣,但是必須不斷地更新新的技術。風靡一時的技術、語言或系統,也許沒過幾年就會成為陳舊的語言是技術,新語言尤其是技巧、技能不斷出現,編程人員需要緊緊跟上學習更新。這張不斷地學習知識,提高技術能力,對於許多人來說卻是一個十分頭疼的事情。如果你還不知道什麼是StackOverflow (簡稱SO,我估計大多數人都通過谷歌搜索見過,但不一定知道其真諦),下面我給編程人員介紹這個可以藉助高手尋找編程答案和學習新技術和的捷徑。 StackOveflow:編程人員的社交網絡 我喜歡收聽各種podcasts,相當的一部分是有關IT和軟件開發的,我從中得到許多新技術的動態和資訊。幾年前我從一微軟高手的播客中聽到介紹SO,我還清楚地記得,當時創辦這個網站的團隊力圖創建一個能夠讓編程人員相互交流幫助的Q&A(問與答)網站,他們說雖然有不少軟件高手樂於寫博客,參加各種論壇或討論區,但實際上有相當人數的高手既不寫博客,也不怎麼參與各種論壇,一是這些奉獻的努力很難持久,二是網絡上的服務都不是那麼方便即時。因此他們提出一個讓編程人員自主參與和相互評分的網站服務,他們設計了一系列獎牌等級,根據不同的參與,參與者可以得到相應的積分和獎牌。這種民主的投票方式和公平的獎牌制度可以反映參與人員的水平,同時也創造一個競爭的環境。結果這一服務經過宣傳推出之後,網站的服務器第一天就爆滿,SO立即在軟件編程人員中掀起一股熱潮,受到軟件專業人員的追捧,很快在許多軟件影響圈受到推崇。 聽到這一新的網絡服務網站的消息之後,我當晚回到家後即刻查詢,結果發現這的確是一個非常有意思的網站。 登陸的方式是採用各種網站支持OpenID的登陸名,不用另起用戶名和密碼,而是採用其它網站的OpenID來登陸。一經註冊之後,註冊用戶即可提出和解答問題,也可以對各種討論,並可行駛其權力給提問、解答和評論加分或減分。每年SO有一次投票選舉,用戶提名或自願申請管理委員會,經過熱烈的討論之後,被推選上的人員開始行駛管理和仲裁權力。 我立刻被SO所吸引,我發現SO是一個非常棒的資源。我一開始定下的原則是不是追求得分的高低,只是充分利用這個網站解決我工作和學習中遇到的各種編程難題。我結果發現SO的解答是相當迅速的,一般的情況下,在5到10分鐘之內,我就得到各種答案,許多答案都是高手的解答,這些解答都是我做不出來的。因此我開始形成一個習慣,如果有一個難題我一時找不到答案,或者我不確定是否是最佳和簡練的方法,10分鐘到半個小時內我解決不了的問題,我馬上上SO提出問題。有時,我晚上在家上SO瀏覽或提出問題,有時睡覺想着整理我的問題思路和條理,第二天提前起個大早趕緊上網提出問題,等我趕到公司上班,打開電腦,我就得到讓我叫絕的解決方案,我有時情不自禁“哇!”的一聲大叫,引起周圍的人員不解皺眉,但我即刻就可以迅速展開我的工作。 SO對於我們這些非英文的IT人員來說,這也是一個非常好的鍛煉英文能力的地方,通過提出問題,可以學會如何將提出的問題表述清楚。有時有些問題是比較難以清楚表達,這時就需要好好整理自己的思路,將問題簡化,而不是將實際問題或無關的枝節全盤托出,經過思路理緒,這樣提出的問題效果最好。 通過SO上的交流,我也學會了如何和其他網友的友好往來,一般我對於能夠給出提示和答案的人都加一分,但不急於確定誰是問題的最終答案(被確定答案的人可以得兩分),而是耐心等待,有時會得到更好的答案。另外對於有些問題,也許會得到評論,這時需要解釋互相往來。有時發現提出的問題文字或邏輯有問題(尤其是長時間沒有答案的情況),這時就需要編輯修改。我認為SO一個非常好的練英文園地,這種相互真人之間的交往是不可多得的學習和鍛煉的機會。 Q&A實例 這裡舉一個我最近在SO上提出的一個有關如何使用VIM替換的問題。VIM是計算機編程最古老和功能最強的文字編輯系統,我想使用該軟件的功能將一段文字用替代的功能轉換為一段C#程序的編碼。我認為我的問題是VIM的高級替換技巧,在谷歌上很難找到解答。下面是我的問題圖像表達: 上面的圖像都是我提問中寫的編碼過程,SO提供非常好的編輯系統,主要是針對程序問題。這裡介紹一個小技巧,如果鍵入四個空格,之後的文字就會自動轉換為編碼的顯示,這樣很容易寫部分編碼的實例。 結果幾分鐘之後,我立刻得到答案。我提出這個問題有兩個目的,第一是希望得到解答,第二個是我的主要目的,希望通過各種答案用實例學習VIM的高級替換功能。結果我仔細研究學習這些實際的答案,我理解和掌握了VIM的高級替換技巧,在非常短時間內長了不少知識。 SO和相關網絡社交是非常豐富的資源 我使用SO多年,我不是追求得分,而是利用其解決我編程中的許多難題。但從中,我發現許多人都是熱心的軟件高手,看看他們的得分和覆蓋面相當廣的知識技巧,我都讚嘆不已。在這個過程中,我的積分也逐漸提高,截止目前為止,我在SO上的積分是2391。這些都是其他編程軟件人員給與的評分,綜合各種因素,我目前在SO的綜合表現名聲為前15%排名內。據說,在美國,許多公司甚至將SO的得分作為找工作的標準和基本要求。如果連SO都不知道,作為編程人員,在社交和網絡搜索方面的能力也許要打一個大的問號。 SO只是屬於編程人員的問答社區,其它問題不能投入,否則會得到減分,問題和解答將會被刪除。但SO的巨大成功,相關的社會網區現在也陸續推出,比如如何使用電腦的社區,系統管理社區,甚至出現其它的社區,如數學,英文,等等。相比較而言,SO仍為最活躍的社區。另外SO的每個用戶都有RSS feed,如果你對那些高手感興趣,希望跟蹤他們的提問和活動,你可以訂閱這些RSS。 數年前,SO的成功,引起了中國軟件編程人員的極大興趣,有一些人主動與SO聯繫,希望推出中文的SO,建立姊妹聯繫,但我在SO的播客中聽到主辦人推辭了這一要求,他們認為編程的基本要求是英文,並不認為中文可以作為一種語言來討論編程問題。我當時不敢苟同,但SO堅持對此提議不感興趣,結果這幫中國軟件高手們複製了SO的模式,在中國建立了為中文編程人員開創的社交網絡。我當時立即登陸註冊,但是幾年下來,中文的SO的確是冷冷清清。希望國內的編程人員積極參與,能夠開創一個為會中文的編程人員有價值的專業社區。 SO的模式也許是仿造其它已經存在的網絡社區,也許SO的巨大成功讓許多類似的讓參與者組織的網絡社區陸續出現。不論怎麼說,我是非常喜歡這一社交網絡,我從中得到不少收益。 結束語 電腦技術的發展雖然日新月異,我們各種不同層次的使用者都會遇到各種疑難問題,如果按照傳統的方式,自己苦思冥想,或者閱讀大量文獻圖書,上網從茫茫大海中尋找,這都是一個非常花精力和時間的艱苦過程。人的一生時間短暫,如果我們能使用社交網絡的力量和智慧,幫助我們解決問題,迅速學習和交流技術和技能,我認為在某種意義上是延長了我們的壽命,因為我們可以在短時間內可以解決問題,豐富我們的知識。我是以提出問題為主加入SO社區網,在這個學習、使用和分享的過程之中,我發現我的問題越來越少,正是我從中得到巨大的好處,我現在也開始利用空閒時間來幫助其他網友解答問題。 對於許多中文為母語的IT編程人員來說,希望你能發現SO會給你的工作和學習帶來無窮的收益。我從社交網絡中得到收益,因此我的簡單格言是: 生活是美好的,分享使得我的生活更加豐富美好,讓我盡情享受和分享美好生命的時光! Life is beautiful, and sharing is wonderful. Enjoy and share my life! 參考資料
![]() |
|
![]() |
![]() |
| 實用資訊 | |
|
|
| 一周點擊熱帖 | 更多>> |
| 一周回復熱帖 |
| 歷史上的今天:回復熱帖 |
| 2010: | 真地讀過odyssey的同學,可以探討如下 | |
| 2010: | 關於老萬,俺覺得可能是他跟某個上海人 | |
| 2009: | 對思維調查之21 - “應用哲學”:民族 | |
| 2009: | 大家幫幫“言真輕”及其他一樣困境中的 | |
| 2008: | aa88:從“加油”的英文翻譯談起 | |
| 2008: | 鏘鏘奧運行:聊劉翔(111) | |
| 2006: | 替“長江”教授們說幾句公道話 | |
| 2006: | 北大,亮出你的證據來! | |



軟件開發的主要工作是編程,我從小十分喜愛電腦上的軟件開發,這個小我指的是最早在大學裡接觸大型計算機,當時用穿孔卡上機,後來開始使用IBM的個人電腦,PC。記得當時中國人十分聰明,發明了GB碼,採用雙位ASCII碼來表示中文,結果不需要特殊的硬件和鍵盤,直接在DOS下就可以輸入和顯示中文。



