小說、影視作品歷經多年,其實已經把能講的故事講的差不多了,因此我在欣賞作品時,更關注的是作品能不能講好一個故事,只要節奏好,套路不怕舊。而踏踏實實的運動類型的故事,更是需要將故事講好的能力。
《排球少年》、《桌球》在我看來就是非常優秀的作品,前者單純講排球比賽,一季打一場排球比賽,四季下來估計就三場比賽+一些練習賽,講故事能力爆棚;後者講的是桌球選手,看似講的是桌球,實際上講的是人生,裡面有小有天賦卻不想花時間練習桌球,有天賦全開卻只是想陪朋友打桌球,有天賦平平只是強迫自己通過努力來打桌球的,還有天賦全無,被有天賦的選手打崩的普通人,每個人都是把桌球比賽當成工具,實現自己的人生追求,最後也求仁得仁,認清自己想要的是什麼。
體育比賽其實是最要求天賦的,像《排球少年》,男主角是小矮個,要不是彈跳力max,肯定是當不了扣球手,充其量只能當自由人(守門人)了。在咱編程幾乎不咋需要天賦的背景下,看作品討論天賦以及努力,饒有趣味。各位有空可以看看我提到的這兩部劇。
裡面講到的一個配角叫及川徹,某集標題就是《及川徹不是天才》,主要講的是看起來很強的他,怎麼在幾名天才的夾擊下,發現自己天資平庸,最後接受這個事實。
不過咱們日常工作,編程真的不需要天賦。最近有兩位讀者在群裡討論一個問題:
使用 redis 實現分布式鎖,對有些帶 gc 的語言,存在一些 corner case 的問題。能否使用不帶 gc 的語言做鎖 agent 部署在本機,來規避 gc 的問題呢?
我一看,馬上就能給出解決方案以及點出問題的所在了,為什麼?因為我看過,並且理解記憶了DDIA的作者的文章。並且我知道,他們兩個都沒有讀過這文章,或者讀過沒認真的讀。
下面是我的回覆:
DDIA作者這文章寫過這話題:https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html程序沒gc,日常業務也可能有類似掛了重啟的時候,下面就是解答的摘選:
And if you’re feeling smug because your programming language runtime doesn’t have long GC pauses, there are many other reasons why your process might get paused. Maybe your process tried to read an address that is not yet loaded into memory, so it gets a page fault and is paused until the page is loaded from disk. Maybe your disk is actually EBS, and so reading a variable unwittingly turned into a synchronous network request over Amazon’s congested network. Maybe there are many other processes contending for CPU, and you hit a black node in your scheduler tree. Maybe someone accidentally sent SIGSTOP to the process. Whatever. Your processes will get paused.
無需多言,甚至沒啥可討論的地方,因為這文章久經考驗並且作者跟redis嘴炮了很多回了。
計算機科學早就在幾十年前被研究透了,就像當年開爾文講的,可以用到計算機科學上:
在已經基本建成的科學大廈中,後輩物理學家只要做一些零碎的修補工作就行了。」在19世紀末,多數物理學家認為物理學的重要定律均已找到,偉大的發現不會再有了,理論已相當完善了,以後的工作無非是在提高實驗精度和理論細節上作些補充和修正,使常數測得更精確而已
所以程序開發作為一份工作,就是單純的工作了,只跟打工賺錢有關,與天賦無關。
相比於《排球少年》,咱更需要看《桌球》或者倫理學相關的書籍,尋找並實現自己人生的"意義"。
讀者你贊同嗎?
如果喜歡這篇文章,麻煩大家點讚、好看、轉發三連,拜託了,這對我很重要。(順便收藏下公眾號,下次就可以立刻訪問了)
下班時間,創造不易,還請支持