全站文章 iT邦幫忙
iThome Online提供免費電子報,現在就訂,最新IT訊息每日寄達。

iThome 每日新聞報
iThome 產品技術報
加入iThome Online會員,立即使用討論區、Blog等服務。

免費加入會員
登入 / 登出
管理會員帳號
忘記帳號密碼
聯絡客服
訂閱周刊
讀者服務
13' E政府專刊no.7(48)
13' iTcloud No.3(47)
12' E政府專刊no.6(46)
12' 個資法專刊No2(45)
12' iTcloud No.2(44)
12' e政府專刊No.5(43)
12' 個資法專刊(42)
11' CIO專刊(41)
11' e教育專刊No.3 (40)
11' e政府專刊No.4 (39)
11'iTcloud專刊(38)
10' e教育專刊No.2 (37)
10'e政府專刊No.3 (36)
09'e政府專刊No.2 (35)
09'e教育專刊(34)
09'e政府專刊(33)
08'企業資安專刊-端點安全防護(32)
08'企業採購情報誌(31)
07'資訊安全技術應用專刊(30)
07' 新世代資料中心專刊(29)
07'企業資安技術應用專刊(28)
企業採購情報誌'06冬季號(27)
對Y Combinator的好奇與挑戰
文/林信良 2014-02-14
分享到facebook
技術的投資選擇很困難嗎?回歸原點,順從自己的好奇心,只需為了有趣

林信良
因在網路上經營「良葛格學習筆記」(openhome.cc)而聞名,曾任昇陽教育訓練中心技術顧問、甲骨文教育訓練中心授權講師,目前為自由工作者,從事講師、技術書籍寫作與翻譯,專長為Java 程式開發相關技術教育訓練,研究興趣包括:程式語言、Web 相關開放原始碼框架。閒暇之餘記錄所學,技術文件涵蓋 C/C++、Java、Ruby/Rails、Python、JavaScript 等領域。

各行各業都一樣,必須不斷地學習與提升自身技能,方不至於坐吃山空既有能力與經驗,而面對越來越多的技術、各式各樣的生態,做為程式人該怎麼選擇投資的對象?

跟隨技術潮流只會流於盲目的技術追逐,相信技術預言有時跟擲筊沒兩樣,還得避免誤信神棍謊言;對個人來說,或許技術的選擇不用這麼複雜,只需回歸原點,順從自己的好奇心,並享受打怪的興奮感,一切都只是為了有趣。

技術謎團的DRY原則
身為開發者必然知道DRY原則,也就是Don't Repeat Yourself,程式開發上的重複有各種形式,大多是程式碼上的直接重複,有時是命名或流程,也有可能是架構上的重複,在《The Pragmatic Programmer》中談到「系統中的每份知識都應該是獨特、無岐義並且具備權威性」,身為開發者,對於重複會具有敏感性,無論是何種重複,只要挑動了敏感神經,就會想實行DRY原則來消弭重複。

對於技術的投資選擇,我奉行的是技術謎團的DRY原則,我平常會去跟隨(follow)一些技術網站,這些網站可能是綜合性,也可能是特定語言或生態系,除此之外也會跟隨一些開發者的動態,無論那是透過部落格、專頁或微網誌等平臺,閒逛一些社群討論區也是經常之事,像是JavaScript.tw、Python Taiwan、node.js台灣、TWJUG、AWS、Hadoop、Ruby等各式各樣的社群。這麼多資訊來源,有可能全部消化嗎?當然是「不可能」!

大多數情況下,我都是看看文件標題,如果標題引起了好奇心,就會進一步看看文件中的大綱(就是那些h1、h2或加粗了的文字),沒有大綱的話,就看看前幾個破題段落,如果是社群討論,就看看前幾個討論內容,在這個過程中,有些名詞會躍入眼簾,儘管不知道那是什麼東西,也可能在心中形成了一些小小謎團,有些名詞會模糊糊看懂一些,卻看到更多不同面向的討論與解釋,同一名詞出現的頻率越多,圍繞在該名詞周圍的謎團越多,一而再、再而三的謎團重複形成,直到我不耐煩時,就會想要實行DRY原則,去重構該名詞周圍的謎團。

對Y Combinator的好奇
最近對Y Combinator產生了好奇,不過在談之前,得從過去又開始熱衷Ajax說起,當時得到的概念是,要發揮JavaScript能力,毫無疑問地得善用一級(First-class)函式,例如同樣是迭代清單,JavaScript撰碼風格是使用清單物件的forEach函式,而不是透過for迴圈走訪元素;老實說,一級函式的概念並不難接受,後續在學習Python、Ruby的過程中,初步也認為lambda、Block等都是類似的概念,偶而文件或書中會出現Closure這個神秘的名詞……

只要是將函式視為值的語言中,Closure這名詞就可能會一而再、再而三地出現,而且經常伴隨著「函數式程式設計(Functional programming)」這看似更神祕的典範,好奇心讓我進一步想認真瞭解Closure。有時以為自己看懂了,卻又發現另一種說法,看似清晰而後又模糊的過程一再重複,終究讓我感到不耐煩,唯一能確定的,就是Closure這東西來自函數式程式設計,為了弄懂,與其繞著各種非純函數式語言來摸索函數式程式設計,不如選擇好好研讀Haskell這個純函數式語言。

好奇心促成了對Haskell進一步的瞭解,也意外發現了一片天,純函數式的許多概念,其實與不少程式設計原則不謀而合,於是我想挑戰各種語言來實現純函數式風格的可能性,因而將我網站上〈常見程式演算〉中的題目,分別以Java、Python、Scala、Ruby、JavaScript等語言且運用函數式風格來實現,這真是不小的挑戰,然而中間也獲得不少啟發與樂趣;在研究與挑戰函數式程式設計的過程中,偶而會出現Y Combinator這個名詞!足以引起我的好奇心,不過圍繞在該名詞周圍的謎團還不夠多……


1 / 2 下一頁

分享到facebook

2014資安趨勢研討會
更多研討會
▼ ADVERTISEMENT ▼
▲ ADVERTISEMENT ▲

電週文化事業版權所有、轉載必究 •Copyright © iThome | 刊登廣告授權服務服務信箱隱私權聲明與會員使用條款關於iThome