国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品
搜索
熱門關(guān)鍵詞:
Maxim
羅姆
DSP
電動(dòng)機(jī)
電流
手機(jī)版
官方微博
微信公眾號(hào)
登錄
|
免費(fèi)注冊(cè)
首頁(yè)
新聞
新品
文章
下載
電路
問答
視頻
職場(chǎng)
雜談
會(huì)展
工具
博客
論壇
在線研討會(huì)
技術(shù)頻道:
單片機(jī)/處理器
FPGA
軟件/編程
電源技術(shù)
模擬電子
PCB設(shè)計(jì)
測(cè)試測(cè)量
MEMS
系統(tǒng)設(shè)計(jì)
無(wú)源/分立器件
音頻/視頻/顯示
應(yīng)用頻道:
消費(fèi)電子
工業(yè)/測(cè)控
汽車電子
通信/網(wǎng)絡(luò)
醫(yī)療電子
機(jī)器人
當(dāng)前位置:
EEChina首頁(yè)
›
論壇
›
軟件編程/OS
返回列表
查看:
8229
|
回復(fù):
13
大家都說用VIM的是高手,可是請(qǐng)別碰我 !
[復(fù)制鏈接]
linux_Ultra
linux_Ultra
當(dāng)前離線
積分
43512
電梯直達(dá)
樓主
發(fā)表于 2009-8-31 17:33:46
|
只看該作者
|
倒序?yàn)g覽
|
閱讀模式
貿(mào)澤電子有獎(jiǎng)問答視頻,回答正確發(fā)放10元微信紅包
關(guān)鍵詞:
vim
,
高手
本帖最后由 老郭 于 2009-9-1 15:18 編輯
大家都說用VIM的是高手,我說不對(duì),隨便看一下程序圖片,簡(jiǎn)直就是絕世高手用的編輯器。我折騰了半夜,反而被它給折騰了,因此為了朋友們的幸福著想,我不再一一列舉它的用法。其實(shí)最大的原因是:不好意思,我也沒能學(xué)會(huì)傳說中的絕世武功。
據(jù)說,VIM(編輯器)+GCC(編譯器)+GDB(調(diào)試器)是
Linux
下最常用的開發(fā)工具鏈。自小被VS2005浸染的我,不習(xí)慣VIM,不習(xí) 慣GCC,不習(xí)慣GDB,叫我怎么敢跑到Linux下寫程序。高手們似乎很喜歡用VIM加上一大堆插件來(lái)寫程序,根據(jù)我看到的做法,要想有VS那樣的智能 補(bǔ)全功能,VIM首先要Ctags(這是要輸入一長(zhǎng)串命令的),接著輸入幾個(gè)字母再按一下Tab鍵(需要SuperTab插件),才能出現(xiàn)智能提示。
這還不是最緊要的,在VIM里面,刪除一行字,請(qǐng)按d兩下,刪除一個(gè)字,請(qǐng)按一下x。以及一長(zhǎng)串的需要記憶的命令列表,例如gg是跑到文章的最前面,shift+4是跑到行首,等等。我不自覺地想起了小學(xué)五年級(jí)那個(gè)暑假學(xué)的WPS,要輸入一大堆的指令才能輸出一篇格式整齊的文檔,在別人眼里看起來(lái)絕對(duì)是很牛的事情。現(xiàn)在會(huì)用Office2007的,也不止你我他吧?至于那個(gè)時(shí)候所學(xué)的一大堆WPS控制指令,還有五筆字型,到現(xiàn)在全忘了。
我肯定不是個(gè)記憶強(qiáng)的人才。帥哥拿起個(gè)
Ubuntu
,手中熟練地敲打著一堆我看不懂的指令,看得我眼花繚亂。用Linux,我最頭疼的事情是干什么事情我都要先敲入一個(gè)命令,然后–help找?guī)椭鷣?lái)看,否則絕不會(huì)記得那個(gè)命令是怎樣用的。一開始還說這是學(xué)習(xí)階段要好好熬,嘗試多了以后就會(huì)覺得這事真的很折騰。
你說,好好一個(gè)軟件為何就不寫個(gè)gui界面,非得讓我敲命令去記憶每個(gè)參數(shù)什么意思,好好一個(gè)配置為何就不寫個(gè)gui界面,非得讓我把整個(gè)配置文件研究完才知道我該去哪里修改配置參數(shù)。
他們說:Unix哲學(xué)是:一個(gè)程序只做一件事,并做好。但是不知道為什么,Linux下的軟件作者似乎就是懶得寫個(gè)gui,或者他們認(rèn)為他們只需把軟件的邏輯做好就可以了,至于gui方面,根據(jù)簡(jiǎn)單原則,應(yīng)該由其他有興趣的人去做。其實(shí)我覺得原因有二,一則是沒有強(qiáng)大的開發(fā)工具(要像C#那樣拖個(gè)控件就可以寫gui),二則程序員也懶。
為什么沒有強(qiáng)大的開發(fā)工具呢,為什么Linux下沒有VS這樣的重磅武器?我再?gòu)腣IM+GCC+GDB說起吧。VIM的難剛才說過了,GCC的話,要是有幾個(gè)文件你非得自己手動(dòng)寫一個(gè)makefile不可,GDB我基本沒試過,據(jù)說也有些圖形界面的調(diào)試工具,可以像VS那樣按一下快捷鍵就能調(diào)試(這個(gè)肯定也是要配置N久的),我看過一份GDB的使用手冊(cè),又要記憶很多調(diào)試指令,我覺得我快要崩潰了。
上面所說的“一個(gè)程序只做一件事,并做好”現(xiàn)在已經(jīng)造成了許多弊端,最可見的是依賴性。
相信在Linux下稍微深入過進(jìn)行開發(fā)的知道,GCC的版本號(hào)是件很痛苦的事情,有些程序要A版本的GCC編譯,有些程序要B版本的GCC編譯,高點(diǎn)低點(diǎn)版本號(hào)都不行。再加上相應(yīng)的頭文件庫(kù)文件版本號(hào),你是不是有種抓狂的感覺。悄悄地,我再告訴你,Linux現(xiàn)在發(fā)展很快,版本號(hào)一直在不停地變,你可以去發(fā)瘋了。
譬如,A作者維護(hù)一份A程序,B作者維護(hù)一份B程序,兩個(gè)程序之間是有依賴的(可能的情況是B程序是A程序的gui),突然B作者想去周游世界不繼 續(xù)開發(fā)B程序了,A作者繼續(xù)開發(fā)下去,接口變了,那B程序基本就沒用了。作為使用者的你,要么只能怨天尤人,要么改行幫B繼續(xù)開發(fā)。
開源模式無(wú)疑是有很多長(zhǎng)處的,但是其短處一直沒有被正視。開源意味著源代碼開放,人人都可以修改提交,可是就實(shí)際情況而言,更多的是做橫向的,而不 是做縱向的。我所說的橫向是指開發(fā)配套軟件,縱向是指對(duì)軟件進(jìn)行更深入的開發(fā)。因?yàn)闄M向的容易,只需要知道要配套的接口就可以了,而做縱向則需要將源碼讀 懂。
繼續(xù)說為什么Linux下不可能出現(xiàn)VS這樣的重量級(jí)應(yīng)用。VIM+GCC+GDB一樣可以實(shí)現(xiàn)VS的功能,可以進(jìn)行編碼,編譯以及調(diào)試,但為什么它們合起來(lái)就不是VS?因?yàn)闆]有架構(gòu)。
現(xiàn)在開源的開發(fā)模式說到底還是陳舊的開發(fā)模式。軟件工程的概念已經(jīng)提出來(lái)好幾十年了,可是當(dāng)你想深入了解某個(gè)開源軟件,接著去下載其源代碼的時(shí)候,會(huì)很悲哀地發(fā)現(xiàn):你找不到任何對(duì)應(yīng)的開發(fā)文檔。所有能幫助你理解源代碼的只是程序源代碼中的注釋。
假如你很牛,想要做一個(gè)Linux下比VS還強(qiáng)的IDE,要用到VIM、GCC和GDB,你要做哪方面的工作呢?以進(jìn)行一次小小的開發(fā)為例吧。先不管VIM中代碼智能提示是怎么來(lái)的(至今我還不知道如何寫好函數(shù)名后提示我參數(shù)列表),辛辛苦苦寫好代碼后,要編譯是吧?假設(shè)編譯出錯(cuò)了,GCC會(huì)提示你哪里錯(cuò)了,還顯示出一個(gè)行號(hào)提示是哪里的錯(cuò)誤,錯(cuò)誤是什么。想快速定位到錯(cuò)誤的地方嗎?不好意思,GCC說我是編譯器這事不歸我管,VIM是個(gè)編輯器,這事歸它管。可我總得知道是哪里錯(cuò)吧?誰(shuí)給我這個(gè)定位的參數(shù)?GCC只能輸出信息,它意識(shí)不到VIM的存在。這時(shí)候你得寫個(gè)適配接口,將GCC的輸出信息轉(zhuǎn)換一下,然后提交給VIM,VIM再跳轉(zhuǎn)到出錯(cuò)的地方。當(dāng)然這個(gè)VIM插件是有的,叫做quickfix。
諸如此類的問題很多,VIM、GCC和GDB是基本沒什么關(guān)系的軟件,要想使它們可以通信,你必須寫一大堆的適配程序,寫適配程序還得考慮VIM的接口是怎樣的,GCC的接口是怎樣的,GDB的接口又是怎樣的,這些你又得去學(xué)習(xí)。而在VS中,這是一個(gè)設(shè)計(jì)好了的架構(gòu),不同模塊之間的接口是已經(jīng)定義好了的,它們之間傳輸?shù)臄?shù)據(jù)也是定義好了的,想要通信是吧?簡(jiǎn)簡(jiǎn)單單在內(nèi)存?zhèn)魉鸵粋€(gè)變量過來(lái)就可以了。而在VIM+GCC+GDB的通信中,數(shù)據(jù)的傳送是很麻煩的事情,有時(shí)候還要通過寫入讀出硬盤,很神奇吧?
由于沒有架構(gòu),所以要寫一大堆的適配器才能將它們集成起來(lái),還有些是適配器做不了或者做得不夠好的功能,譬如剛才所說的代碼智能提示,的確是有 VIM插件可以做,但是如果你看過寫C#時(shí)候VS的行云流水,就知道那些插件做得遠(yuǎn)遠(yuǎn)不夠。這不是插件的問題,而是VIM+GCC+GDB們?cè)谠搩?nèi)聚的時(shí)候沒有內(nèi)聚。當(dāng)然這也不是它們的分內(nèi)事,它們本來(lái)就不是打算做IDE的。這時(shí)候你還會(huì)覺得“一個(gè)程序只做一件事,并做好”是絕對(duì)好事嗎?
知道了沒有架構(gòu)之后,你可能會(huì)想,要是有了架構(gòu),是不是就可以做出VS那樣的IDE了?這還得考慮開源開發(fā)者的軟件工程水平。就我看來(lái),還是有許許 多多的開源開發(fā)者基本是沒有軟件工程概念的。在現(xiàn)實(shí)中,你可以要求一個(gè)開發(fā)者按照你的思路你的文檔去開發(fā),因?yàn)槟阏莆罩男匠�。而在網(wǎng)絡(luò)中,一則沒有軟 件工程開發(fā)觀念,二則他們也不會(huì)去學(xué)習(xí)新的一門學(xué)科,各種各樣的軟件工程開發(fā)模式,咱做開源只是興趣而已,此處不留爺,自有留爺處。你拿什么來(lái)管理這些不 想被束縛的開發(fā)者們呢?
除非,有架構(gòu),而且VIM和GCC和GDB按照架構(gòu)去做,否則絕不會(huì)做出VS那樣的IDE�?墒菐缀踉谝槐P散沙各自為政的開源界,有可能嗎?所以我斷言,開源界不可能出現(xiàn)VS那樣的重量級(jí)應(yīng)用。
——————————
編輯一下,把亂碼去掉
收藏
0
頂
0
踩
0
相關(guān)文章
•
基于VIM的嵌入式存儲(chǔ)控制器的研究與實(shí)現(xiàn)
•
幫朋友招一個(gè)allegro高手
•
求高手幫我改一下下面的c++程序!!!!!!!!!!!
•
年輕工程師如何鍛煉成高手的
•
年輕工程師如何成為高手
•
vim的神級(jí)配置
•
嵌入式Linux中Vim編輯器的使用
•
盤點(diǎn)Linux操作系統(tǒng)下C語(yǔ)言編程注意事項(xiàng)
•
借寶地找志同道合的DIY高手進(jìn)行探討!請(qǐng)問哪里有高級(jí)工程師,電子高手,電路高手,設(shè)
回復(fù)
舉報(bào)
linux_Ultra
linux_Ultra
當(dāng)前離線
積分
43512
沙發(fā)
樓主
|
發(fā)表于 2009-8-31 17:34:41
|
只看該作者
《別碰我,VIM》續(xù)
ugmbbc發(fā)布于 2009-08-30 15:59:05|17210 次閱讀 字體:大 小
打印預(yù)覽
感謝匿名人士的投遞
新聞來(lái)源:原創(chuàng)
十年前,會(huì)打字就叫做計(jì)算機(jī)高手了。今天,會(huì)寫程序也叫做計(jì)算機(jī)高手了。我相信過了十年后,寫程序會(huì)是件相當(dāng)普遍的事情。打字是表達(dá)思想,寫程序也是表達(dá)思想,我個(gè)人覺得,無(wú)謂為了這些艱難的入門而浪費(fèi)用戶有限的精力,同時(shí)可以將用戶的精力用于更關(guān)鍵的地方,這才是開源界所要做的工作。
粗粗看過文后的評(píng)論,不出所料地引來(lái)罵聲一片。再不出所料的是,反駁我的評(píng)論無(wú)一例外地對(duì)作者本身先做一番評(píng)論再對(duì)文章說事,甚至再加上對(duì)作者身份的斷定(肯定是在線大學(xué)生寫的云云),好比罵人前先扣一尿盆子到頭上再開罵不遲。這些尿盆子是:自我感覺太好、無(wú)知、自己水平差(所以就別亂說)、白癡等等。其實(shí)我想說,心態(tài)很重要,您如若抱著這樣的心態(tài)我們繼續(xù)討論下去,大家都不愉快,我不如打白旗率先退出為好。
至于質(zhì)疑我用的是不是正版VS的問題,以至于質(zhì)疑我不尊重軟件價(jià)值的問題,這也是個(gè)扯開話題攻擊人身的問題,盡管回答這個(gè)問題很沒有必要,我還是做出回答,我所用的VS和OFFICE都有授權(quán)的。希望我們不要扯到正版盜版的問題方面去,繼續(xù)問我電腦里面所有的軟件是不是都是正版的,就算是正版的又怎樣,你還會(huì)進(jìn)一步質(zhì)疑我肯定聽過MP3,看過RMVB吧,這些作者都付費(fèi)了嗎?
何況質(zhì)疑我的大多熱門評(píng)論里面提到的都是VIM。我無(wú)意加入Emacs和VIM和各種編輯器之間的罵戰(zhàn),更無(wú)意想強(qiáng)加我對(duì)蘿卜青菜的喜歡于各位。我只是通過VIM來(lái)引出我對(duì)開源項(xiàng)目管理模式的不滿而已,何故各位對(duì)我的蘿卜青菜之愛嚴(yán)加指責(zé)呢?另我感到驚愕的是,大家都在對(duì)我不愛VIM表示了很大的不滿,而對(duì)我說的項(xiàng)目管理模式絲毫不提及。須知道,編碼只是最底層的一個(gè)工作,而我說的是上層建筑的架構(gòu)有問題。至于怎么編碼,這是個(gè)人喜好的問題。
而我說的那些依賴性的問題,各個(gè)軟件之間配合工作的問題,等等,有人肯質(zhì)疑嗎?
有網(wǎng)友提出我文中工具鏈的說法是錯(cuò)誤的,我查了一下,的確我的提法是錯(cuò)誤的,感謝指正。
先說效率問題。有人評(píng)論說VIM高效,這點(diǎn)毋庸置疑,我同意。有人評(píng)論說VIM使用面廣,我也同意�?蓡栴}是我質(zhì)疑的不是這個(gè)呀,我只是說VIM命令繁多,記憶困難而已。
“如果你還在編碼,這文章等你10年后來(lái)看看,不知道你會(huì)不會(huì)覺得當(dāng)年很無(wú)知”。請(qǐng)容許我舉個(gè)例子,現(xiàn)在的十年前,打五筆的笑打拼音的,五筆打字的確是快,比拼音快多了。到現(xiàn)在,五筆還是比打拼音的要快,可是現(xiàn)在打五筆的還有幾何?一個(gè)Coder好比一個(gè)打字員希望看稿打字一樣,當(dāng)然希望拿起詳細(xì)設(shè)計(jì)直接就來(lái)編碼。這時(shí)候,編輯器的效率是很重要的。但是做上層設(shè)計(jì)工作的知道,腦子其實(shí)比手動(dòng)得慢,一個(gè)程序編碼的時(shí)間比思考的時(shí)間少多了,整個(gè)項(xiàng)目中,編碼時(shí)間只占10%左右的工作時(shí)間。
好比寫文章和看稿打字的區(qū)別。寫文章用五筆,思路好不容易整理好,打字的時(shí)候發(fā)現(xiàn)有個(gè)字五筆不記得怎么打,是件很惱火的事情。用VIM寫程序,邏輯設(shè)計(jì)好以后,編碼又不記得某個(gè)函數(shù)的參數(shù)列表的先后次序,也是件很惱火的事情,再加上繁文縟節(jié)一般的操作命令,我不知道我是專注于程序多一些還是專注于VIM多一些了。當(dāng)然看稿打字那就容易多了,所全神貫注的地方是如何把每個(gè)字打好了,而不用考慮整篇稿子的起承轉(zhuǎn)合問題。
GUI和文本模式各有優(yōu)缺點(diǎn),只是在未來(lái)的潮流發(fā)展中,哪個(gè)利多弊少的問題。當(dāng)年DOS下的WPS是很牛,可是也被現(xiàn)在的WPS取代了,當(dāng)年DOS的《仙劍奇?zhèn)b傳》是賺取了大量熱淚,但是現(xiàn)在再出一個(gè)同樣品質(zhì)的《XX傳》,會(huì)有人買賬嗎?VIM若是現(xiàn)在冒出來(lái)的,會(huì)有那么多人捧場(chǎng)稱頌嗎?無(wú)非是習(xí)慣作用罷了。我還記得VIM有個(gè)列塊操作,DOS版的WPS也有,在教程中還專門寫上了,可是真正用得上列塊操作的人又有多少呢?
我還想起了Linux下compiz桌面特效可以畫一團(tuán)火,初看是很帥,實(shí)際上后來(lái)根本就沒人會(huì)無(wú)聊到在自己桌面上花一團(tuán)火出來(lái)玩。
試問,十年后,一定就會(huì)知道鹿死誰(shuí)手嗎?我說的是我是那樣的一種懶惰的人,而且深信正是懶惰使世界進(jìn)步,而且我相信這種人不在少數(shù),如果覺得VIM更適合自己的,無(wú)妨忽視我。
再說Eclipse和NetBeans。相信同時(shí)深入用過VS和Eclipse的人都知道就開發(fā)(不分語(yǔ)言)而言,孰優(yōu)孰劣。Code::Blocks我也用過,就C++開發(fā)而言,跟VS就不是一個(gè)重量級(jí)的。(我說的不是VC6,是VS2005,不要拿98年的VC6來(lái)和現(xiàn)在的比)
我文中提到開源模式的問題,似乎沒有人做出反駁,只是針對(duì)我的個(gè)人喜好做出來(lái)駁斥,倒是贊同的有一些,
其實(shí)我拿VIM說事的重點(diǎn)是開源模式有問題,希望大家可以在這方面對(duì)我進(jìn)行批評(píng)。
這里我再提一句,Eclipse和NetBeans一開始都不是開源的,它們之所以成為重量級(jí)IDE,它們的架構(gòu)是一早就規(guī)劃好的了,我沒發(fā)現(xiàn)開源之后它們的架構(gòu)有哪方面重大的變化(以至于我陰謀地懷疑它們開源的原因只是想利用開源界的編碼力量而已)。
再說LaTeX。用過LaTeX的相信都是被其強(qiáng)大的數(shù)學(xué)公式編輯功能所吸引過去的。OFFICE2007里面也有,LaTeX的文法,可視化的數(shù)學(xué)公式,不用再編譯生成就可以知道自己輸入的是什么東西,這不更好嗎。
批評(píng)我淺嘗輒止的話,有一個(gè)評(píng)論說得很對(duì),我們應(yīng)該把精力放在關(guān)鍵的地方(只是可惜不知道為什么,沒人支持也沒人反對(duì))。世界上好玩的東西很多,不是什么東西都可以弄精通的。假設(shè)我才智中等,把VIM弄精通了,把GCC弄精通了,把GDB弄精通了。這就意味我要放棄另外一些也很好玩的東西。我的意見是對(duì)每樣?xùn)|西都淺嘗輒止,只對(duì)自己很有興趣的進(jìn)行深度挖掘。至于VIM對(duì)我而言,它只是個(gè)工具,還沒有上升到設(shè)計(jì)甚至思想方面的高度,不是說它不好,而是就算精通了我又能怎樣,打字快點(diǎn)而已嗎?計(jì)算機(jī)永遠(yuǎn)只是一個(gè)輔助工具,對(duì)人的輔助作用始終是有限的。
再到gui的問題。有人說不需要gui,因?yàn)椴恍枰猤ui也工作得很好,因?yàn)榉⻊?wù)器要gui是要耗費(fèi)資源的。先弄明白gui是干什么用的,不是機(jī)器要看到gui,而是人要看到gui。gui只有在需要的時(shí)候才需要被啟動(dòng)。好的gui可以使人工作效率提高,如apache為例吧,我是贊成apache用文本配置的,盡管我第一次配apache,sendmail這些花了老半天時(shí)間,因?yàn)橐话阌脩粲貌簧�,這些事情應(yīng)該由專業(yè)的網(wǎng)絡(luò)管理員去做。
十年前,會(huì)打字就叫做計(jì)算機(jī)高手了。今天,會(huì)寫程序也叫做計(jì)算機(jī)高手了。我相信過了十年后,寫程序會(huì)是件相當(dāng)普遍的事情。打字是表達(dá)思想,寫程序也是表達(dá)思想,我個(gè)人覺得,無(wú)謂為了這些艱難的入門而浪費(fèi)用戶有限的精力,同時(shí)可以將用戶的精力用于更關(guān)鍵的地方,這才是開源界所要做的工作。
回復(fù)
支持
反對(duì)
舉報(bào)
linux_Ultra
linux_Ultra
當(dāng)前離線
積分
43512
板凳
樓主
|
發(fā)表于 2009-8-31 17:35:41
|
只看該作者
VIM vs VS:關(guān)公戰(zhàn)秦瓊
ugmbbc發(fā)布于 2009-08-30 19:58:03|15023 次閱讀 字體:大 小 打印預(yù)覽
cnBeta 視點(diǎn)觀察
感謝程序員老頭的投遞
作為程序員,我們應(yīng)該對(duì)開發(fā)環(huán)境和工具軟件有著嚴(yán)肅的態(tài)度,真正弄明白各類工具的用法和用途,好歹這些是我們吃飯的家伙,是不是?不會(huì)使用各種開發(fā)工具的程序員,不是個(gè)好程序員:你拖了團(tuán)隊(duì)的后腿,減少了大家的工具選項(xiàng),降低了團(tuán)隊(duì)的開發(fā)水準(zhǔn)。另一方面,不知道該在什么項(xiàng)目中采用什么開發(fā)工具的,也不是好的team leader,眼界太窄,更可能影響開發(fā)的成敗。強(qiáng)大的開發(fā)工具并不是在各方面都強(qiáng)大,尺有所短,寸有所長(zhǎng)。
不想當(dāng)將軍的士兵不是好士兵,在我眼你,不愿意研究開發(fā)工具的人也不是個(gè)好程序員,這樣的人很多很多,浮躁而不自知,自大而不自信,不尊重自己的工作,也不知道尊重前輩的知識(shí)。就這么渾渾噩噩在開發(fā)圈子里混著,一年兩年,逐漸對(duì)自身的待遇不滿,也逐漸不能勝任工作的要求。
10年前,正是互聯(lián)網(wǎng)泡沫第一次開始破滅的開端,一家家公司接連倒閉,很多剛?cè)肼殠讉€(gè)月的計(jì)算機(jī)專業(yè)的學(xué)生很快又得再次求職……程序員的貶值,程序員隊(duì)伍整體水平的滑坡,正是從那時(shí)開始的�;貞洰�(dāng)時(shí),一般的程序員還真不敢自稱高手。
作為一個(gè)斷續(xù)做了6年windows開發(fā),斷續(xù)做了11年Linux開發(fā)(中間有重合的交集)的老程序員,我換過若干家公司,經(jīng)歷過一些不同性質(zhì)的項(xiàng)目,windows下mfc的,純sdk的,數(shù)據(jù)庫(kù)的,c/s、b/s的,ddk的(有早期的vxd,也有后來(lái)的wdm)經(jīng)歷過,linux下的小驅(qū)動(dòng),通訊設(shè)備研發(fā),媒體設(shè)備研發(fā)也做過不少,還有業(yè)余做的php、ror項(xiàng)目,現(xiàn)在更是專職在做大流量高并發(fā)的……在線游戲后臺(tái),為玩家們提供堅(jiān)固的精神鴉片支撐。用過的語(yǔ)言和工具比較多了,從在校學(xué)習(xí)的tc2、bc++3開始,到自學(xué)的vc、delphi、bcb,還有些忘了名,但第一份工作用的工具vc。從vc4開始的,后來(lái)一直升級(jí),到最近的vs2008,我甚至業(yè)余做過VS和BCB的插件。另一方面,自己筆記本上始終安裝的是linux,最初是 redhat后來(lái)是slackware,debian,ubuntu,arch。也嘗鮮過一些別的發(fā)行版,其他os這里就不提了。長(zhǎng)期做嵌入,自然長(zhǎng)期用 GNU/Linux (這是正式的名稱)。我想不管是對(duì)于windows還是對(duì)于linux下的各種工具,我自認(rèn)了解程度和使用經(jīng)驗(yàn),應(yīng)該為比《別碰我,VIM》的作者要更多。我就倚老賣老吧,希望作者能聽?zhēng)拙淅霞一锏膹U話。
作為程序員,我們應(yīng)該對(duì)開發(fā)環(huán)境和工具軟件有著嚴(yán)肅的態(tài)度,真正弄明白各類工具的用法和用途,好歹這些是我們吃飯的家伙,是不是?不會(huì)使用各種開發(fā)工具的程序員,不是個(gè)好程序員:你拖了團(tuán)隊(duì)的后腿,減少了大家的工具選項(xiàng),降低了團(tuán)隊(duì)的開發(fā)水準(zhǔn)。另一方面,不知道該在什么項(xiàng)目中采用什么開發(fā)工具的,也不是好的team leader,眼界太窄,更可能影響開發(fā)的成敗。強(qiáng)大的開發(fā)工具并不是在各方面都強(qiáng)大,尺有所短,寸有所長(zhǎng)。說到這里,相信你也明白鉆研的重要性了吧,更不要輕視業(yè)界都依賴的重要軟件。你是非常聰明的,大家的智商也不會(huì)有多低下。一個(gè)如此差勁的軟件偏偏那么多人喜歡去用,事出反常必有妖,這里的怪異之處,難道不值得去仔細(xì)思考嗎?
接下來(lái)我說說《別碰我,VIM》里的一些小問題,希望作者,也希望有興趣的圍觀者能有點(diǎn)小收獲。都是些常識(shí)話,主要是說給有志于軟件開發(fā)事業(yè)的人,可能比較無(wú)聊,而且刺耳。無(wú)興趣就不要看了。
軟件間依賴性問題稱為耦合,這是包管理器自動(dòng)完成的事情,對(duì)用戶而言是自動(dòng)的,透明的,使用者沒有必要去關(guān)心這些,而開發(fā)者自然應(yīng)該知道這些。這實(shí)在不該是指責(zé)某個(gè)軟件的理由。linux的工具是相當(dāng)精干的,工具間相互配合,勝任各種復(fù)雜任務(wù),我看不出這是什么缺點(diǎn)。如果有一個(gè)開發(fā)軟件,很龐大,不依賴別的什么軟件,自身就可以完成全部開發(fā)所需的功能,這樣的軟件就是好的嗎?記住一句常識(shí)吧:不要重復(fù)發(fā)明輪子。當(dāng)然這在windows下是不可能的,因?yàn)?windows系統(tǒng)根本就沒有開發(fā)用的任何輪子,所以,各個(gè)開發(fā)商,必須自備輪子。以至于很多人已經(jīng)習(xí)慣了自備車輪,該換個(gè)角度思考問題了。
接下來(lái)說說效率問題,編程不等于打字,程序員總會(huì)有更多獨(dú)特的要求。寫過很多程序,維護(hù)過很多程序之后,你就會(huì)明白為什么vim比vs更好用了,這是用了才能體驗(yàn)的事情。我感覺在和你討論“子非魚,安知魚之樂”了。哎,vim對(duì)coder們的體貼之處,怎么是幾句話能說清的呢?總而言之:快捷鍵,正則式、以及!執(zhí)行等等功能,對(duì)程序員而言,都是相當(dāng)重要的,這些vim有而vs沒有的功能,讓我極大的感覺到vim的爽,以及vs的不便之處,只寫hello world是無(wú)法了解這一點(diǎn)的。程序員們熱愛vim到什么程度了呢?firefox都有vim插件,讓我們能夠以vim的操作方式看網(wǎng)頁(yè)。用久了vim,你會(huì)上癮。一個(gè)能讓人上癮的軟件,絕不是會(huì)是你眼中的廢品。當(dāng)然另外一面,如果你不是長(zhǎng)期寫程序,沒有那些特殊的需求,你就不會(huì)覺得vim有任何的好處。如果只準(zhǔn)我用vs會(huì)有什么感覺呢?就像一個(gè)專業(yè)的車手,不讓開賽車,讓我用強(qiáng)大而舒適的自動(dòng)波,那是很郁悶的。作為程序員,本著對(duì)工作負(fù)責(zé)的態(tài)度,不管開發(fā)工具有多糟糕多難用,你也應(yīng)該掌握,這是本職所在。況且效率上vim其實(shí)更高,而現(xiàn)在不專業(yè)的你,還沒學(xué)會(huì),完全對(duì)vim沒有應(yīng)具備的認(rèn)知。
懶惰使世界進(jìn)步,所以我們我們用使工作效率更高的軟件,而不是相反。公司對(duì)效率的追求是沒有止境的,程序員絕對(duì)不是個(gè)舒適的職業(yè),你可以想辦法更省事的完成任務(wù),但絕不要笨鳥還不飛。懶惰到一定程度,連什么工具干活更快更省都不清楚,那就有生存危機(jī)了。你也許覺得寫程序,大部分時(shí)間都在思考,打字速度無(wú)所謂。但很多公司的程序員試用期都會(huì)考核英文打字速度,這就是對(duì)效率的追求,絕不是無(wú)聊。在校學(xué)生,職場(chǎng)新人,都要有這個(gè)心理準(zhǔn)備,不要以為編程的工作多輕松。
至于compiz什么的我不多說,這與程序員無(wú)關(guān)。我是用compiz + cairo-dock的,只是為了養(yǎng)眼,沒有提高或者降低工作效率。
再說Eclipse,這是很多公司的標(biāo)準(zhǔn)開發(fā)環(huán)境,不管你是不是喜歡,不管你的VS用得多好,都要面對(duì)這個(gè)現(xiàn)實(shí)。說些廢話:我接觸的用Eclipse的薪資水平比用VS的基本上要高,用VIM的又更高一點(diǎn)。國(guó)人浮躁,用金錢衡量?jī)r(jià)值顯得權(quán)威一些,如果我說技術(shù)水平……大家不服氣,呵呵。就沖著RMB,大家還是多掌握些手藝吧。二者的優(yōu)劣,我不想多說,這是見仁見智的問題。VS就像IE,Eclipse就像Firefox,跨平臺(tái),功能要靠擴(kuò)展的,當(dāng)然我個(gè)人是更喜歡Eclipse。
至于開源模式。這個(gè)話題相當(dāng)有分量,我不認(rèn)為這是現(xiàn)在的你能談?wù)摰摹J裁词情_源什么是自由軟件?什么叫分布式協(xié)同開發(fā),什么叫持續(xù)集成滾動(dòng)更新什么叫永遠(yuǎn)的beta版?Agile是什么Scrum是什么?呵呵,相信我,這只能是做過很多個(gè)不同模式的項(xiàng)目管理的人,才能有體驗(yàn)的。軟件架構(gòu)和開發(fā)模式,目前離你都比較遠(yuǎn),沒有實(shí)踐而探討,就成了空話。你真的應(yīng)該相信長(zhǎng)者,去看前人的經(jīng)驗(yàn)和教訓(xùn)的總結(jié),《大教堂與集市》這樣的文章,真不是垃圾。
就我所知道的,業(yè)余參與GNU項(xiàng)目的,大部分都是公司的牛人,而專職的自由軟件開發(fā)者,基本上都是業(yè)界的頂尖人物。如果連你都輕易的發(fā)現(xiàn)他們的開發(fā)模式錯(cuò)了,那全球軟件行業(yè)還真是腦殘集中營(yíng)了。否決這么一大票牛人還真是需要勇氣的。
LaTeX可以直接用,也可以用來(lái)實(shí)現(xiàn)可見即所得的編輯器,攻擊排版軟件的基石也需要極大的勇氣啊。Openoffice.org很好用,甚至國(guó)產(chǎn)的 WPS Office也都很好,為什么要花那么多錢買Office呢。我的windows里安裝的還是Openoffice.org,公司采購(gòu)的是WPS。在 Linux里,大部分時(shí)間我是用簡(jiǎn)單的abi的,對(duì)我夠用了,用不著那么多復(fù)雜功能。
世界上好玩的東西很多,不是什么東西都可以弄精通的,但吃飯的家伙還真得精通。廚師不能靠意念炒菜、司機(jī)不能靠意念開車,你也不能靠意念寫程序,人不能活在想象之中,電腦幫我們寫程序的科幻時(shí)代還沒到來(lái)。學(xué)不好,是你沒刻苦努力,與你的才智無(wú)關(guān)。我從小就很普通,父母說我呆,同學(xué)說我笨,從小學(xué)到大學(xué)習(xí)成績(jī)都不太好,大學(xué)掛掉n門課,但這并沒妨礙我把VIM弄精通了,把GCC弄精通了,把GDB弄精通了,把幾個(gè)專用的嵌入式操作系統(tǒng)弄精通了。只要功夫深,鐵杵磨成針,大道理不多說,你別總給自己找借口,這些軟件都是你應(yīng)該精通的。這些其實(shí)也都是很無(wú)聊的,并不是什么有趣的東西。學(xué)習(xí)它掌握它,精通它,是你的責(zé)任,不管是不是有興趣都要去做到。
最后說場(chǎng)合問題:無(wú)GUI的環(huán)境永遠(yuǎn)會(huì)存在,不是所有的設(shè)備都必須連接鍵盤鼠標(biāo)。服務(wù)器永遠(yuǎn)都不需要GUI,這與時(shí)代進(jìn)步無(wú)關(guān)。做windows開發(fā)用 VS是天經(jīng)地義,做服務(wù)器、嵌入式、Linux或者跨平臺(tái)開發(fā),用VIM也是很適合的選擇。我不明白為什么作者要把兩個(gè)在工作中很難有交集的東西做對(duì)比,這就是本文標(biāo)題的由來(lái)了。如果硬要做對(duì)比的話,我要說,windows 開發(fā)真tmd不爽(個(gè)人喜好,請(qǐng)勿模仿),我就是不喜歡不對(duì)我公開的東西,就是不喜歡難調(diào)試的東西,就是不喜歡開發(fā)速度慢的東西,就是不喜歡負(fù)載能力低下的東西……個(gè)人情緒宣泄而已,就是這樣。不要上綱上線的談tmd什么模式、技術(shù)水平,這是我個(gè)人的情緒和喜好,沒有理由。
不想當(dāng)將軍的士兵不是好士兵,在我眼你,不愿意研究開發(fā)工具的人也不是個(gè)好程序員,這樣的人很多很多,浮躁而不自知,自大而不自信,不尊重自己的工作,也不知道尊重前輩的知識(shí)。就這么渾渾噩噩在開發(fā)圈子里混著,一年兩年,逐漸對(duì)自身的待遇不滿,也逐漸不能勝任工作的要求,逐漸一個(gè)個(gè)消失在開發(fā)界。而我這樣的老家伙們,漸漸的成了你所不能理解的人。
回復(fù)
支持
反對(duì)
舉報(bào)
wangkj
wangkj
當(dāng)前離線
積分
55903
地板
發(fā)表于 2009-8-31 19:27:46
|
只看該作者
不喜歡可以不用,有很多其他選擇。
例如gvim,emacs
甚至,你可以用vc,當(dāng)然看你會(huì)不會(huì)了。
回復(fù)
支持
反對(duì)
舉報(bào)
wangkj
wangkj
當(dāng)前離線
積分
55903
地下室
發(fā)表于 2009-8-31 19:29:51
|
只看該作者
我用 vi,用的命令不超過10個(gè),至今還不記得搜索替換命令。每次都google
回復(fù)
支持
反對(duì)
舉報(bào)
linux_Ultra
linux_Ultra
當(dāng)前離線
積分
43512
6
樓
樓主
|
發(fā)表于 2009-9-1 08:31:57
|
只看該作者
老師說說:做一個(gè)linux系統(tǒng)工程師不能光使vi就滿足了,要成為專家 必須使emacs。。。。。
回復(fù)
支持
反對(duì)
舉報(bào)
wangkj
wangkj
當(dāng)前離線
積分
55903
7
樓
發(fā)表于 2009-9-1 12:29:57
|
只看該作者
俺一點(diǎn)不懂emacs
回復(fù)
支持
反對(duì)
舉報(bào)
宇宙飛船
宇宙飛船
當(dāng)前離線
積分
35633
8
樓
發(fā)表于 2009-9-1 14:33:03
|
只看該作者
讀老家伙的貼子特別有快感!
回復(fù)
支持
反對(duì)
舉報(bào)
sinanjj
sinanjj
當(dāng)前離線
積分
36838
9
樓
發(fā)表于 2009-9-2 09:33:05
|
只看該作者
只用VI。其他環(huán)境一律無(wú)視。
word只用google在線的,只粘貼復(fù)制。
讓那些叫嚷VS比VI好的S13吃××去吧。。。。。
回復(fù)
支持
反對(duì)
舉報(bào)
原野之狼
原野之狼
當(dāng)前離線
積分
19882
10
樓
發(fā)表于 2009-9-4 00:06:19
|
只看該作者
好文章,值得一讀。
回復(fù)
支持
反對(duì)
舉報(bào)
carthy
carthy
當(dāng)前離線
積分
871
11
樓
發(fā)表于 2010-7-19 21:41:46
|
只看該作者
我認(rèn)為大部分人都不是程序員,好用的GUI比命令行好用得多。將來(lái)的趨勢(shì)也是GUI的天下,而不是命令行。
回復(fù)
支持
反對(duì)
舉報(bào)
bluesky_jian
bluesky_jian
當(dāng)前離線
積分
1049
12
樓
發(fā)表于 2010-12-14 11:46:57
|
只看該作者
學(xué)習(xí)了!!!!!!!!
回復(fù)
支持
反對(duì)
舉報(bào)
小鄧
小鄧
當(dāng)前離線
積分
38
13
樓
發(fā)表于 2011-4-13 19:06:45
|
只看該作者
必須使emacs。。。。。
回復(fù)
支持
反對(duì)
舉報(bào)
odiofan
odiofan
當(dāng)前離線
積分
36
14
樓
發(fā)表于 2011-4-17 00:56:08
|
只看該作者
俺也一點(diǎn)不懂emacs ,各工具各有他的用途, Vi/emacs 是比較不受 UI 的限制, 所以能用的地方較多, 但不一定是最好用的工具, 凡事熟能生巧是也
回復(fù)
支持
反對(duì)
舉報(bào)
返回列表
高級(jí)模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登錄后才可以回帖
登錄
|
立即注冊(cè)
本版積分規(guī)則
發(fā)表回復(fù)
回帖后跳轉(zhuǎn)到最后一頁(yè)
關(guān)于我們
-
服務(wù)條款
-
使用指南
-
站點(diǎn)地圖
-
友情鏈接
-
聯(lián)系我們
電子工程網(wǎng)
© 版權(quán)所有
京ICP備16069177號(hào)
| 京公網(wǎng)安備11010502021702
快速回復(fù)
返回頂部
返回列表
主站蜘蛛池模板:
亚洲视频在线观看网站
|
特级毛片永久久免费观看
|
麻豆app在线观看
|
国产第一福利精品导航
|
免费视频 久久久
|
亚洲另类天天更新影院在线观看
|
江疏影腿抬高点我要进去小说
|
久青青
|
91免费精品国自产拍在线不卡
|
日日操操干干
|
亚洲高清在线观看视频
|
痴女中文字幕在线视频
|
国产中文字幕第一页
|
失乐园在线观看
|
日韩高清伦理片中字在线观看
|
成人免费视频在线看
|
紫色丝袜人妖被调教榨精
|
精品欧美一区视频在线观看
|
h成人口工动漫在线看网站 h成人动漫
|
日韩三级一区
|
日本一区二区不卡视频
|
久久综合九色综合欧美播
|
欧美日韩高清不卡免费观看
|
一二三区在线观看
|
亚洲三级黄
|
国产美女毛片
|
国产黄色片在线免费观看
|
网站四虎1515hhcom
|
欧美成人h版影片在线观看 欧美成人h版白雪公主
|
久久综合性
|
久久er
|
俄罗斯美女破苞
|
精品国产三级
|
免费黄色在线播放
|
久久频精品99香蕉国产
|
亚洲激情在线观看
|
色婷婷精品免费视频
|
国产伦精品一区二区三区精品
|
成人激情站
|
丝瓜草莓视频在线观看
|
狠狠色丁香婷婷综合尤物
|