如何評價王垠的文章《unix的缺陷》?

unix的缺陷

文中提到的解決方案可行嗎?為什麼?

如果可行,有哪些已有的相關工作?

如果不行,難點在哪裡?

其實有一個簡單的方式可以一勞永逸的解決所有這些問題:

  1. 保留數據類型本來的結構。不用文本流來表示除文本以外的數據。

  2. 用一個開放的,標準化的,可擴展的方式來表示所有數據類型。

  3. 程序之間的數據傳遞和存儲,就像程序內部的數據結構一樣。

程序語言,操作系統,資料庫三位一體

實際上,類似這樣的系統在歷史上早已存在過 (Lisp Machine, System/38,Oberon),而且收到了不錯的效果。

如果這樣的系統在未來能再次實現然後普及,人們在編程開發、軟體應用方面的使用體驗相比如今具體可能有怎樣的變化?(聽起來感覺是一種很好的操作系統,想像一下有哪些變化......


垠神是我們 Lisp 神教的四大魔王之一啊,推崇 Lisp Machine 不是很正常

我也覺得 Lisp Machine 的設計比現在這堆系統都好,然而誰讓當年 Symbolics 趕上 AI 寒冬了(攤手

所以我們還是要 Make LISP Great Again 啊(逃


不知道他對 powershell 怎麼看。


這些問題解決完不就變成Windows了

通配符直接作為參數傳遞給程序解析

統一的配置文件存儲/格式:註冊表

統一的跨語言/跨進程交互:COM及其RPC

PowerShell強類型管道


記得當年GNU承諾過要將C和Lisp同時作為系統語言。拋開Emacs這個操作系統不談,你們可以向RMS的思想學習一個,以後pipe傳的都是s-expression,再搞一個gliblisp.so和LispShell,這樣就實現了世界的大和諧。

當然,廠家也要與時俱進,生產更好的括弧腳踏板。


這篇比很多知乎用戶年齡還要大的文章已經說得非常好了:

http://dreamsongs.com/RiseOfWorseIsBetter.html


我覺得他說得很有道理啊,bash的*展開實際上還有一個問題,就是如果文件過多,*展開以後就會超過bash命令允許的最大長度,導致命令執行不了。


難道大家沒聽說過這句話嗎:LISP knows value,but do not knows cost!

C的流行不僅僅是C容易學習的問題,C的效率比lisp強。lisp其實是比C更高層的語言。

這種高層的東西就不適合做操作系統之類的。

lisp其實也就算了。

如果發狂到要用java做操作系統,這家公司100億美金都能禍害沒了,比如SUN


Forth 之父說「操作系統可能是世界上出現的最大的騙局」,真的嗎?

如果對王銀的看法有部分認同,我建議大家也看看forth,找這兩個概念的交集是很有趣的。

或者簡單點,先考慮將程序和數據結構同構:把程序結構從連續的指令串,轉儲到樹上,引用關係就是間接層次,節點的包含關係就是程序的重用關係。

我最近寫個序列化庫,然後很自然就靠到了COFF文件那種方向上,接著很自然就認可了這種同構思路。

但是,真要實現這個同構的理想,哪怕先做一件小事,按他說的把文本升級到帶結構的數據,都會是一個要命的問題,雖然技術上不難,達成廣泛接受的共識恐怕很難


我認為Unix很優秀,唯一一點的就是沒有Linux文檔多,還有就是Unix支持的驅動太少了,沒有Linux那麼豐富,更不會支持新硬體。。

但是Unix的破碎性比Linux好,系統整體結構很同一。。。

商業的系統,追求的穩定,新技術支持慢的嫑嫑的。。。

這只是個人觀點,其他深層的,本人沒有能力去討論,還希望大家諒解。


The Rise of ``Worse is Better""

其實就是一幫不願意接受變化的老怪物們忽悠後輩搞出來的言論。

然後可怕的是還真有人信了。

要我說,自己爽就好了,讓那些異教徒自生自滅去吧。


說白了就是,老子當年就知道你們這群神仙會打架,會搞出各種破事,Linux 各種發行版的 啟動工具 今天還在打架,與其給你們搞個大一統,還不如搞個簡單的東西, 你們愛怎麼玩怎麼玩


保留數據類型本來的結構。不用文本流來表示除文本以外的數據。

用一個開放的,標準化的,可擴展的方式來表示所有數據類型。

程序之間的數據傳遞和存儲,就像程序內部的數據結構一樣。

說的不就是XML嗎?

XML: 設計的初衷就是解決數據編碼的問題,然而不幸的是,它自己都難 parse。

不是很清楚,為什麼王垠會認為XML難以parse。。。


推薦閱讀:

如何Linux入門?
Unix / 類 Unix shell 中有哪些很酷很冷門很少用很有用的命令?
epoll的邊沿觸發模式(ET)真的比水平觸發模式(LT)快嗎?(當然LT模式也使用非阻塞IO,重點是要求ET模式下的代碼不能造成飢餓)
既然有 UNIX 哲學,那有沒有 Windows 哲學呢?
為什麼微軟,谷歌要另立操作系統山頭,而不是像蘋果一樣,在最正統的 Unix 基礎上開發?

TAG:Unix | 王垠人物 | Lispmachine |