{eval=Array;=+count(Array);}
真搞不懂,一個初中生稍微學一下就能熟練使用的編輯器為什么很多人以為用它來寫代碼就是大神?
這么說,如果像linus這樣,對Linux的API了如指掌(畢竟自己寫的),用Vim和用IDE是一樣的。但如果要調(diào)用別人的API,用vim就要花大量的時間去熟悉API,起碼得把函數(shù)名背下來,要不然寫幾行就得去看頭文件。
還有,沒有語法預(yù)檢查,要消耗大量的時間在編譯上面,編譯報錯,檢查,修改,再編譯,再報錯。。。
996就是這么來的。
------補充-------
很多程序員混淆了自由編程和商業(yè)編程。一個學生出于愛好維護一個開源項目,這是自由編程,自由編程是沒有成本的,開發(fā)成本和試錯成本都是零。一個公司的員工為實現(xiàn)用戶需求開發(fā)一個項目,這是商業(yè)編程,商業(yè)編程有開發(fā)成本和試錯成本,試錯成本比開發(fā)成本更高,甚至是無法承受之重。舉個例子,一個嵌入式程序員,開發(fā)了一款產(chǎn)品,銷售了一百萬件,用戶在使用中發(fā)現(xiàn)了BUG,那就得一件件召回升級,這個成本是一個程序員無法承受的。很多程序員覺得那是測試部門的事,但測試部門測的是業(yè)務(wù)邏輯,程序邏輯人家連代碼都看不懂怎么測,出BUG的往往就是程序邏輯。
所以,商業(yè)編程的本質(zhì)就是用最小的開發(fā)成本和試錯成本實現(xiàn)用戶需求。用IDE的目的就在于此。
答案是有。我自己就在用,而且還用的很快樂。
公司的項目是純C語言開發(fā),代碼量大概有幾百萬行吧,具體沒算過,一套代碼下載下來有十幾個G。
開發(fā)環(huán)境是Linux + Windows,代碼的編譯主要是在Linux下面。最開始使用的是sourceinsight,可以生成函數(shù)調(diào)用關(guān)系,功能很強大。但隨著負責模塊的增多,si的反應(yīng)速度讓人難受,后面切到了vim。
在剛使用的時候,我經(jīng)歷了拿起又放下,又拿起又放下這樣反復(fù)的過程,大概持續(xù)了十幾次的樣子,最終停留在了vim上。vim是需要你要去適應(yīng)它定制它的。當你適應(yīng)它后,會達到人劍合一的地步,指哪打哪。函數(shù)跳轉(zhuǎn),文內(nèi)跳轉(zhuǎn),關(guān)鍵詞高亮,項目內(nèi)文件搜索打開,近期打開文件,符號搜索等等信手拈來。上面的優(yōu)點僅僅是在編輯代碼方面,還有一些額外的收獲是win上面無法替代的。
沒有任何一款軟件能解決所有的問題,我們首先應(yīng)該關(guān)注的是top級問題,發(fā)現(xiàn)并解決它
覺得vim不能開發(fā)大型項目的主要原因,是因為你覺得大型項目流程太多,變量太多,如果開發(fā)的軟件內(nèi)聚性不強,你就需要記住很多的變量和流程,同時在多個文件中來回穿梭。如果沒有IDE的幫助,你就會覺得很困難。我的經(jīng)驗,如果你用面向?qū)ο蟮姆绞饺ラ_發(fā)軟件,當你打開某個文件時,你的思維會沉浸在當前這個對象的變量和方法中,以及這個對象和相關(guān)對象的關(guān)系當中,并不需要有較多的全局思維,因此腦袋里要少裝很多東西。同項目組的其他同事,大多是面向過程的思維模式,基本用的都是soure insight。我開發(fā)的軟件,有上百個文件,上百個對象,我是用vim開發(fā)的,不知道算不算你心中的大項目?
vim的特別之處在于它的移動和操作方式都是利用鍵盤。對于編程人員來說盲打鍵盤是必須的,所以全部利用鍵盤來操作其實比借助鼠標要方便快捷。
使用vim,剛開始需要花點時間來練習快捷鍵,養(yǎng)成不用鼠標的習慣。
intellij有vim的插件。很多人在intellij上用vim的方式編輯,既可以利用intellij的提示,編譯,調(diào)試功能,又可以利用vim的快捷編輯功能。不僅可以提高效率,還可以提高編程舒適度和幸福感。
那么多人在說vim開發(fā)的種種好處,就沒見到幾個說vim壞處的,好處就是vim敲代碼比ide更流暢,寫代碼真的要那么快的速度,你確定你腦子轉(zhuǎn)的那么快?vim真比ide好用?講得大家差點就信了,我說這簡直就是胡說八道,vim永遠比不上ide開發(fā)的速度,ide有智能提示,各種檢測幫助你在編碼階段消滅錯誤,如果你電腦卡,請買臺配置高點的電腦,不要講ide卡,壓根就是兩個沒可比性的的東西。
當然有,但是已經(jīng)非常非常少了。 開發(fā)大項目IDE可能更趁手,但是不代表vim不能用。
vim更適合用來編寫?yīng)毩④浖?。如Linux,中間件,游戲等等。
現(xiàn)在vscode,sublime,atom居多,這些都可以用vim快捷鍵,純的vim太古老了。
至于項目大小和這些工具沒有關(guān)系。甚至越大的項目,越不喜歡用ide,因為效率太低了。這些編輯工具是專門為編輯代碼文本設(shè)計的,從各個方面都對代碼編輯和搜索做了優(yōu)化。大部分ide都做不到這么細致。
甚至visual studio 的項目一旦大了,我都是用vscode寫,然后用make調(diào)用vs編譯。調(diào)試用trace。不到萬不得已,一定要用斷點等,一般不打開VS。
如果linux下有visual studio這么好用的IDE,你還用vim嗎?Windows平臺就是生產(chǎn)力,那些上古神器一邊玩去。
我從10年開始用vim,結(jié)合tmux,nerdtree,taglist,ctags,再加上開發(fā)語言所用的插件,可以實現(xiàn)語法自動檢查,代碼格式化等常用功能。你永遠不會為ide占用太多資源煩惱。還有個好處,你會對常用函數(shù)掌握的很溜。開發(fā)大型項目更能體現(xiàn)vim的性能優(yōu)勢
0
回答0
回答10
回答0
回答10
回答0
回答8
回答0
回答10
回答0
回答