程序員:你知道何時停止學習新語言嗎?

我花費了一年多的時間,不斷地學習新的編程語言和框架,鬼知道為什么有這么多新東西可以學習。對于每一種新的語言或框架,我自認為獲得的價值有可能超過迄今為止學到的任何語言和框架。不過,事實似乎正好相反。
我從一個新的語言或框架得到的價值可能根本不值得花時間來學習它。隨著每一門新語言的學習,我都會問自己:學習這門新語言是否值得花費這么多時間呢?
事實證明,這個問題是普遍存在的——程序員和編程語言之間的關系就如同賭徒與老虎機之間的關系。
老虎機是一種用零錢賭博的機器,因籌碼上有老虎圖案而得名。老虎機曾風靡一時,尤其是淘金熱浪下的各大娛樂場所。其上有三個框顯示圖案,投幣之后拉下拉桿。如果三個框中的圖案相同,則賭徒贏錢,否則不贏。
程序員面對著眾多編程語言就好像賭徒坐在一排老虎機前面,賭徒的目標是在這些老虎機上獲得盡可能多的價值。沒有其他顧客會告訴賭徒哪些老虎機是好的,哪些是壞的,哪些中獎概率高,哪些投入高。為了找到最好的機器,賭徒必須嘗試不同的老虎機,并對結果進行比較。
賭徒可以選擇繼續使用目前測試出來最好的機器,或者選擇一個新的拉桿。拉一個新的拉桿有可能獲得有關另一臺機器的信息,但有一定的機會成本。并且,結果是未知的。如果結果不太好,那么很可能犧牲了最好的一個機器,而為新機器付出了代價。反之,這臺新機器可能比任何機器都要好,但在拉桿被拉出之前,賭徒并不知道這一點。