發(fā)布于:2020-12-24 16:17:08
0
570
0
開(kāi)發(fā)人員是挑剔的一群。就像拒絕在濕草上行走的狗一樣,似乎總是對(duì)改變常規(guī)有所抵觸。我們喜歡我們長(zhǎng)大的東西,無(wú)論是《星際迷航》的笑話(huà),Vim還是Emacs。
這場(chǎng)戰(zhàn)爭(zhēng)的起源可以追溯到1980年代的Usenet小組,當(dāng)時(shí)Vi和Emacs是用于編碼的主要工具。眾所周知,Emacs是“曲折的小段落迷宮,各有不同”(一種古老的程序員的笑話(huà),源于游戲Colossal Cave Adventure),而Vim(及其之前的Vi)提供了箭頭控制的鍵盤(pán)世界捷徑。兩者都用于編碼,編輯和管理系統(tǒng)。而且,盡管我們討厭這樣說(shuō),但兩者都達(dá)到了似乎都不想真正消失在夕陽(yáng)下的地步。
多年來(lái),Vim和Emacs用戶(hù)之間的無(wú)休止戰(zhàn)爭(zhēng)一直持續(xù)引起人們的惡心。在這一點(diǎn)上,這不是一場(chǎng)戰(zhàn)爭(zhēng),而是根深蒂固的習(xí)慣和對(duì)變革的頑強(qiáng)抵抗的抱怨。 Vim和Emacs的用戶(hù)曾經(jīng)互相other之以鼻,似乎已經(jīng)實(shí)現(xiàn)了彼此的鍵綁定(他們實(shí)際上是在做這件事),以與任何現(xiàn)代IDE共同面對(duì)敵人。
Vim:高可用性IDE
許多Vim / Emacs用戶(hù)之間的共識(shí)創(chuàng)造了一定時(shí)代的許多技術(shù)用戶(hù)都會(huì)熟悉的畫(huà)面。正如我父親所證明的那樣,如果Microsoft Zune的支持失效了,就可以使用它,如果它沒(méi)有破裂的話(huà)。。。盡管市場(chǎng)上有很多IDE,但是如果您不必使用一個(gè),則沒(méi)有理由使用它。這是我仍然使用記事本撰寫(xiě)而不是使用一些精美的文本編輯器或CMS工具的原因。它就是有效的。
“ Vim用戶(hù)John Carter(非Mars)說(shuō):“我之所以避免使用IDE是因?yàn)槭昵拔疫M(jìn)入Vim時(shí)就需要額外的許可。 “從那以后,這就成為了'代碼速度'的問(wèn)題?!比绻覐囊粋€(gè)新的IDE開(kāi)始,甚至切換到Emacs之類(lèi)的東西,我都會(huì)放慢速度。在情感和職業(yè)層面上,我真的買(mǎi)不起。轉(zhuǎn)向新的編輯器需要精力。我沒(méi)有那種能量。我找到了工作,一個(gè)家庭和其他項(xiàng)目。看起來(lái)很愚蠢,但是這種樞紐需要能量。”
Vim始終可用。任何Linux機(jī)器都有它。 Vim占用空間小,延遲低,啟動(dòng)速度快,可提供更大的屏幕空間,可自定義,最重要的是,一旦肌肉記憶已根深蒂固,幾乎不可能切換到其他內(nèi)容。
Carter繼續(xù)說(shuō):“我們的手指通常是思考代碼和將其添加到應(yīng)用程序之間的瓶頸,因此人們希望優(yōu)化快捷方式?!?/span>
以Atom為例,它是最受歡迎的IDE /編輯器之一。 Atom是一個(gè)免費(fèi)的開(kāi)放源代碼文本編輯器,聲稱(chēng)其“可被核心攻擊”,并允許進(jìn)行多種自定義。它具有跨平臺(tái)編輯,四個(gè)UI,八個(gè)語(yǔ)法主題,并與HTML,JavaScript,CSS和Node.js集成。最重要的是,對(duì)于過(guò)去五年沒(méi)有開(kāi)始編碼的用戶(hù),有一個(gè)Vim模式軟件包。這導(dǎo)致用戶(hù)從字面上將Atom轉(zhuǎn)換為Vim,無(wú)法放任過(guò)去,不愿完全擁抱代碼編輯的未來(lái)。
大多數(shù)IDE會(huì)創(chuàng)建開(kāi)發(fā)人員可以創(chuàng)建的整個(gè)世界,但是創(chuàng)建需要配置。調(diào)整世界,扮演上帝,創(chuàng)建快捷方式和熱鍵,習(xí)慣不同的命令結(jié)構(gòu)和UI需要花費(fèi)時(shí)間。盡管編碼人員可以坐在任何終端上并開(kāi)始在Vim中工作,但對(duì)于任何IDE而言,情況并非如此。此外,IDE通常是完成任務(wù)的太多工具。與大量的編程巨獸相比,簡(jiǎn)單的文本編輯器為初級(jí)程序員提供了更好的服務(wù)。
由于編碼人員的職業(yè)發(fā)展所依靠的是專(zhuān)業(yè)技能,而不是簽署薪水的人,因此無(wú)論公司喜歡哪種IDE,始終可以使用恒定的代碼編輯器??梢詫⑵湟暈楣室膺`抗行為,或者只是個(gè)人喜好,但文本編輯器始終存在。
BSD跑步者Tim Chase說(shuō):“從根本上講,這是普遍存在的?!?“我可以坐在任何類(lèi)似Unix的終端(Linux,BSD,Solaris等)上,鍵入'vi'(或'ed'),并且具有強(qiáng)大的編輯器,即使我的終端配置不正確(例如,發(fā)送)某些鍵或組合鍵),而無(wú)需安裝任何東西。”
熟悉而舒適
正是這種舒適感使仍在使用Vim或Emacs的用戶(hù)與使用IDE的人們之間的戰(zhàn)爭(zhēng)一直持續(xù)到很長(zhǎng)一段時(shí)間。是媽媽的意粉(或在這里插入您的舒適食物)。 Vim和Emacs總是在那里為您提供舒適,平靜和樂(lè)于助人的服務(wù)。 IDE是一種奇怪的新食物,其中包含各種奇特的食材,需要用叉子進(jìn)行堅(jiān)韌不理性的采摘,才能以您想要的方式獲得它。斷開(kāi)是顯而易見(jiàn)的,并且在這一點(diǎn)上是可以理解的。
盡管也許切換到完整的IDE并不像聽(tīng)起來(lái)那樣令人難以忍受,但開(kāi)發(fā)人員對(duì)此還是有些顫栗。有人最終意識(shí)到,為了完成這項(xiàng)工作,您會(huì)使用可用的工具來(lái)完成這項(xiàng)工作,無(wú)論這些工具可能是什么。
“我說(shuō),只要能幫助您完成工作,就使用它,”湯姆·漢克斯(Tom Hanks)并非如此。 “有時(shí)候,更現(xiàn)代的IDE可能會(huì)成為障礙,而有時(shí)它們是必不可少的。例如,當(dāng)與項(xiàng)目文件關(guān)聯(lián)的文件過(guò)多時(shí),Visual Studio就會(huì)出現(xiàn)嚴(yán)重的性能問(wèn)題。整個(gè)應(yīng)用程序變得非常緩慢。幾年前,當(dāng)我使用PyCharm進(jìn)行Python開(kāi)發(fā)時(shí),有時(shí)會(huì)變得“困惑”,并對(duì)其語(yǔ)法分析給出不好的反饋?;旧?,這使您認(rèn)為自己犯了一個(gè)錯(cuò)誤,而實(shí)際上一切都很好。
也就是說(shuō),如果您不熟悉編程,那么現(xiàn)代化的IDE可能會(huì)有所幫助。借助代碼完成功能,Git控制甚至自動(dòng)部署系統(tǒng),現(xiàn)代IDE成為了瑞士軍刀的功能。而且,像大多數(shù)瑞士軍刀一樣,您不必使用所有功能即可找到有用的功能,尤其是在剛起步的情況下。例如,我們?cè)S多人不會(huì)使用打孔器或牙簽,但很高興知道它在那里。
在Vim,Emacs和IDE之間的編碼員屏幕背后發(fā)生的任何戰(zhàn)爭(zhēng),實(shí)際上都沒(méi)有關(guān)系。無(wú)論Vim和Emacs在現(xiàn)代開(kāi)發(fā)環(huán)境中過(guò)時(shí)的地位,它都不會(huì)很快到位。 IDE將不斷改進(jìn),不斷啟動(dòng),并為不斷增長(zhǎng)的年輕開(kāi)發(fā)人員群體提供服務(wù),他們從未被迫在Vim或Emacs環(huán)境中蓬勃發(fā)展。對(duì)于選擇首選程序的任何人來(lái)說(shuō),最好的建議就是僅使用可用的工具來(lái)完成工作。或者,正如20世紀(jì)流行的詩(shī)人TLC如此巧妙地宣稱(chēng):“不要去追逐瀑布,請(qǐng)堅(jiān)持使用您慣用的Vims和Emacs?!?/span>
作者介紹
熱門(mén)博客推薦