我主要想說的是,大多數想在 Python 做的邏輯流程,你都能直接在 F# 裡面用類似的思考流完成(Scala 也是)。
例外是 F# 中迴圈沒有 break,沒有 return,也沒有多重繼承。但習慣後就知道如何轉換。
反過來, F# 有了一些思考單元,在 Python 中則要被迫展開。
Go 則完全不同,如果你用 Python 的思考方式常常會不容易實作。通常你也不應該這樣做(雖然我之前就這樣做,但能做不表示要做,hack 本來就是要嘗試不該做的事)。
Go 的思考流跟 C 比較像,而且拿 C 的想法來寫 Go 會很輕鬆,因為可以寫得更簡潔。當然原本就是用 C 的想法寫 Python 的人就沒差(用 C++ 想法的人有差,物件導向)。
Jonathan 時常叮嚀 Clark 不要顯露他的能力,因為 the world is not ready.
很多人會覺得你就像正常的超人一樣不就好了?到處救救人,成為超級英雄,大家不就會相信你了?搞什麼悲情捨身救狗,簡直太腦殘了。
其實捨身這件事情,有點像是干將莫邪的捨身煉劍,有種藝術上的必須性。 Jonathan 心中的 Clark 就是將來必有大成的偉大寶劍一樣。原料是有了,但是靈魂還沒有完善。
如同 Jor-El 一樣,Jonathan 也將 Clark 視為未來,自己信念的延續。
Jonathan 問 Clark,難道種種田不也是幫助人嗎?為什麼一定要用超能力來救人?
他的意思並不是要 Clark 待在小鎮一輩子不出去。
他的問題就只是一個問題。 如果 Clark 連這麼簡單的問題都無法很有信心、很清楚的回答,那他還沒有準備好。
世界還沒準備好沒錯,但世界永遠也不會準備好。 問題不在於世界是不是準備好了,而是你有沒有準備好面對這個不理想的世界。
可能有人會說,能力那麼強,是要準備個什麼啊。
打個比方,每天能治好一個人的疾病,什麼病都能治好。這能力夠強了吧。但你要怎麼決定哪一個人該活?先不論到時候黑道特務什麼的把你抓走,脅迫你這回事。你先要面對的是自己的良心,我真的選擇了最該幫助的人了嗎?
好吧,你可能會說,這是能力不夠強的緣故。那讓我加強一下你的能力。你每天可以選擇跟以前一樣救一個人,或者救最多十個人,但之後三十天都不能救人。這時候當有人求你多再救一兩個人的時候,之前你可以攤手說抱歉,剛才用掉了,明天請早。現在要怎麼說?因為你還不夠慘,一個月內還會有比你更需要幫助的人的機率是 0.673。
要不要再讓你更強一點,可以選擇一天都不救人,把名額存起來,可以給你利息喔!
能力越強,煩惱會越多。心理如果不夠成熟,最簡單的作法就是完全把良心丟掉,很簡單的訂個價格,一千萬起跳下標,價高者得。 額外名額三億起跳。
對巴士見死不救,也許有點慘忍。但重點倒不是救或不救,而是他是否有辦法承擔自己的決定。
更何況,前面還只是自己內心部份。直到電影最後,軍方都還對他不完全信任。
所以小時候的 Clark 會害怕的把自己關起來,說世界太大了。他的養母給了他不錯的回答,後來牧師也給他不錯的回答。他的養父也以生命做例子,告訴他堅守自己的信念,可以到怎麼樣的地步。但養父不直接給他答案,因為只有他自己去找,才能找到自己的答案、自己的定位(而不是被指定的答案,被指定的角色。不然就像原克利普頓星人一樣了)。
當然很離譜的是, Clark 居然能遇到這種干將莫邪等級的養父母。也許就像時生一樣吧,父母其實也會與小孩一同成長。