国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

漫談PowerShell和Windows之路

2020-08-14 15:34 作者:進(jìn)棧檢票  | 我要投稿

有時(shí)候我會(huì)覺得PowerShell不過是個(gè)縫合怪而已,功能強(qiáng)大到令人發(fā)指,但是設(shè)計(jì)上亂七八糟。不過其實(shí)你想想,一門系統(tǒng)腳本語言,和嚴(yán)肅的高級(jí)編程語言(哪怕是腳本語言)比設(shè)計(jì),那就是耍流氓。那照這么說的話,C/C++的設(shè)計(jì)又怎么說呢?但是再反過來說,其實(shí)這樣的批判也還是有意義的,如果大家都能原諒C/C++,也不會(huì)有后來立志改變現(xiàn)狀的Rust和Golang了。

有時(shí)候又覺得如果整個(gè)Windows NT能根據(jù)PowerShell建立的 基于對(duì)象的統(tǒng)一抽象 從底層到GUI進(jìn)行一次徹底的、適當(dāng)拋卻兼容性的、脫胎換骨的改造,Windows整體上的的操作邏輯會(huì)比現(xiàn)在通順得多,甚至很可能超過POSIX(包括BSD、GNU/Linux、Darwin等)陣營?,F(xiàn)代Windows留有的很多上可溯至DOS時(shí)代的各種歷史遺留問題,以及幾次設(shè)計(jì)大改(這其中包括2K/XP時(shí)代的DOS(Win9x)/NT合流、Longhorn時(shí)代的“第二系統(tǒng)效應(yīng)”式的激進(jìn)改造(當(dāng)時(shí)甚至想用C#重寫大部分非底層系統(tǒng)組件,完全dotnet化)、Win8時(shí)代對(duì)多端融合的嘗試、直到近幾年對(duì)Win10的各種現(xiàn)代化改良……)帶來的從管理接口到操作邏輯的混亂、多范式的交織,正在日漸成為這個(gè)歷史長達(dá)40年(作為操作系統(tǒng)的歷史必須算上MS-DOS)的操作系統(tǒng)的無法承受之重。反觀POSIX陣營雖然分支眾多,但是一直保持著文件和字符串流的一等公民(first-class)地位,抽象模型雖然可能不是很直觀(指對(duì)于普通用戶,了解計(jì)算機(jī)原理的很可能會(huì)認(rèn)為很直觀),但是簡潔、高效(與C、bash工具鏈配合)而穩(wěn)定(指不常變動(dòng))。

我為什么說PowerShell具備“基于對(duì)象的統(tǒng)一抽象”?來看看各種常用命令對(duì)應(yīng)的cmdlet名稱,不言而明:cat -> Get-Content;cd -> Set-Location;cp -> Copy-Item;del -> Remove-Item;diff -> Compare-Object;ls -> Get-ChildItem;mv -> Move-Item。出現(xiàn)頻率最高的Item和Object,不用我解釋了吧。我再告訴你,以上這些cmdlet不止用于管理文件,管理設(shè)置等操作也會(huì)用到。還有雖然長但是整齊劃一的謂詞-賓語結(jié)構(gòu)。怎么樣,是不是有一種已經(jīng)贏GNU coreutils太多了的感覺?(笑)

但是話又說回來,我們對(duì)這樣的改造喜聞樂見,難道微軟的工程師不知道嗎?他們不喜歡這樣整齊劃一、同時(shí)易于一般用戶使用和開發(fā)人員調(diào)用的抽象模型嗎?想想吧,當(dāng)年Longhorn宏偉的計(jì)劃變?yōu)橐坏仉u毛,才幾年哪?忘了?!!那些滿是Bug的Beta版本,還存儲(chǔ)在收集網(wǎng)站的硬盤里,天天地盯著你們那!

雖然NT6確實(shí)是一座史無前例的里程碑,奠定了現(xiàn)代Windows的基礎(chǔ),遠(yuǎn)不能不能說是一地雞毛,什么dotnet、C#、WPF、現(xiàn)代Windows的CBS/Dism組件管理器、各種系統(tǒng)組件、包括PowerShell都是那個(gè)偉大的年代的產(chǎn)物,但我們都不可否認(rèn)的是,Longhorn那個(gè)“山無棱,天地合”的目標(biāo),暫時(shí)還只存在于理想之中。而我們剛才所設(shè)想的改造,和當(dāng)年的Longhorn,其實(shí)區(qū)別也不是很大。

了解計(jì)算機(jī)的都清楚,對(duì)于一個(gè)抽象模型,適應(yīng)于人的認(rèn)知和貼近機(jī)器底層(高性能),是難以兩全的。微軟更多地偏向于前者,POSIX陣營更多地偏向于后者。但是無論怎么設(shè)計(jì),性能,永遠(yuǎn)是一個(gè)操作系統(tǒng)的生命線。

其實(shí)要想達(dá)到兩全,也不是沒有辦法。一個(gè)邏輯簡潔統(tǒng)一,也就是我們常說的設(shè)計(jì)良好的抽象模型,能夠貼近這個(gè)兩全的目標(biāo)。畢竟邏輯是人和機(jī)器共有的。在這方面POSIX模型無疑是一個(gè)比較成功的典范。我也希望以PowerShell為代表的這種基于對(duì)象的統(tǒng)一模型能夠帶領(lǐng)著Windows走向一個(gè)更光明的未來。前提是微軟不作死。干脆把Windows開源讓全世界開發(fā)者為此奮斗吧(

還有諸多感慨,文字不能盡之。文中許多想法,也難以表述得正確、清楚,甚至可能未免有歪曲了我的原意。

不管怎么說,PowerShell作為微軟dotnet戰(zhàn)略上的關(guān)鍵一著,更作為面向?qū)ο蠓妒皆谙到y(tǒng)腳本語言上的一次成功嘗試(傳統(tǒng)的bash、batch都是基于字符串流,PowerShell基于對(duì)象),其歷史地位不可忽視。


漫談PowerShell和Windows之路的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
葫芦岛市| 斗六市| 奉贤区| 滦平县| 德兴市| 武鸣县| 阿合奇县| 文化| 山东| 伽师县| 怀仁县| 仙居县| 五河县| 商城县| 十堰市| 大悟县| 平顶山市| 马山县| 永平县| 洛隆县| 长宁县| 邵东县| 泰安市| 建宁县| 松原市| 巴马| 吉隆县| 湘乡市| 安塞县| 望城县| 来安县| 怀柔区| 乡城县| 封丘县| 阿拉善左旗| 盐池县| 监利县| 肃宁县| 泸州市| 灌南县| 岐山县|