一知半解的感覺真差

要嘛完全不知道,要嘛表現的盡量專業,卡在中間真的是感覺很差——尤其是你很清楚知道自己處於一知半解的狀態。

舉例來說,當我被問到哲學相關問題的時候,就會覺得感覺很差,因為我沒學好,所以我清楚知道自己對這些議題一知半解。我可能只對一些專有名詞跟哲學家有印象,但真正重要的內容卻完全忘記了。

比如說什麼「存在就是被感知(to be is to be perceived)」,我記得有這句話,我記得好像在哲學概論這堂課上面有學過,如果你講幾個哲學家的名字,我可能可以想起來是誰說的。

但要我解釋這句話,我只能像個普通人一樣講自己的想法,而不是那些哲學系曾經教會我的,更有系統性、更有立論基礎的答案。

每到了這種時候,都會暗自想說:「應該把哲學系唸完才對…」,但也只是這樣想而已,畢竟已經被退學很久了,要我重考一年然後再唸四年,我是絕對做不到的。

技術上也是,我也不是一開始就想要追根究底,例如說被問到什麼 JavaScript 有關的 hoisting 問題,我想說不就是跟變數提升有關嗎?就是那個 var 會被提升的現象,頂多再問個變數跟函式提升的順序。

但是當有人問你:「那原理呢?那這個 let 的範例你怎麼解釋?」的時候,會發現自己答不出來。這時候感覺就很差啊,就好像不上不下,你又不能說自己完全不懂這個議題,但也沒辦法自信地說出:「我懂 hoisting」,因為知道自己只有理解一部分而已。

若是完全不懂,就可以用學習的心態去面對,例如說有人問我:「你知道北歐神話嗎?」,我就不會感覺很差,因為我本來就不知道。

但當有人問我:「在 JavaScript 裡面 [] == ![] 為什麼是 true?」的時候,我只能回答:「因為型別轉換,但我不確定明確規則」,就會覺得自己對這個主題只有一部分的理解。

有些人研究這些是因為面試會考,是因為別人跟他說「這很重要」,但我不一樣,我只是因為一知半解的感覺很差。

會造成感覺差的主因,其實是被提醒了:

明明有學好的機會,卻不去把握

既然都知道是型別轉換了,為什麼不乾脆去熟悉規則,去查清楚?不知道某個知識,是因為沒有看過沒有聽過,但對於某個知識一知半解,就代表曾經學過,可是沒有追根究底,沒有把握這個機會學好,才會一知半解。

這就是為什麼我後來都盡量追根究底。

因為追根究底可以帶來快樂,也帶來自信。

追根究底

追根究底有兩個好處,第一個是脫離了對於知識的不確定性。

例如說一開始透過別人的文章學習 hoisting 這個概念,獲得的是二手知識,這個知識正確的前提建立在這篇文章寫得沒錯,也建立在是否相信寫文章的這個人。

然後寫文章的這個人,也很有可能是透過別人學習的。所以很容易發生道聽途說的情況,一個錯誤的知識傳遍全網路,因為大家都是參考同一個錯誤答案。

當你追根究底,找到一個權威性的參考資料以後,你可以很自信地說出:「這絕對是正確的,因為我是看 ECMAScript specification 學習的。」

這就為什麼我的技術文章都盡量附上參考資料的出處,以及參考原典時的章節及段落,就是為了方便大家也去找原典來看。與其無條件相信我的文章,不如去找原典來佐證,確認兩者相符之後再相信我講的是對的。

第二個好處則是你掌握了知識的全貌,再也不會發生「只能答對一半」這種情況了。當別人問到你 hoisting 的問題,你就可以直接講 ECMAScript 裡面寫的敘述跟運作順序,保證是個正確答案。

上面兩個好處也會帶來自信,因為你知道自己是對的,是真的理解這個議題。

我第一次享受到追根究底的好處,應該是高一還高二的時候。

我從以前就是個不太注重成績的人(為我減少了很多的痛苦),那時有些科目被當了,可是不想重修。被當沒關係,學分沒拿到沒關係,我高中的目標只有一個,就是有畢業就好(但後來發現就算沒畢業,只拿結業證書也可以唸大學,之後就覺得沒畢業也沒差,可以唸大學就好)。

因此我就認真去研究了一下高中的畢業規則,看一下是不是一定要重修才能畢業。不查還好,一查驚為天人,得到以下的結論:

高中三年大約修 192 個學分,只要 160 學分就可以畢業,換句話說,你可以被當 32 個學分

當年查完之後我把心得寫在這裡:有關於成績,過了這麼多年,之前意外發現在 Google 搜尋:「高中 被當」,可以在第一頁(甚至第一個)找到這一篇,看來我造福了莘莘學子,讚讚讚。

既然目標只有畢業,那就不用去重修了,只要保證自己不要被當超過 32 個學分就好。沒記錯的話,高中三年下來大概被當 30 學分左右,低空飛過,順利取得畢業證書。

也是差不多在那個時期,發現自己對於一些知識的…潔癖?對我感興趣的東西,我會很想知道它是不是真的,而不是道聽途說,以訛傳訛而來。

舉例來說,我在高中的時候就發現公民課本上面教的「一隻看不見的手」的原意根本不是什麼「市場經濟」這麼簡單。我也忘記當時為什麼會開始查這個,可能在哪邊看到有人提到,也可能我自己對於這個詞感到好奇。(延伸閱讀:【林鐘雄經濟特別專欄】「一隻看不見的手」到底是什麼「碗糕」?

總之,我後來跑去找了《國富論》,直接去看當時 Adam Smith 寫什麼,甚至還跑去找了原文的電子書對照一下。發現這個驚人的事實之後,跑去找了公民老師,開心地分享我的發現,但我也忘記當時他的反應是什麼了,大概就是嗯嗯喔喔不錯喔,從此就忘記有這件事。

畢竟不是每個人都會這樣,都會想知道知識的真確性。而且我們擁有的知識太多了,也不太可能去確認每一條知識。

就像是傳說中的伏爾泰名言:「I disapprove of what you say, but I will defend to the death your right to say it.」也不是他本人所說的一樣(參考資料1:ptt 文章參考資料2:維基百科,上面有附原文出處)

很多人可能會覺得說:這重要嗎?

這不是重不重要的問題,是對或錯的問題。若是你本來不知道也不想查,那完全沒問題。可是一旦你知道這是錯的以後,我覺得就應該改用正確的說法。

如同前面所說的,不可能去確認每一條知識,因此我後來只會對「思考過後覺得很奇怪」或者是「很特別」的知識去做確認,確保得到的知識是正確的。

例如之前聽到同事說菲律賓不能離婚,覺得滿特別的,就會特地去查一下。

對於一些常被拿來揶揄的東西,我也會試著去找原出處,看看是因為斷章取義,還是真的就是那樣。例如說我以前研究過常見記者梗圖的真確性,去看看在完整的脈絡下,蠢問題是否還是蠢問題,還是只是因為截圖的關係而已?

也曾經幫阿基師翻案過,去找當初記者會的影片,還自己打了逐字稿,證明他根本沒說過「咻的滑進摩鐵」這句話,只是八卦版鄉民捏造出來的而已。

當然,以上一些「我自以為正確的知識」也有可能只是另一種斷章取義,但我認為有多少證據說多少話,上面的記者梗圖跟阿基師翻案我都去找了最原始的資料,若是有人有更有力的證據,那歡迎打臉,我也會很開心得到了更正確的知識。

上面講的跟開頭所講的那些其實是不同層面的東西,一開始所說的那些一知半解,是「你知道自己不知道」,但後面講的這些是「你不知道自己不知道」,舉例來說,「我知道我不知道 hoisting 的運作原理」以及「我不知道原來阿基師滑進摩鐵不是他說的」。

但無論是哪一種,我都很想自信地說出「我知道」。

用這篇文章記錄一下自己對於知識的看法,也順便鼓勵大家有機會的時候可以好好檢視自己的知識。

最後我想順便提一下,其實追根究底這件事,光是「底」在哪裡就有點難界定了,舉上面講的 hoisting 為例,看規格就是底了嗎?可是如果有人問我:「那在編譯器裡面是怎麼實作的?」我可能答不出來,那到底怎樣才算是底?

我不知道,但或許這個「底」可以是動態的,我先研究到我認為的底就好,如果之後有更深的底,那再往下研究。在碰到更深的以前,都先認為自己應該追根究底了。