漫谈 Linux,Windows 和 Mac
生活随笔
收集整理的這篇文章主要介紹了
漫谈 Linux,Windows 和 Mac
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
好了,現在來一點技術性的。這段時間收到很多人的來信(大部分自稱是菜鳥)。他們看了我很早以前寫的推崇 Linux 的文章,想知道如何“拋棄 Windows,學習 Linux”。天知道他們在哪里找到那么老的文章,真是好事不出門…… 我覺得我有責任消除我以前的文章對人的誤導,洗清我這個“Linux?狂熱分子”的惡名。
簡言之,我想對那些覺得 Linux 永遠也學不會的“菜鳥”們說:
1. Linux 和 Unix 里面其實包含了一些非常糟糕的設計。學不會有些東西很多時候不是你的錯,而是 Linux 的錯,是“Unix 思想” 的錯。對 Unix 要批判的接受,而不要頂禮膜拜。那些貌似難的,復雜的東西,特別要小心分析。
2. Windows 其實改善了 Unix,Linux 和 Mac OS X 的很多問題。微軟是值得尊敬的公司,是真正在乎程序員的公司。我收回曾經對微軟的鄙視態度。請菜鳥們吸收 Windows 設計里面好的東西。
3. 學習操作系統最好的辦法是學會(真正的)程序設計,而不是去“學習”各種稀奇古怪的工具。所有操作系統,數據庫,Internet,以至于 WEB 的設計思想(和缺陷),幾乎都能用程序語言的設計思想簡單的解釋。
先說說我現在對 Linux 和相關工具(比如 TeX)的看法吧。我每天上班都用 Linux,可是回了家才不想用它呢。上班的時候,我基本上只是“忍受”著它,盡我所能的改善它。Unix 有許多的設計錯誤,卻被當成了圣經,傳給了一代又一代的程序員。Unix 的 shell,命令,配置方式,圖形界面,都是相當糟糕的。每一個新版本的 Ubuntu 都會在圖形界面的設計上出現新的問題,讓你感覺歷史怎么一會兒前進,一會兒又倒退了。但這只是表面現象。Linux 的圖形界面(X window)在本質上幾乎是不可治愈的惡疾。我沒必要細說 Unix 的缺點,在它出現的早期就已經有人寫了一本書,名叫?Unix Hater's Handbook,里面專門有一章叫做 “The X-Windows Disaster”。
當年我熱衷于 Linux 的時候就有人向我推薦這本書。它匯集了 Unix 出現的年代,很多人對它的唾罵。他們專門設立了一個 mailing-list 叫 "unix-haters",用于大家發泄。我還以為這是一些菜鳥,他們肯定是智商太低,或者被 Windows 洗腦了,不能理解 Unix 的高明設計才在那里罵街。現在理解了程序語言的設計原理之后,我才發現,他們說的那些話里面居然大部分是實話!而這里面有些人其實是是世界頂尖的編程高手,功底不亞于 Unix 的創造者。在當年他們就已經使用過設計更加合理的系統,比如 Multics,Lisp Machine 等。可惜的是,在現在的操作系統書籍里面,Multics 往往只是被用來襯托 Unix 的“簡單”和偉大。它們喜歡在第一章講述這樣的歷史:“Multics 由于設計過于復雜,試圖包羅萬象,而且價格昂貴,最后失敗了。” 可是 Multics 失敗了嗎?Multics,Oberon,IBM System/38, Lisp Machine,…… 在幾十年前就擁有了 Linux 現在都還沒有的好東西。Unix 里面的東西,什么虛擬內存,文件系統,…… 基本上都是從 Multics 學來的。Multics 的機器一直到 2000 年都還在運行。Unix 不但“竄改”了歷史教科書,而且似乎永遠不吸取教訓,到現在還沒有實現一些早期系統里面的好東西。最后 Unix 依靠自己的“宗教”和“哲學”,戰勝了別的系統在設計上的先進,統治了程序員的世界。勝者為王,可是 Unix 其實是一個暴君,它倒行逆施,不允許你批評它的錯誤。它利用其它程序員的輿論壓力,讓每一個系統設計上的錯誤,都被說成是用戶自己的失誤。
我曾經強烈的推崇 FVWM,TeX 等工具,可是現在擦亮眼睛看來,它們給用戶的界面,其實也是非常糟糕的,跟 Unix 一脈相承。他們把程序設計的許許多多的細節,無情的暴露給用戶。讓用戶感覺有那么多東西要記,仿佛永遠也沒法完全操縱它。實話說吧,當年我把 TeXbook 看了兩遍,做完了所有的習題(包括最難的“double bend”習題)。幾個月之后,幾乎全部忘記干凈。為什么呢?因為 TeX 的語言的設計其實是不符合程序語言設計的基本原則的。它缺少一種很重要的理念:“抽象”。
一個真正好的工具,應該只有少數幾條需要記憶的規則,就像象棋一樣。而很多源于 Unix 的工具卻像是“魔鬼棋”或者“三國殺”,有太多的,無聊的,人造的“規則”和“特殊技”。有些人鄙視圖形界面,鄙視 IDE,鄙視垃圾回收的語言(比如 Java),鄙視一切“容易”的東西。他們卻不知道,把自己沉浸在別人設計的繁復的規則中,其實是很無趣的。就像一個人有能力學會各種“魔鬼棋”的規則,卻始終無法達到象棋大師的思維高度,因為魔鬼棋本身就是低劣的設計,是低級趣味。所以,容易的東西不一定是壞的,而困難的東西也不一定是好的。學習計算機或者任何其它工具,應該“只選對的,不選難的”。記憶一堆的命令,烏七八糟的工具用法,配置方法,最后腦子里什么也不會留下。學習“原理性”的東西,才是永遠不會過時的。
我并不是說 Windows 好很多。技術設計上的很多細節,也許它在早期是同樣糟糕的。但是它卻向著更加結構化,更加簡單的方向發展。我認識一個 Adobe 的高級設計師。他告訴我,當年他們把 Photoshop 移植到 Intel 構架的 Mac,花了兩年時間。只不過系統換了個處理器,移植個程序居然花了兩年時間。為什么呢?因為?Xcode 比起 Visual Studio 實在差太多了。而 Mac OS X 的很多設計,讓他們痛苦不堪。不過他很自豪的說,當年很多人等了兩年才買 Intel 構架的 Mac,就是因為他們在等待 Photoshop。最后他直言不諱的說(他明知我有個 Mac,很可能是個 Apple 粉絲),微軟其實才是真正在乎程序員的公司。相比之下,Apple 雖然對用戶顯得友好,但是對程序員的界面卻差很多。Apple 尚且如此,Linux 對程序員就更差了。可是有啥辦法呢,有些人就是受虐狂。自己痛過之后,還讓別人也痛苦。就像當年的我,好的東西不學,僅推崇一些難用,難配置的工具。
我當然不是人云亦云。微軟在程序語言上的造詣,我看得很清楚。我只是通過別人的經歷,來驗證自己早已存在的看法。實際上是我主動問了他這個問題:“你如何比較在 Windows 和 Mac 下的 Photoshop 開發”。所以一再宣揚別的系統都是向自己學習的 Apple 受到這樣的評價,我也一點不驚訝。Mac OS X 畢竟是從 Unix 改造而來的,它雖然有很多好的設計,但并沒有從 Unix 脫胎換骨。我有一個 Macbook Air,一個 iPhone 5,和一個退役的,裝著 Windows 7 的 T60。我不得不承認,雖然我很喜歡 Macbook 和 iPhone 的硬件(當然很多是別人幫它造的),但我發現 Windows 在軟件上的很多設計其實更加合理。
說實話,我真的搞不懂為什么我當年會鄙視微軟。我只是跟著一些人瞎起哄而已。現在我身邊還有一些人鄙視微軟。甚至在 Indiana 的時候,有些教授喜歡制造一種“使用 Unix 的學生高人一等”的氛圍。微軟到底犯著誰了?中國人民到底有幾個用 Windows 付了錢的呢??不要忘了 Unix 是 AT&T 的產品。微軟和 AT&T,到底誰更邪惡呢?AT&T 當年發現 Unix 有利可圖,就到處找人打官司。公司不都是追逐利益的嗎。現在看來 Apple, Google,…… 也都是一個樣。不過現在,罵 Unix 和罵 Windows 不大一樣的地方是,如果罵 Windows,幾乎沒有人跟你還口。最多有人跟你說,不就是個有點毛病的東西嗎,有啥好罵的(埋頭繼續玩他的游戲)。而如果一旦有人罵 Unix,立刻有人會起來說:“菜鳥不理解 Unix 的哲學。人笨怪刀鈍。” 哎,“哲學”的威力就是這么大。
當然我不是反過來在這里打擊 Linux 和 Mac 而鼓吹 Windows。這些系統的紛爭基本上已經不關我什么事。在我的眼里,它們只是一些“東西”。東西都是低人一等的。人沒必要去崇拜或者鄙視一個東西。被東西絆了腳,唾罵它有什么用?只會下次再被絆倒,惡性循環。只有自己爬起來,思考如何合理的改善環境,才能避免下次再被絆倒。
簡言之,我想對那些覺得 Linux 永遠也學不會的“菜鳥”們說:
1. Linux 和 Unix 里面其實包含了一些非常糟糕的設計。學不會有些東西很多時候不是你的錯,而是 Linux 的錯,是“Unix 思想” 的錯。對 Unix 要批判的接受,而不要頂禮膜拜。那些貌似難的,復雜的東西,特別要小心分析。
2. Windows 其實改善了 Unix,Linux 和 Mac OS X 的很多問題。微軟是值得尊敬的公司,是真正在乎程序員的公司。我收回曾經對微軟的鄙視態度。請菜鳥們吸收 Windows 設計里面好的東西。
3. 學習操作系統最好的辦法是學會(真正的)程序設計,而不是去“學習”各種稀奇古怪的工具。所有操作系統,數據庫,Internet,以至于 WEB 的設計思想(和缺陷),幾乎都能用程序語言的設計思想簡單的解釋。
先說說我現在對 Linux 和相關工具(比如 TeX)的看法吧。我每天上班都用 Linux,可是回了家才不想用它呢。上班的時候,我基本上只是“忍受”著它,盡我所能的改善它。Unix 有許多的設計錯誤,卻被當成了圣經,傳給了一代又一代的程序員。Unix 的 shell,命令,配置方式,圖形界面,都是相當糟糕的。每一個新版本的 Ubuntu 都會在圖形界面的設計上出現新的問題,讓你感覺歷史怎么一會兒前進,一會兒又倒退了。但這只是表面現象。Linux 的圖形界面(X window)在本質上幾乎是不可治愈的惡疾。我沒必要細說 Unix 的缺點,在它出現的早期就已經有人寫了一本書,名叫?Unix Hater's Handbook,里面專門有一章叫做 “The X-Windows Disaster”。
當年我熱衷于 Linux 的時候就有人向我推薦這本書。它匯集了 Unix 出現的年代,很多人對它的唾罵。他們專門設立了一個 mailing-list 叫 "unix-haters",用于大家發泄。我還以為這是一些菜鳥,他們肯定是智商太低,或者被 Windows 洗腦了,不能理解 Unix 的高明設計才在那里罵街。現在理解了程序語言的設計原理之后,我才發現,他們說的那些話里面居然大部分是實話!而這里面有些人其實是是世界頂尖的編程高手,功底不亞于 Unix 的創造者。在當年他們就已經使用過設計更加合理的系統,比如 Multics,Lisp Machine 等。可惜的是,在現在的操作系統書籍里面,Multics 往往只是被用來襯托 Unix 的“簡單”和偉大。它們喜歡在第一章講述這樣的歷史:“Multics 由于設計過于復雜,試圖包羅萬象,而且價格昂貴,最后失敗了。” 可是 Multics 失敗了嗎?Multics,Oberon,IBM System/38, Lisp Machine,…… 在幾十年前就擁有了 Linux 現在都還沒有的好東西。Unix 里面的東西,什么虛擬內存,文件系統,…… 基本上都是從 Multics 學來的。Multics 的機器一直到 2000 年都還在運行。Unix 不但“竄改”了歷史教科書,而且似乎永遠不吸取教訓,到現在還沒有實現一些早期系統里面的好東西。最后 Unix 依靠自己的“宗教”和“哲學”,戰勝了別的系統在設計上的先進,統治了程序員的世界。勝者為王,可是 Unix 其實是一個暴君,它倒行逆施,不允許你批評它的錯誤。它利用其它程序員的輿論壓力,讓每一個系統設計上的錯誤,都被說成是用戶自己的失誤。
我曾經強烈的推崇 FVWM,TeX 等工具,可是現在擦亮眼睛看來,它們給用戶的界面,其實也是非常糟糕的,跟 Unix 一脈相承。他們把程序設計的許許多多的細節,無情的暴露給用戶。讓用戶感覺有那么多東西要記,仿佛永遠也沒法完全操縱它。實話說吧,當年我把 TeXbook 看了兩遍,做完了所有的習題(包括最難的“double bend”習題)。幾個月之后,幾乎全部忘記干凈。為什么呢?因為 TeX 的語言的設計其實是不符合程序語言設計的基本原則的。它缺少一種很重要的理念:“抽象”。
一個真正好的工具,應該只有少數幾條需要記憶的規則,就像象棋一樣。而很多源于 Unix 的工具卻像是“魔鬼棋”或者“三國殺”,有太多的,無聊的,人造的“規則”和“特殊技”。有些人鄙視圖形界面,鄙視 IDE,鄙視垃圾回收的語言(比如 Java),鄙視一切“容易”的東西。他們卻不知道,把自己沉浸在別人設計的繁復的規則中,其實是很無趣的。就像一個人有能力學會各種“魔鬼棋”的規則,卻始終無法達到象棋大師的思維高度,因為魔鬼棋本身就是低劣的設計,是低級趣味。所以,容易的東西不一定是壞的,而困難的東西也不一定是好的。學習計算機或者任何其它工具,應該“只選對的,不選難的”。記憶一堆的命令,烏七八糟的工具用法,配置方法,最后腦子里什么也不會留下。學習“原理性”的東西,才是永遠不會過時的。
我并不是說 Windows 好很多。技術設計上的很多細節,也許它在早期是同樣糟糕的。但是它卻向著更加結構化,更加簡單的方向發展。我認識一個 Adobe 的高級設計師。他告訴我,當年他們把 Photoshop 移植到 Intel 構架的 Mac,花了兩年時間。只不過系統換了個處理器,移植個程序居然花了兩年時間。為什么呢?因為?Xcode 比起 Visual Studio 實在差太多了。而 Mac OS X 的很多設計,讓他們痛苦不堪。不過他很自豪的說,當年很多人等了兩年才買 Intel 構架的 Mac,就是因為他們在等待 Photoshop。最后他直言不諱的說(他明知我有個 Mac,很可能是個 Apple 粉絲),微軟其實才是真正在乎程序員的公司。相比之下,Apple 雖然對用戶顯得友好,但是對程序員的界面卻差很多。Apple 尚且如此,Linux 對程序員就更差了。可是有啥辦法呢,有些人就是受虐狂。自己痛過之后,還讓別人也痛苦。就像當年的我,好的東西不學,僅推崇一些難用,難配置的工具。
我當然不是人云亦云。微軟在程序語言上的造詣,我看得很清楚。我只是通過別人的經歷,來驗證自己早已存在的看法。實際上是我主動問了他這個問題:“你如何比較在 Windows 和 Mac 下的 Photoshop 開發”。所以一再宣揚別的系統都是向自己學習的 Apple 受到這樣的評價,我也一點不驚訝。Mac OS X 畢竟是從 Unix 改造而來的,它雖然有很多好的設計,但并沒有從 Unix 脫胎換骨。我有一個 Macbook Air,一個 iPhone 5,和一個退役的,裝著 Windows 7 的 T60。我不得不承認,雖然我很喜歡 Macbook 和 iPhone 的硬件(當然很多是別人幫它造的),但我發現 Windows 在軟件上的很多設計其實更加合理。
說實話,我真的搞不懂為什么我當年會鄙視微軟。我只是跟著一些人瞎起哄而已。現在我身邊還有一些人鄙視微軟。甚至在 Indiana 的時候,有些教授喜歡制造一種“使用 Unix 的學生高人一等”的氛圍。微軟到底犯著誰了?中國人民到底有幾個用 Windows 付了錢的呢??不要忘了 Unix 是 AT&T 的產品。微軟和 AT&T,到底誰更邪惡呢?AT&T 當年發現 Unix 有利可圖,就到處找人打官司。公司不都是追逐利益的嗎。現在看來 Apple, Google,…… 也都是一個樣。不過現在,罵 Unix 和罵 Windows 不大一樣的地方是,如果罵 Windows,幾乎沒有人跟你還口。最多有人跟你說,不就是個有點毛病的東西嗎,有啥好罵的(埋頭繼續玩他的游戲)。而如果一旦有人罵 Unix,立刻有人會起來說:“菜鳥不理解 Unix 的哲學。人笨怪刀鈍。” 哎,“哲學”的威力就是這么大。
當然我不是反過來在這里打擊 Linux 和 Mac 而鼓吹 Windows。這些系統的紛爭基本上已經不關我什么事。在我的眼里,它們只是一些“東西”。東西都是低人一等的。人沒必要去崇拜或者鄙視一個東西。被東西絆了腳,唾罵它有什么用?只會下次再被絆倒,惡性循環。只有自己爬起來,思考如何合理的改善環境,才能避免下次再被絆倒。
總結
以上是生活随笔為你收集整理的漫谈 Linux,Windows 和 Mac的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 兴业银行乐视体育联名信用卡额度是多少
- 下一篇: Linux 定时器设置