引文——平行計算的學習之殤

yyzdtc2009發表於2015-06-09

軟體程式設計這件事情,到了現在這個時候,已經變得和往日有了很大的不同。隨著網際網路上程式設計資料日益膨脹,學習程式設計或者軟體開發變得越來越簡單,只要真心喜歡做這件事情,就一定能夠找到適合自己的教程,指導自己邁過那些看似虛無的門檻;另一方面,資料的紛亂導致每個初入這個行業的人都有一串一望無盡的閱讀列表,從另一個角度來看又在無形之中增加了學習的難度。
以上這種現象在平行計算這個領域更加突出。當你下決心進入這個領域的時候,你可能會遇到以下這種情況:

  1. 無限理論型。無限理論型指的是剛剛開始學習平行計算從理論開始入手時所面對的無邊無際的理論知識,比如併發啦、通訊啦、網路啦、事務啦等等等等。如果說沒有紮實的程式設計功底和語法基礎的話,可能這個“無邊無際”還會增加很大一部分。
  2. 無限框架型。現在很多地方都會用“雲端計算”、“大資料”這種詞語把平行計算一股腦的包含進去,於是我們在搜尋引擎中尋找指點的時候,“如何學習平行計算”就會被不知不覺改成“如何學習hadoop”、“如何學習spark”、“如何學習xxx”...這對於新手來說是一件非常恐怖的事情。每個框架、平臺都有其豐富的技術體系,深刻的技術理念設計哲學,以及繁雜的API。並且如果不進行真正的實踐,這些類似操作手冊似的知識很容易遺忘,更為可怕的是,這些開源的工具似乎還在不停地更新或增加......很多雄心萬丈的新人在面對這些東西的時候難免望而卻步。

我自己在學習平行計算的過程中走過相當大的一段彎路,也曾付出很多艱辛卻收穫寥寥,也曾經在專案開發過程中被各種各樣繁雜的技術框架壓得喘不過氣來。被這些理論和框架摧殘到現在,我不禁思考:難道就沒有一種真正行之有效的方式能夠快速進入這個領域進行開發麼?難道這個領域註定是那麼高高在上難以進入麼?我堅信一切事物都是有其本身的規律的,所以決定寫一些東西,希望幫助一些新人能快速融入到平行計算的領域裡,享受這個領域的瑰麗和壯美。

在之後的內容裡,我將通過一些場景、一些樣例、一些感悟來講述我自己的理解,就好比《名偵探柯南》裡一集解決一個案件那樣,對這個領域中紛亂的知識進行梳理。

相關文章