作為計算機相關專業學生,當我進入大學計算機課堂之後,卻發現所學的東西並非我憧憬的那樣豐富多彩,當計算機原理教材發到手中,曾經作為學霸的我照例提前預習,結果是,非常枯燥乏味。讓我感到最迷惑的是,書中出現大量的、我從未見過的詞彙和知識點,而很少提及這些知識點具體是怎麼被應用的,怎麼被發明或者發現的,為什麼會是現在這樣、為什麼就不能是那樣,而且這些知識點給我的感覺是離散的,他們之間的關聯到底是怎麼樣的,我很想弄明白。我感到大學計算機教材中的知識體系與高中基礎學科知識體系有明顯不同——你需要具備太多讓人絕望的知識背景。高中的數理化等基礎知識不會因為某個人的設計而改變了它的底層機制,丁是丁卯是卯。而計算機完全是人為設計出來的,學習的時候,就會想不通,我到底為什麼要去學習這些「超自然」的知識呢?只是某個或者某些人設計出來就可以強塞給我麼?我一度感覺非常迷茫。
但是藉助高中的學霸基礎,我並沒有被這種迷茫所左右,我依然跟隨著課堂,並沒有掛科或者厭學,我只是在嘗試思考這些問題,嘗試找出其中本質所在。我是在大二期間隱約有了一些系統化的思考結果。我覺得以下幾點是導致我迷茫的關鍵點:
1.沒有目標或者場景的單向知識灌輸。比如講軟體工程以及開發項目管理的時候,概念先灌輸了一大堆,大多數東西對我來說神秘莫測。理想的方式,是給出一個場景,比如從一個idea開始,到一個產品基本構思,然後落地到實際的開發任務,在模擬開發過程中,逐漸引出軟體工程以及項目管理方面的各種知識,猶如徹底體驗了一次,形成深刻印象。這就是我認為的所謂場景教學。而目前的狀況是本末倒置,由經歷過這些場景的人總結抽象出知識點,失去了支撐這些知識的原有場景、背景、歷史,變成了完全孤立的天書,而恰恰是這些輔助信息,至關重要。當然不可否認的是這些知識點都是精華,但是直接把別人的精華生生灌輸到大腦中,就會成為自己的精華麼?我認為完全不可能,這種填鴨式的灌輸結果,只能生成無用的「脂肪」。我作為一個學生,不敢指點老師,也不敢質疑教材中的知識,但是我作為一個被灌輸者,對知識學習過程是有發言權的。再舉一個可能不太妥當的例子,為什麼大學生對網遊如痴如醉,有些甚至通宵不顧學業?仔細思考,網遊的強烈目標驅動可能是原因之一,比如一些所謂極品裝備,多少人為了獲得這些無非就是遊戲公司資料庫中的一條記錄的裝備,而耗盡了大好青春?而如果計算機知識也能做到如此吸引人去探究,那才是對抗網遊的最佳方法。
2.知識點之間完全孤立,找不到聯結點。比如C語言,為什麼要有這麼多數據類型(int,char,float等)?不同數據類型定義好之後,後面又是怎麼處理的?如果不定義數據類型會怎樣?C語言、彙編語言、機器指令、CPU之間是怎麼聯繫起來的?我寫了一段C語言程序,它被編譯執行的全過程是怎樣的?軟體怎麼就能控制硬體了?如果上面這些解釋不清,我有何動力來寫這段C語言代碼?我就感覺自己像殭屍一樣任人擺布。我憧憬中的C語言應該是這樣的:先介紹彙編語言出現的背景,然後介紹C語言是為了解決彙編語言可讀性差的問題,然後發現有了函數後,可讀性和可維護性更好。當然,介紹彙編語言的話就得先介紹CPU執行這些機器碼的基本過程,把這些背景以及大致框架原理都介紹清楚之後,起碼在後續認知上不會留坑。知識之間如果缺乏關聯,那麼讀者腦海中無法形成一個框架,只局限在一個小範圍內,而出了這個範圍完全不知所措。
3.語言乏味不接地氣。比如計算機組成原理,幾乎所有教材都以介紹其歷史、多麼強大的功能等為開端。每當看到這些,我就感覺如同嚼蠟。我覺得導致這一點的關鍵原因之一,就是沒有場景化教學。丟失了背景、場景、歷史信息之後,單純圍繞抽象後的知識點來介紹,可想而知,所用的語言就只能是抽象晦澀的,想用豐富接地氣的語言也用不起來,因為根本沒法用。每當看到這些晦澀無味的描述我就在想,這一切到底和我有什麼關係?計算機很強大,具體怎麼強大的?CPU、內存、顯示器是怎麼串到一起的?計算機為什麼能實現AI?如果能夠放在書的最後而不是一開始就鋪概念、鋪技術點,這才符合常規的思維。任何總結、抽象,都應該放在具體介紹之後,而不是之前,放在前面只能一下子在作者和讀者之間形成一道屏障。
作為計算機專業,幾年來看了不少書,坊間經常看到這樣的調侃,深入人心:
《計算機體系結構從入門到絕望》
《計算機組成原理從入門到放棄》
《計算機作業系統原理從入門到崩潰》
《計算機圖形學從入門到跑路》
《高性能計算機集群從入門到入土》
《計算加速從入門到入墳》
《計算機存儲系統從入門到住院》
《計算機網絡從入門到懵逼》
《機器學習從入門到窒息》
……
2018年,一個偶然的機會,當我第一次在技術群裡看到一本名為《大話計算機》的書的內容簡介和ppt後,就沒有一刻不在期待著這本書的問世。該書的作者是冬瓜哥,他也是另一套圖書《大話存儲》系列的作者。冬瓜哥時常在群裡和大家調侃順帶推銷他的這本書。我看了目錄和一些內容試讀之後才意識到,這本書,我要好好看。
2019年4月這本書一上市我就買了,作為學生黨,這是我買過的最貴的書。快到月底,終於收到!不敢造次,詳細記錄下開箱始末:
厚厚的一個黑匣子:
開箱要冷靜,別讓溢出的知識衝昏了頭腦!三本精裝書+一摞思維導圖!
封面金燦燦!感覺不認真研讀,首先對不起這個包裝!
海報,海報,海報!!!
全彩色印刷,紙張一流,銅版紙的質感,但是不太反光,不刺眼!!!
還有好多二維碼,掃碼連結附加資源,音頻視頻圖片啥都有!
OK,這套書硬體上的閱讀體驗堪稱一流,簡直是一本藝術品。作為理工專業的我,眼前一亮,或許之前看的書,在閱讀體驗上,都太平庸了。
現在開始研究內容!
隨著閱讀本書的第1、2、3章,發現之前我的認知框架竟然也是不全的,有太多地方竟然是真空,如果拿著這種根底去找工作,誰知道會栽在哪裡,有可能剛一站起來就散架了。
首先,這本書語言直白卻沒啥廢話,沒有教科書般的一大堆晦澀難懂的術語定義,但是專業術語卻又經常穿插其中,有的不明白的術語,很快就會得到解釋,可以感受到作者試圖站在讀者的角度上去解釋專業知識的用心。語言直白不廢話,邏輯嚴謹,不會讓人因為看不明白而心情煩躁——從入門到崩潰,對於我等小白,作為入門到專業這條路上的科普書籍最適合不過。
還有我個人最喜歡的一點是——書中的知識點是跟著問題的產生並引出來的,使得內容十分連貫緊湊。我個人將它作為故事書看,因為內容真的是連貫,從計算機如何實現1+1侃侃而談到現在的計算機.....
我印象很深的一件事是,我之前到處詢問一個數學建模問題——x射線穿過均勻材料物質時,有某方程,但是如果穿過的是不均勻的呢?我去諮詢考研黨,他居然也不知道能用線積分解決,但是我們的確都會解線積分,而就是不知道能應用在這,這就很尷尬啊,學的東西,會解,考試能過關,卻不知道這個知識能幹什麼?這就是我們所學習的孤立的知識之間無法建立起框架的另一個佐證。
所以我個人就覺得這本書挺適合我這類人的——這本書使用不斷反問,提出問題,並且引出那些我們或許熟悉或許陌生的知識點。讓我們知道這個知識點,為什麼出現在這,解決了什麼問題。
再者,也是我最喜歡的一點就是,圖真的超級多的.....你懂的,當我拿到這本比磚頭還重的書的時候,我的內心是拒絕的,因為我家中也有一本這樣的磚頭書——《史記》,圖超級少的書讓我這個非歷史愛好者看了幾頁就閒置在書架上了...實在慚愧。然而《大話計算機》這本書的圖夠多,講真,每兩頁必有圖出現,圖也很良心,從未見過這種細緻而清晰的圖,這種圖,黑白印刷估計體驗就差多了,很多流程就會糊塗了。
看看,如果黑白印刷,通過顏色區分的流程完全無法辨認了,彩色貴點我也認了。
一本書的質量如何,除了作者解釋問題的語言功底、內容的深淺,我認為還有書籍的圖的質量,圖是重要的輔助讀者理解的工具。
書中有數電,模電,電路等純硬體的知識內容,也涵蓋了相關軟體的內容,軟硬混合的計算機網絡、計算機組成原理等計算機專業要學習的內容也有涉及。我覺得它是一本很給力的教科書。我心中的好教科書是什麼?是能讓讀者知會知識,引導讀者的才是好教科書,而不能僅僅只是單純記錄這些知識。
關於書籍的專業性,我只是個學生,不是行業專業人士所以我不做評價。只不過對於我這個半吊子愛玩arduino的學軟體的學生而言,這本書的確讓我入了底層軟硬體部分知識的門,提供了我一個很明確的方向。
而且講真,上網一搜,我感覺和硬體技術相關的博客比起軟體技術而言真的太少了。查詢數電等書籍得到的又是我看不懂的長篇大論,大部分教科書的貨太幹太硬啃不動。引用某位校長的觀點「大學本科通專兼顧,重心應在通而不在專。」我本人不聰明,閱讀《大話計算機》最大的收穫就是—— 至少「通」了,大致知道計算機到底是個怎麼回事,以及我專業的每一門固定課程之間有什麼關係。
直白,連貫的語言,以及不斷發問的傳授知識的方式,軟硬體知識恰到好處的融合和過渡,再加上豐富的圖,我也寫博客,知道寫這些東西其實挺費時費事的,何況還要一個人把圖弄好....。在此由衷感謝作者能將你會的知識,以這麼通俗易懂的方式呈現給像我這樣不知道如何入手計算機底層、如何將計算機相關知識關聯在一起的人。而且書籍的前期編寫工作還是一個人完成的,可以說十分用心了!
最後,關於定價,前面說過,史上最貴。打完折也要450,但是,我認為,你可以請朋友吃頓飯,可以兩年換一個手機,為什麼不能花點錢重新奠定你的IT基本功呢?與其花大量的時間去網上找資料找答案,為什麼不一站式解決你的IT困惑呢?另外,我始終認為,免費的東西,不會去珍惜,不會投入感情去鑽研。
看了三章,瀏覽了全書,我得出的結論是:
這本書,值得推薦!