「計算機誤論」

最近拿到學校發的「計算機概論」我光看了封面上的「Micro$oft ******」就知道大事不好了, 是個怎麼樣的不好呢?我來模仿 "Massacring C Pointers" 這篇文章介紹爛書的方式為大家講解一下。


這本書封面是這樣的:
Cover
由上面的封面可知,別對它有太大的期望。 (無奈.jpg)
讓我們把開頭的 20 多頁廢話都跳過,來看看「電腦硬體架構」這個章節好了,嗯(拉長音),這邊講得還可以,但是,接下來第 45 頁, 講到全世界第一臺硬碟˙(IBM 350) 有 5 MiB 容量,但........這是錯的!實際上, 這個 IBM 350 儲存的單位不是現在的每 Byte 有 8 Bit,而是以 6 Bit 為單位,儲存 BCD (二進位編碼的十進位) 而 5 Millon 後面接的單位可不是 Byte,而是 6 Bit Character,換算下來,實際容量是 3.75 MiB
在下面,它給的配圖中,硬碟的內外圈磁區 (Sector) 數是一樣的,然而現代硬碟已經不這麼做很久了,這也是繼續使用 CHS 磁碟定址的一個問題
往後翻幾頁,在第 68 頁這邊,它說早期的作業系統是文字界面,而現在都是圖形界面,這顯現出一種「文字界面很落伍」的想法, 然而,這也不太對,我也懶得反駁了,我覺得 GUI 和 CLI 完整結合的話,大概就像 Bell Plan 9 這種系統,接下來,隔壁頁的配途中,文字界面系統只是 "cmd.exe" 的截圖(我無言.....) 在 70 頁的配圖中,把 Window$ 的「檔案管理員」和「檔案系統」擺在一起,其實也容易搞混大家。
到了第 72 頁,常見作業系統中,當然有給出 Window$ 嘛,然而,Window$ 1.01 的截圖被標上 Window$ 2.0 的標籤(然而根本沒有 2.0 這個版本,接下來是 2.03), 不過重點來了,這時期的 Window$ 根本只是 M$-DOS 的圖形界面外殼,也稱不上「作業系統」
常見作業系統中,也提到 "UNIX",但........ Research UNIX 都死多久了,早就沒 One True UNIX 了!旁邊也列出 Linux,但顯然列爽的,沒有用, 噢,不,其實下一頁它又說 Mac OS 是基於 UNIX 開發的(我笑笑.jpg)其實呢, NeXTSTEP 或是後來的 OpenStep 才是 UNIX-based 啊, Mac OS 要到第十版 (Mac OS X) 之後才是基於 NeXTSTEP 開發的!
這些我忍了,看到下面的次標題「UNIX 與 Linux」,呃..........你想誤導大家也是可以啦, 翻到後一頁(74)我看到 Ubuntu 就呵呵了,嗯,想讓大家以為所有 Linux Distro 都用垃圾 Unity 桌面環境我也無所謂啦,
看到 Linux 的「開發廠商」這一欄,我有點手癢想填上 "Red Hat" 了,它說「不同版本有不同廠商」,呃.........有種東西叫使用者社群呀!
在作業系統類型(P.77)這邊,單人單工有 M$-DOS,這我覺得可以,不過,這裡出現了一種東西叫做「網路作業系統」,然後我看到了......啊啊啊啊啊不~~~!是 Disco!!!!! (Cisco), 還有 Novell NetWare,接下來,它開始介紹 Window$ 的東西了,噢,我的天。還有磁碟重組,你們知道一個設計良好的檔案系統不需要重組嗎?

從這邊開始,就是程式語言的部份了,準備好了嗎?
它講解譯器 (Interpreter) 的時候,它說早期的 BASIC 都是直譯式的,我馬上給出反例: Commodore 64 的 BAISC 就有轉換成類 Byte Code,甚至連 LISP 都說是直譯式的, 這樣不行喔,連 Multics 系統的 MacLISP 都有 Compiler 了,還有 ITS 系統的 Rabbit 編譯器(這是 Scheme),在現代平台上,Chez Scheme 也是一個高速的 Scheme 編譯器, 甚至 GNU 那邊的 MIT/Scheme 都帶編譯器,你敢說它沒有?
在同個列表上,嗯?這是........啊啊啊啊啊,為什麼 HTML 會變成程式語言啊,人家只是標記語言呀! (Markup Language)
然後,噢不,居然在講 Visual Basic?我可以放心的從五樓走出窗外了,後面呢?我 ----------- (髒話消音)怎麼都是商業軟體(哭腔)~~~?