柊四千
Yesterday @Edit 23 hours ago
[閒聊] 大概在10年前在FB被 mudream4869 點到Facebook但FB對我來說不是個可以輕鬆po文的地方 就決定丟在這裡啦www
下面列出我認為影響自己最大的10本書
另 雖然無法保證 我盡量按照最後一次閱讀的時間來排序
latest #19
柊四千
Yesterday @Edit Yesterday
1. 《漫話瑞士》
作者李元馥 譯者朴惠園 大概是小5左右看的
這本書是我看到的第一個探討「有些國家很富有 有些國家到現在還是腐敗的shithole」的原因
作者認為那些富有的國家貸款給腐敗的國家 腐敗的國家在還款的壓力下 經濟自然無法成長
也提出了「沒有人會因為懶惰而餓死」這個論點
小時候看了非常贊同 覺得那些富有的國家怎麼這麼邪惡 讓那些shithole無法翻身
長大後讀的書變多了 才發現事情從來沒有這麼簡單
就算沒有貸款 也有例子是衣索比亞 只因為外面大量"愛心"捐贈的二手衣物 導致原本的成衣業者大量倒閉
另外書中也多次提及日耳曼的民族性 小時候看了沒感覺 現在回想起來作者根本就在加深讀者對某些民族的刻板印象
柊四千
Yesterday
2. 《漫話義大利》
作者李元馥 譯者朴惠園 也大概是小5左右看的
和上一本不同 這本是個介紹義大利歷史的漫畫
史前到西羅馬帝國滅亡就花了2/3的篇幅 詳細介紹3次布匿戰爭的發生過程與兩次3頭政治
剩下1/3幾乎都給了中世紀 文藝復興 義大利統一
一戰二戰的部分後面直接草草帶過(「戰爭結果大家都已經知道了吧(有個人舉著投降的旗子)」)
btw 義大利統一是四傑而非高中教科書的三傑(多了維克多‧伊曼紐二世 就加里波底將軍引領的紅衫軍打下的土地的獻上對象)
我對這本書的評價還不錯 雖然我沒仔細驗證內容的正確性(?
柊四千
Yesterday @Edit Yesterday
3. 《金庸作品集》
忘了是國中什麼時候看的了 而且我沒全部看完
看了天龍八部 神雕三部曲 笑傲江湖 俠客行
各種場景描寫得還蠻生動的 唯獨讀到什麼"非我族類其心必異"之類的 總有被排擠的感覺
另外 有個都市傳說是 只要讀過金庸 國文作文就沒問題
但我的作文爛透了 學測國文9分的那篇作文甚至只拿了1.5分呢
立即下載
柊四千
Yesterday @Edit Yesterday
4. 《大學入試化學解題全突破》 作者林成彥
國三到高一讀的化學書 涵蓋了高中化學絕大部分的內容
反應速率那邊詳細解了微分方程
設A→P為水溶液中的m級反應 反應速率寫成-d[A]/dt = k[A]^m
書中對m=0, 1, 2解出[A]-t關係 推得m=1時半生期是ln(2)/k與初始濃度無關
另外也用波耳氫原子模型推導了氫原子的能階變化與其放出的電磁波頻率(儘管這個模型是錯的www)
不過這本書的typo頗多 且典型金屬的解說後面放的是過渡金屬的習題(大概是漏了典型金屬的習題與過渡金屬的解說了吧orz)
BTW 我其實也有看張鎮麟的綠皮書與黃皮書
但無奈當時我的物理老師不願意為我解決我讀上面那兩套時碰到的問題(他覺得張就是神棍招搖撞騙) 就選化學這本了化學老師人比較好
柊四千
Yesterday
5. 《C/C++技研手冊》 作者鄧文淵
高一電腦課的指定教科書 也是我接觸的第一本寫程式的書
雖說我會開始寫程式是因為這本書 回頭看起來這本書超爛 例如
(1) 從頭到尾沒提怎麼用compiler 直接用devc++或visual studio的IDE
(2) 把std::cin, std::cout當成指令而不是object 事實上我看完了整本書還是不知道cin/cout究竟是什麼東西為什麼可以被丟進某些function裡面
(3) 怕取變數名稱容易撞keyword建議在所有變數名稱前加上底線字元
(4) 介紹std::string但把它當作invariant 要操作時永遠只用char陣列
(5) 用大量gcc extension (e.g. variable-length array)
柊四千
Yesterday @Edit Yesterday
5. (cont.)
(6) 以為<iostream>包山包海所以可以call strlen 我之後傳OJ時吃CE覺得那邊的judge好爛居然看不懂strlen (因為一般來說確實不應該看得懂啊orz)
(7) 以為strlen回傳int
(8 ) 以為abs在<math.h>裡面(注意甚至不是<cmath>而是<math.h>)
(9) 操作中文字時說 一個中文字佔2個char 其中第一個char小於0 (unix使用者或者char為unsigned的機器的使用者表示???)
(10) 號稱C/C++但只有std::cin/std::cout是C++其他根本C
例如根本沒提std::vector以及排序的std::sort
但就算作為C教科書也完全不合格畢竟C也有qsort
爛書 慢走不送
柊四千
Yesterday @Edit Yesterday
6. 《The Little Prince》
作者Antoine de Saint-Exupéry 譯者忘了www
《小王子》的英文版 高一時英文補習班帶著讀的
其實在小學就有讀過中文版了 當時的心得是「對對對這小王子講得我心有戚戚焉啊大人真的都是一群失去想像力的廢物」
後來高一重新讀過一次 才發現之前根本只是自以為有看懂 書中的「大人」應該在暗諷自以為經驗豐富的老屁股吧
成年人的想像力怎麼可能比未成年人來得差 現在的幻想故事的作者絕大部分都是成年人好嗎= =
題外話 當時英文補習班老師說「我覺得文學這種東西就是要讀原文 不能翻譯的」
嗯您說的確實有幾分道理但《The Little Prince》的原文是法文耶
柊四千
Yesterday @Edit Yesterday
7. 《算法竞赛入门经典》 作者刘汝佳
高二誤打誤撞進了資訊科進了全國賽 接著化學奧林匹亞選訓營嚴重失誤沒上 再接著入營考莫名其妙用DFS在40分內喇了36分拿下76/100進入1! 開始讀的
雖然裡面習題的品質還不錯 刘的coding style爛透了例如
(1) 在C code裡面寫int main()而不是int main(void)
(2) 寫C++了但不用vector而是開固定長度的global array
(3) 使用古時候的gcc-extension (minimum/maximum operator)
另外 雖然不是這本 作者在續作放了這段純粹寫身體健康的code@xavier13540 - [閒聊] 重造輪子我以前寫code的壞習慣 很大一部份要歸咎於這本書
柊四千
18 hours ago @Edit 17 hours ago
8. 《Linear Algebra》4/e 作者Stephen H. Friedberg et al.
這本是大一自己看的 但前情提要有點長www
高一時自修看完了高中數學 暑假去上大一微積分先修班 學會了極限的ε-δ語言與單變數的微積分
但高二在中山大學/高雄大學的科學班學線性代數時嚴重卡關
先講體和向量空間的定義 我還能接受
但在舉向量空間的例子時 出現了ℚ[√2]和𝒞[0, 1]這種看起來怎樣都跟方向都無關的東西了
接著進入子空間與dimension theorem
雖然證明理性上看懂了 我卻是怎樣也不知道
dim(T) = dim(ker(T)) + dim(im(T))
這個式子到底該怎麼直覺地去理解
想說上大學後好好學應該就能學會了吧 事實上我在高中時最想上的大學課程並不是微積分而是線性代數
柊四千
18 hours ago @Edit 18 hours ago
8. (cont.)
之後在師長親友的各種壓力下填了醫學系
當時醫學系有小迎新 北中南各一場 我參加了南部那場
小迎新主要是在介紹醫學系在幹嘛 有哪些課之類的 而我是去了才知道NTUMED修的居然是微積分乙 還只有一學期 且必修課完全沒看到線性代數
有個和學長姐聊天的環節 我問了直屬學長醫學系有沒有線性代數 「學弟 你跑錯系囉!」
本來想說好吧那我至少可以選課吧 結果衝堂 只有數學系的微積分甲排得進去
(已經寫得有點多了卻仍沒講到怎麼讀到這本書的 這邊容我再岔題一下www
當時星期二的34節是醫學系微乙 56節(現67節)是數學系微甲 本來打算兩門課一起修
先聽了早上的微乙課 老師只講了什麼是函數 可以一對一多對一不能一對多這種國一就該會的東西
本來還以為醫學系的微乙會跟數學系的微甲差不多)
柊四千
17 hours ago @Edit 17 hours ago
8. (cont.)
(我非常失望 但更勁爆的在後頭 下課後居然有女同學問"你們聽得懂剛剛老師在講的東西嗎? 我完全聽不懂耶!"
媽呀妳當初究竟是怎麼考進來的= =
接著是下午的課 老師在介紹了無限旅館悖論後 就進入了這個悖論的數學描述 也就是無窮集合的大小比較(在這之前我還以為"無限旅館悖論"只是個趣味問題)
由於太有趣了 下課後我馬上退了必帶的微乙 等第3週人工加簽微甲 )
當時跟幾個人合買了這本數學系線代 以及物理系的力學與電磁學的指定用書
不過實際有被我翻完(事實上還翻爛)的只有這本線代wwwwww
代價是當我真的有slot把線代排進課表時(大三) 我早就會了
BTW 我現在看起來
dim(T) = dim(ker(T)) + dim(im(T))
這條式子根本超直覺超簡單的
柊四千
16 hours ago @Edit 16 hours ago
9. 《C++ Primer》5/e 作者Stanley Lippman et al.
碩一暑假的intern沒上 理由是不會的東西太多被reject 便認為應該要讓自己有一個很會的東西
剛好有次看到這篇 卻完全看不懂作者在幹嘛
決定來認真學怎麼把C++寫好 就入手這本了
這本書預設讀者學過至少一種程式語言 包含設定變數與呼叫函式 並知道如何compile/run自己的code
所以並不適合給完全沒寫過code的人來讀
事實上第一頁就長這樣wwwwww
https://images.plurk.com/sPuNERy3SrRRwtisrn7ha.jpg
柊四千
16 hours ago @Edit 16 hours ago
9. (cont.)
這本書總共19章
第1章是緒論 但我還是讀了這章才知道世界上有個compiler叫cl.exe
第2章是變數與type 介紹reference/pointer/const/constexpr/auto/decltype declaration與definition的差別 one-definition rule 以及怎麼撰寫header
對了我讀了這章才發現long long是c++11才有的東西
第3章是string/vector與用它們的iterator來枚舉裡面的東西 以及傳統的array
第4章是各種operator 特別的是 為了解決compiler怎麼看得懂
(erf(mid/sqrt(2))<.95? lb: ub) = mid;
在這邊就引入了lvalue/rvalue的概念
柊四千
16 hours ago @Edit 14 hours ago
9. (cont.)
第12章介紹smart pointer 怎麼new一塊記憶體 以及怎麼delete/delete[]一塊記憶體
第13章總算知道move semantics在幹嘛了(所以連結那篇爛透了 我來介紹會先手爆一個簡單的VLA寫好搬移操作再推廣到STL)
也知道c++的各種container是怎麼做deep copy的了
(提醒一下 python沒辦法輕鬆做到唷 想zero-initialize一個55的list 寫5[5*[0]]會得到5個指向同一個[0, 0, 0, 0, 0]的垃圾唷 )
以及自己手爆BST時 該怎麼做才能避免use after free之類的鳥事
第14-16章是user-defined operators, OOP, templates 基本上很完整了
柊四千
15 hours ago @Edit 14 hours ago
9. (cont.)
話說我看完了整本 還是不知道為什麼當初c++要加入class 而不像rust一樣續用struct
明明struct也能設定private或protected
(嘿對所以我寫c++ code時就繼續用struct 也沒因此出過什麼問題)
另外這本書也是有些缺點的例如
(1) 認為goto bad bad 但沒給跳出nested loops的替代方案
(嘛我自認算goto的愛用者啦 但我自己在寫C++ code時也很少用到goto )
(2) 認為in general寫code時應該用set/map優先於unordered系列 除非效能上有concern (啊就真的有concern啊)
(3) 在所有可能的值都是0.01的倍數下 把double當成unordered系列的key值
柊四千
15 hours ago @Edit 14 hours ago
9. (cont.)
講個無關的 很多人認為第一個程式語言應該要學python 私以為根本是胡說八道 怎麼想第一個程式語言都應該是C
以下各種python的pitfall (1)「交換兩個變數a和b 只需要寫a, b = b, a就行了 這就是parallel assignment的威力啊」
直到有天寫出了i, djs[i] = djs[i], r這種code
(2) 稍早前提到的5倍指標問題
(3)「宣告了一個變數a後 可以用del a來刪掉a唷」
然後發現可以寫
a = [1, 2, 3, 4, 5]
del a[1: 3] # [1, 4, 5]
(事實上del a[1: 3]其實是a.delitem(slice(1, 3)) 但我沒看到有python書會在剛開始就講清楚這件事)
柊四千
13 hours ago @Edit 13 hours ago
10. 《槍砲、病菌與鋼鐵》
作者Jared Diamond 譯者王道還 廖月娟
大一上社會學丁時就聽過這本書 但直到碩班畢業後才買來看
這本從各種角度解釋為什麼當前世界主要由來自歐洲的白人主導
用大陸軸線(i.e. 歐亞橫向 非洲美洲縱向)解釋作物傳播的速率
也解釋為什麼歐亞擁有最多的大型家畜 進一步影響之後的歷史發展
對了沒記錯的話我同時也買了《拉丁文帝國》 但那本難啃到我第一頁就看不下去了
柊四千
13 hours ago
話說根據原本的規則似乎要點10個人不過就算了吧好累
back to top