1. 程式人生 > >為什麼學計算機這麼難?

為什麼學計算機這麼難?

旁觀者清,一個作家旁邊看程式設計師敲程式碼,大惑不解,問:你們為什麼一定要這麼寫呢?不麻煩嗎?

其實,我們自己也不知道為什麼一定要這麼寫?為什麼要先宣告變數再使用?如:為什麼我寫文章,不用先宣告這個字是什麼意思,代表什麼?等等這些問題,如果我們不斷深入細想,我想100%的人都會瘋掉。

於是,我們大膽提出一個假設:學習計算機過程中遇到的各種麻煩的問題的出現,是因為發明者當初考慮不周,或者說,發明者能力有限導致的。結果就是,一個錯誤,需要千千萬萬個錯誤去彌補,逐漸衍生出了這麼多複雜的結構和體系。

擴充套件思考:當今都提高併發?為什麼要高併發呢?本質上是因為效能不夠啊。如果一個CPU非常強,記憶體讀取速度是光速,那我們還提什麼高併發,多執行緒。酷睿處理器為什麼從原來的單核效能提高,到了多核?因為單核效能有了瓶頸,只能通過數量,也就是併發的方式來解決了,甚至創造了虛擬執行緒技術,欺騙我們的感情以為真的一個核變成了兩個。

再比如:如果硬碟尋道不是單個磁頭,而能夠多個磁頭同時尋道,那硬碟的存取速度何至於這麼慢。為了提高硬碟讀寫速度,又是併發思想,如組raid,幾塊硬碟同時讀寫,搞的好像效能翻倍了似的。

不過從結果上來說,確實提高了效能。