類 Unix 有那些設計比 Windows 的好?

Windows 有哪些設計比類 Unix 的好?

看到這個問題的時候想到的,大家都來說說Unix 有那些好的設計。


要追溯的話基本上就是 70、80 年代小型機和 PC 之間的區別……比如 *nix 的 fork() 是 PDP-11 中 MMU 的功能,8086 沒有提供;*nix 的 terminal 設計也是如此:當時的字元界面真的是用類似 STDOUT 的位元組流輸出到物理終端上解釋的,而 PC 則是直接在顯卡里有一個緩衝區(因此 win32 中你把 stdout、stderr 全部重定向掉程序照樣能寫屏)。

甚至說 *nix 的圖形介面設計的如此複雜也是因為這個:小型機可不像 PC 可以隨便插顯卡,X 的架構和小型機的體系結構有重要關係。


不知道為什麼,我覺得重裝一個linux的系統不會像windows那麼心疼。


Windows 也不差。Windows 里凡是還算不錯的部分沒有不是學 Unix 的。

Windows 其實是命不好,沒遇到會渲染字體的人。


  • 常用軟體大部分都可以通過命令行操作,方便進行自動化操作。
  • 有包管理器,裝軟體快到受不了。
  • 又由於有包管理器解決依賴關係,所有軟體總體積大大縮小。


以下內容更多是從用戶體驗角度考慮,幾乎沒有從Unix或者Windows的系統設計角度考慮,因為我不懂那方面的知識。

1. Shell支持

這意味著:更好的操作方式(Shell的VI Mode);更少的出錯概率(一些情況下因為在兩個OS下

區別的問題,在Unix可以正常運行的命令,在Windows下會出錯);更好的SSH(Windows下的PowerShell只支持有限的幾種顏色;在Unix可以很好看的Terminal,在Windows下看起來渣一樣)

2. 程序間更好的協同工作

「程序應該只關注一個目標,並儘可能把它做好。讓程序能夠互相協同工作。應該讓程序處理文本數據流,因為這是一個通用的介面。」(摘自WikiPedia:Unix哲學)在Unix下,通常一個Package是建立在其他的Package基礎之上的。這雖然在一些情況下,會因為版本不同,有一些兼容性問題;但大多數時候,可以讓每一個新的Package的安裝包都很小。而Windows下,輕鬆就是一個複雜的大安裝文件。

3. 更美好的軟體源

因為2),在Unix下通常會有很好的軟體源來支持一些常用軟體;而類似於HomeBrew/apt-get之類的命令,都允許用戶添加新的軟體源,從而支持更多軟體的一鍵安裝和管理。

4. 更開放的街口,這代表著:更好的桌面(其他的例子想不到了)。在Windows下,只能使用單桌面;這樣子在同時開幾個窗口做不同事情的時候,就會顯得很亂;而在Unix下,可以把不同事情放在不同桌面(比如我可以在桌面1專門查郵件/聊QQ/聽音樂,桌面2做軟體開發,桌面3全屏看視頻)。


按某種條件篩選用戶方面做的好。

一個「合格」的 UNIX 用戶基本都有能力駕馭 shell,管道,perl / python 級別的腳本語言一到兩門,以及查閱 manual / Google 的能力。一個「優秀」的 UNIX 用戶往往都兼任開發身份。所以對於他們關注的領域,總會有層出不窮的解決方案。

這些由自身需求驅動的解決方案與 Windows / OS X 下常見的以市場 / 商業喂需求創建的解決方案有本質的區別;最主要的是,它們提供了更多的「可能性」。


不能打遊戲,這個設計比windows好


類UNIX系統的設計Follow KISS原則(嗯,Windows系統設計Follow MESS原則)


一切皆文件


豐富的開發環境 強大的SHELL


IPC啊親


no. in my daily life, it only produce a lot of troubles and i cannot use a lot of research software without windows


推薦閱讀:

OS X El Capitan 中你最喜歡的新特性是什麼?
Mac 下最好用的五筆輸入法是什麼?
網易雲音樂為什麼沒有mac的桌面版?
Mac OS 系統佔用儲存空間太大怎麼辦?
為什麼 OS X 軟體沒有彈窗?

TAG:Mac | 設計 | MicrosoftWindows | Linux | Unix |