Windows Server 2012:讀者眼中的PowerShell(二)
上一篇Windows Server 2012:讀者眼中的PowerShell(一)中對PowerShell的討論頗多,本文繼續上篇的話題,這場對話可謂激情四射,銅牌用戶eulampios希望一試身手,并開始與某位匿名用戶展開討論。此次討論迅速升級為純技術議題,awk與bash的優勢也作為參照物被牽扯進來。
開端:
shell是一種旨在將各類程序契合在一起的接口。它的作用是為用戶與程序提供一種方便、簡單且無縫的交互方式。
誠然,bash能夠在無需借助util的前提下實現大量功能,但它的運行速度較慢、在很多方面也顯得過于薄弱(perl 5在運行速度上百倍于bash)。然而我們卻偏向于使用bash,而不是接近***的util。
posix shell與posix util的強大之處在一起這是一套獨立、簡單且極為高效的util環境,應用能夠在其中隨意與其它應用及shell進行溝通,進而實現KISS(即簡單、傻瓜)原則。這種組合中的獨立元素往往小巧而且簡單。同樣,emacs是一種獨立合并shell與util的集合,并且賦予這一集合獨特的能力。有鑒于此,emacs在由shell命令構成的dired、grep、tramp及calc等復合式模式中表現突出。
不過PS在附加組件方面更臃腫也更難以劃分,就我看來創建一套復雜笨重的怪物機制與創建shell并不是一回事。
匿名用戶則回復道:
ls能夠顯示文件與目錄。它也有多種選項用于控制輸出格式以及類型排序。因此ls所針對的并不是“單一任務”——它針對的是其它命令也能實現的多項任務。這種設定顯然有悖unix的一貫風格。
find也能用于顯示文件與目錄。它也具備多種選項用于控制輸出格式,甚至能通過選項實現*執行其它進程*。這是什么情況?為什么find功能還要執行其它進程?我們都知道Unix講究的就是“只做一件事,并把它做好”,而以上設定根本不符合其基本思路。
ps用于發現進程。它擁有很多很多相關選項,旨在控制過濾機制、輸出格式以及排序。為什么要在選項中包含這么多其它功能,而不是僅僅專注于命令本身要執行的任務?這也跟unix風格不相符,對吧?
再來看PowerShell。ls是Get-ChildItem的別稱——其作用只有一個:顯示文件與目錄。與*nix相比它幾乎沒有什么附加選項——因為它根本不會涉及輸出格式或者排序等事務。它也不需要具備龐大的過濾機制,因為它所列出的對象幾乎包含所有我們打算過濾的屬性。
因此哪種shell在設計上更偏向于功能單一且追求***效果?我們看看操作命令。PowerShell中的一條命令只會處理一項工作,而不像*nix命令那樣把所有功能都強塞進來。我們還可以通過簡單的方式將多種PowerShell命令結合起來以實現*nix shell無法完成的效果。
在一陣你來我往之后,KingZongo顯然感到胸悶氣短,于是總結出以下反對意見:
Windows Server曾經是徹頭徹尾的廢品?,F在情況發生了轉變,但我們也不能說它已經趨于***。
Linux曾經是徹頭徹尾的廢品?,F在情況發生了轉變,但我們也不能說它已經趨于***。對于任何大家能想到的任務,我們都會發現Windows可以通過比Linux更科學的方式完成??偠灾琇inux取得了進步、不再一無是處,但也僅此而已。
這樣的論斷當然不足以平息此次紛爭,但我們仍然決定將它列舉出來?,F在暫時不談PowerShell,再來看看一個飽受爭議的話題:對于開發者社區而言,為微軟平臺開發應用到底明不明智?一位匿名用戶認為微軟的產品已經“對VMware構成了嚴重威脅”,但死硬派軟黑用戶Eadon則如是說:
供應商在為Windows編寫了一段時間應用程序之后,卻突然發現微軟成了自己的競爭對手,這種現象難道還不夠詭異么?可以說為Windows編寫應用就等于是在給自己構筑潛在風險。只要開發者賺到錢,微軟就會很快發布自家版本,并試圖把我們辛苦創建起來的市場一股腦偷走。
匿名用戶則回復稱:
Hyper-v與VMware的競爭主要表現在管理程序與裸機層面。盡管還處于工作站虛擬化階段,但二者在市場上都早已不是什么新人了。
你的意思是說操作系統制造商不應該為自己的系統開發應用嗎?這就像在說因為IBM推出了z/OS,所以他們就不應該再開發DB/2了,因為甲骨文在他們之前率先開發出大型機關系類數據庫。
與此同時,金牌用戶JDX認為這就是“資本主義的本質”,并指出:“當企業試圖阻止他人跟風推出同類產品時,你又會抱怨‘愚蠢的軟件專利扼殺了自由競爭’。微軟沒問題,你的心態才有問題。”
Jean Luc也加入戰團,以Armstrong Defence的演變為例推導這一話題:
好吧,我也說幾句?,F在大家爭論的是老牌操作系統廠商昧著良心為自己的系統開發應用——震驚,我對這種論調表示強烈震驚。首先,如果這都能算是錯誤的話,那業界還有哪家公司算是楷模?
蘋果?他們可是非常樂于開發iOS應用,并公開與其它開發者展開競爭。這種情況過去發生過,未來還將繼續出現。
Linux?我就只能呵呵了。比如說我們是一家針對廣泛的潛在用戶群體開發軟件產品的供應商,一套方案出臺之后相信用不了多久就會有GPL支持下的同類產品面市。這里我并不是要批評Linux,只是想提醒各位,其實用戶本身也希望事情照此發展。
其次,大家真的是站在用戶角度希望通過付費插件的方式實現基本操作系統功能?就像PDF查看工具、調度程序、CD記錄工具以及DVD播放器那些?過去這些東西都不屬于Windows系統,但現在已經成為必不可少的組成部分了。
沒錯,在Windows系統平臺上開發應用會給自己帶來風險,但這種風險在其它系統平臺上同樣普遍存在。微軟在歷史上曾經多次坑過自己的合作伙伴,但這也只是IT競爭中的常見狀況,如果認不清這一點,恐怕只能說你太過天真了。
總結:我本人對微軟沒什么好感,但大家為什么會認為微軟比起其它技術巨頭更低劣、更卑鄙?
相比之下,The Vociferous Time Waster則對NFS 4.1的貢獻抱以譏諷:
“它是一款專為異構環境打造的杰出存儲系統,同時也為VMware服務器提供了理想的網絡存儲點。”
把Windows Server作為VMware服務器的后端NAS?哈哈 哈哈 哈哈 哈哈,這恐怕是我聽過的最荒謬的笑話了。
雖然許多用戶都在盡量克制,但技術討論圈中已經出現一種頗為悠久的傳統,即任何與Windows有關的討論都將不可避免地淪為Windows黨與Linux黨之間形式各異的沖突、對噴甚至是破口大罵。也許我們應該為這類討論制定一條明確界線——只要任何人提到殺毒軟件或者FOSS(即自由及開源軟件)系統所必需的技術團隊擴張,討論就立即結束。就在這時,首先開炮的Eadon再度降臨:
Windows簡直就是種恥辱,它不具備任何Linux所持有的優勢、居然還好意思跳出來叫板。Windows根本毫無競爭力,它在服務器領域就是小孩的玩意——時刻需要重啟、必須安裝殺毒軟件、缺乏擴展性而且在文件及內存管理方面也非常差勁。更離譜的是,這種東西居然還要錢。
Reg網站銅牌用戶GitMeMyShottinIrons則給他施以迎頭痛擊:
你知道我們為什么不會在上世紀九十年代討論NT系統嗎?如果要拿傳統印象來評判,那Linux不也有一大堆毛病么。糟糕的驅動程序支持、一丁點微小的問題都需要對操作系統本身進行重新編譯,但那都已經是歷史了,就像你說的那些Windows缺陷一樣。
至于你說的殺毒軟件,如果敢在任何一臺文件服務器的操作系統中“裸奔”,那你的下場絕對可想而知(還會感染客戶機哦)。
銅牌用戶Stevie顯然受夠了這一切,他表示:
這些反Windows人士發出的厥詞只會令我對你的使用經驗產生懷疑。你到底有多少年沒碰過甚至沒正眼看過Windows系統了?我想說的是,如果我僅僅通過紅帽發行版4.2的惡劣體驗就對整個Linux陣營指手劃腳,恐怕你也會對我展開口誅筆伐吧。
針對這一點,JaimieV 回復道:
我也有同感——相信每一位用過紅帽4.2的朋友都會想借酒澆愁、希望永遠忘掉那段噩夢般的經歷。
話題就此被終結,很公道、也很容易理解。
【編輯推薦】
- Windows Server 2012服務器管理器詳解
- 如何設置Windows Server 2012 NTFS權限?
- 不容忽視的Windows Server 2012
- Windows Server 2012 Hyper-V群集技術分享
- Windows Server 2012:讀者眼中的PowerShell(一)
【責任編輯:黃丹 TEL:(010)68476606】