當前位置:
首頁 > 最新 > 在做出「只用 Linux 不用 Windows」的決定前,有什麼需要注意的

在做出「只用 Linux 不用 Windows」的決定前,有什麼需要注意的

1. Linux 和 Unix 裡面包含了一些非常糟糕的設計。學不會有些東西不是你的錯,是 Linux 的錯,是「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) 來發泄對 Unix 的厭惡。(聲明一下,我不厭惡 Unix,我只是不再推崇它。我的視野已經高於它,以至於我可以理性的分析它。)

這本書里彙集了 Unix 出現的年代,很多人對它的咒罵。我曾經以為這是一些菜鳥,他們肯定是不能理解 Unix 的高明設計才在那裡罵街。現在理解了程序語言的設計原理之後,我才發現,他們說的那些話裡面居然大部分是實話!其實他們裡面很多人在當年就是世界頂尖的編程高手,功底不亞於 Unix 的創造者。在當年他們就已經使用過設計更加合理的系統,比如 Multics,Lisp Machine 等。可惜的是,Multics 操作系統書籍裡面往往只是被用來襯托 Unix 的「簡單」和偉大。Unix 的書籍喜歡在第一章講述這樣的歷史:「Multics 由於設計過於複雜,試圖包羅萬象,而且價格昂貴,最後失敗了。」 可是 Multics 失敗了嗎?不。Multics,Oberon,IBM System/38, Lisp Machine,…… 在幾十年前就擁有了 Linux 現在都還沒有的好東西。Unix 裡面的東西,什麼虛擬內存,文件系統,…… 基本上都是從 Multics 學來的(有很多沒有學得像)。Multics 的機器,一直到 2000 年都還在運行。Unix 不但「竄改」了歷史教科書,而且永遠不吸取教訓,到現在還沒有實現那些早期系統早就有的好東西。最後 Unix 依靠自己的「宗教」和「哲學」,「戰勝」了別的系統在設計上的先進,統治了程序員的世界。勝者為王,可是 Unix 其實是一個暴君,它不允許你批評它的錯誤。它利用

其它

程序員的輿論壓力,讓每一個系統設計上的錯誤,都被說成是用戶自己的失誤。其它系統裡面某些優秀的系統設計,也許就要被歷史掩埋……

我曾經強烈的推崇 FVWM,TeX 等工具,可是現在擦亮眼睛看來,它們給用戶的界面,其實是非常糟糕的設計。他們把程序設計的許許多多的細節,無情的暴露給用戶。讓用戶感覺有那麼多東西要記,彷彿永遠也沒法完全操縱它。實話說吧,當年我把 TeXbook 看了兩遍,做完了所有的習題(包括最難的「double bend」習題)。幾個月之後,幾乎全部忘記乾淨。為什麼呢?因為 TeX 的語言是非常糟糕的設計。它的設計者幾乎完全不明白程序語言設計的基本原則,不明白什麼叫做「抽象」。

一個好的工具,應該只有少數幾條需要記憶的規則,就像象棋一樣。而這些源於 Unix 的工具卻像是「魔鬼棋」或者「三國殺」,有無數的,無聊的,人造的規則。有些人鄙視圖形界面,鄙視 IDE,鄙視含有垃圾回收的語言(比如 Java),鄙視一切「容易」的東西。他們卻不知道,把自己沉浸在別人設計的繁複的規則中,是始終無法成為大師的。就像一個人,他有能力學會各種「魔鬼棋」的規則,卻始終無法達到象棋大師的高度。所以,容易的東西不一定是壞的,而困難的東西也不一定是好的。學習計算機(或者任何

其它

領域)的東西,應該「只選對的,不選難的」。記憶一堆的命令,烏七八糟的工具用法,最後腦子裡什麼也不會留下。學習「原理性」的東西,才是永遠不會過時的。

我並不是說 Windows 好很多。技術設計上的很多細節,也許它在早期是同樣糟糕的。但是它卻向著更加結構化,更加簡單的方向發展。我認識一個 Adobe 的高級設計師。他告訴我,當年他們把 Photoshop 移植到 Intel 構架的 Mac,花了兩年時間。Xcode 比起 Visual Studio 真是差太多了。而 Mac OS X 的很多設計,讓他們的移植實在太痛苦。只不過系統換了個處理器,移植個程序居然花了兩年時間。不過他很自豪的說,當年很多人等了兩年也沒有買 Intel 構架的 Mac,就是因為他們在等待 Photoshop 的移植。最後他直言不諱的說,微軟才是真正在乎程序員工具的公司。相比之下,Apple 雖然對用戶比較友好,但是對程序員的界面要差很多。

一再宣揚別的系統都是向自己學習的 Apple,受到這樣的評價,我一點也不驚訝。Mac OS X 畢竟是從 Unix 改造而來的。我在家裡有一個 Macbook Air,一個 iPhone 5,和一個退役的,裝著 Windows 7 的 T60。我不得不承認,雖然我很喜歡 Macbook 和 iPhone 的硬體,但我想念 Windows 和 Android 在軟體上的一些設計。一個公司的傲氣,真的可以阻礙它向別人學習,設計出更好的東西。微軟也許在當年是傲慢輕狂的公司,但是我覺得它現在已經度過青春期,長大成熟了。

當然我不是在這裡打擊 Linux 和 Mac 而鼓吹 Windows。這些系統的紛爭基本上已經不關我什麼事。我只是想告訴新人們,去除頭腦里的宗教,偏激,仇恨和鄙視。每一次仇恨一個東西,你就失去了向它學習的機會。

除了軟體有沒有Linux版這種基本問題,還要注意一下硬體兼容性。我運氣比較好,沒遇到太多硬體問題,主要是這些:

使用了NVidia Optimus雙顯卡的筆記本,在Linux裡面應當還是只能通過Bumblebee來用雙顯卡。

Debian的第一張盤沒有Intel無線網卡的驅動。你裝好系統之後,得用U盤拷iwlwifi的deb包。

Xfce對多音效卡和多顯示器的支持非常差,不過Mate還行。

其它其實還好。我可能運氣比較好,前後幾台電腦一直沒遇到過Linux不支持的硬體設備。現在這個電腦(聯想Y570)在Linux里反而有些優勢:升級Win10之後,Windows關機的時候在最後總是會意外掉電,不能正常關機(其實這也很難讓Win10背鍋,很可能是系統沒有裝好,重裝就可解決),必須用重啟代替關機,然後在合適的時候手掐電源。而Debian就沒這個毛病。

大一開始就不用windows了,讓我來給你傳授點經驗吧

你用linux就用linux,跟人工智慧有什麼關係

你用linux就用linux,自己悄悄用,不驕矜造作也不妄自菲薄

你用linux就用linux,不要排斥歧視windows,雖然裝軟體什麼的

你用linux就用linux,等你有錢再買mac,現在不哭,站起來

(怪不得ccav喜歡用排比,確實比較有氣勢)

FYI,人工智慧只是一個花哨的辭彙,跟大數據云計算一個德行,當然,這個得等你學會了才能明白。現在的你啊,滿腦子都被這些buzzwords給忽悠了,不得不說,年輕真好

也是計算機大三學生。正好也對人工智慧頗感興趣。

因為專業問題,以及實習時生產環境要求,Linux用了不少。

但現在我還是主要用Windows,有時候會用Linux:裝個VM,在Windows下用XShell登上去使。

總的來說,出於以下幾個原因,讓我喜歡Window甚於Linux:

1.設計哲學問題:Linux像是積木,給用戶一堆零散的部件。而Windows更傾向於為用戶提供一體化的解決方案。從用戶的角度而言,我認為後者的便利性優勢,對於解決問題的重要性遠甚於前者所提供的的自由度優勢。此外,從「對修改封閉,對擴展開放」的設計原則來看,Windows也是優於Linux:我認為提供extention的做法比直接修改源代碼這麼粗暴的方式要優雅多了。

2.使用體驗問題:

同樣硬體配置下,同一個程序,在XWindow和Windows下的表現差距實在是太大了。XWindow載入那些GUI的時候,慢到控制項的重繪順序的程度都肉眼可查。不得不說,Linux的圖形界面用戶體驗非常糟糕。

從開發環境上來講:Linux的開發環境設計的還是非常友好的。但是如果Windows下結合Visual Studio開發,那形勢就徹底倒轉過來了。寫個小腳本什麼的,vim還是不錯的,比較快。但是稍微大一些的項目我都會用Visual Studio。用Linux真是折騰自己。

順便一提,之所以用SSH...是因為Win下SSH軟體能享受到AutoHotKey的加成。這麼神奇的東西Linux竟然沒有,真是太遺憾了

最後:折騰完的Windows讓我有一種家的感覺。折騰完的Linux則像一個窩棚

3.實質需求:

程序=數據結構+演算法。那麼,自己寫的程序,使用的數據結構和演算法跟操作系統又能有幾毛錢關係呢?搞人工智慧吧,用Lisp,Python會多一些。不過這個感覺跟操作系統關係不是很緊密。

最後,如果題主是看了王垠的那篇文章入坑的,不妨再去看看他最近發布的一篇博文,正好是反省自己十年前那篇文章的。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 承諾就是謊言的面具 的精彩文章:

《笑傲江湖》里的智力大排行,岳不群上榜,最厲害的竟是他!
馬蓉真的夠悲哀的,本以為等來了支持者,沒想到都是利用她的

TAG:承諾就是謊言的面具 |