聲明,我是 Visual Studio 重度使用者。

 

Visual Studio

首先澄清一件事,並非認為 Microsoft Visual Studio 才是王道,但用了它那麼久,確實也給了它不少分數,不論 High Light、Debug and Trace、Tips 、Optimization 等,在 6.0 以後版本都人性化,這主要是我給高評價的原因。

我想,會造成我給 Visual Studio 高度評價的原因,被 Windows 系列 OS 慣壞,這才是背後最大因素

若與 Borland 系列做比較,不少人認為 Borland 一些物件包得較為漂亮、易於使用,Borland 我沒詳細研究,不適合予以評價。

 

C / C++ IDE ?

目前我所知較有名的 IDE,大致就 Dev-C++ ,Code::Blocks,CodeLite,Visual Studio,Borland 等。

眾所皆知的,Dev-C++ 已不再維護,以免費 IDE 而言,不少人推了 Code::Blocks 當 IDE。然而不論是 Dev-C++、Code::Blocks,我較為傾向直接去載 gcc 、g++ 回來用 (或許說是 MinGW 會好些)。

另,我本身在寫程式習慣是,開一份 project 後,還會再開一份 test project 出來,每次要寫什麼測試的小函式還是小程式,就先在 test project 裡面做測試動作,免得到時整份專案寫完後,死在邏輯錯誤,trace 半天找不到原因。也如我所言,我是 Visual Studio 重度使用者,但如果連續開了兩個 Instance,我覺得記憶體吃很大,於是通常我是一個開 Visual Studio Project,而另一個 Test Project 可能用比較小的 IDE 去做測試動作 (如換過 gcc 的 Dev-C++),所以後來我想盡辦法找記憶體吃最少的 IDE 出來。

記憶體吃最小的 IDE 是哪一套?我其實沒很研究過這點,相反的,我反而是花時間在研究那些  文字編輯軟體   怎麼去編譯、執行那些原始碼出來。下面是我用過的編輯軟體心得

 

NotePad++

NotePad++ 我認為較麻煩地方是在於,有一堆東西要下載 plugin,像是以 hex 方式檢視、以外部程式做編譯動作等等,這些都要再額外下載 plugin 進來 (其實都是 dll),而 plugin 對於版本需求之對應顯得較其它軟體來得嚴謹些,故我幾乎不用 NotePad++。

這套軟體和下面兩套 (UltraEdit、PSPad) 比起來,沒有專案管理功能,同時我認為遜色了一些。

 

UltraEdit

UltraEdit 應算是一份很強大的編輯軟體。但也由於裡面可自定的東西太多,要摸透它反而顯得讓人感到吃力。

我於 PTT 上 曾回復了一份,如何以 UltraEditor 架構編譯環境,沒完全寫完整便是。但若本身對於 JavaScript 有一定熟練度,說不定 UltraEdit 用起來會感到特別輕鬆,因 UltraEdit 一些巨集寫法,和 JavaScript 極為相似。也和 Visual Studio 相似,它有專案的概念在裡面。

很遺憾的是,UltraEdit 它不是免費軟體,算是極大的不便。

 

PSPad

PSPad 算是我較為推薦使用的軟體,本身在做小型測試時,幾乎都用 PSPad 方式去做開發測試。和 UltraEditor 相仿的幾個功能:HEX Viewer、專案管理、file compare (檔案比對我認為比 UltraEdit 好用一點) 等之外,我認為做得最特別的是程式碼管理部份

放幾張圖上來看看吧

pspad_sample.png  

這資料夾不是我自己設的,它是在 pspad 裡面,直接打開「程式碼瀏覽器」就有的東西,在 Function 那裡點一下,就直接進到 Function body  裡面去。而要設編譯器、編譯參數也不難設。而這功能,對於寫 batch file 的人其實更方便,會出現 Label,點一下 Label 就跳到該區段。由於本身寫 batch 時,會寫得很像 function like ,所以這東西對我而言非常方便。

 

Script Language & High light

大多 Script Language 都是直譯式,或許不是絕對,如 batch ,它主要也是拿 cmd.exe 或 common 去做翻譯動作而已, vbs 也是類似情形。但記得有一次在網路上有找到,有個程式可將 batch 轉成真正可執行之執行檔 (雖然我不懂這有什麼差別,是怕執行環境不吃 batch file 嗎?),接下來就不會是逐步翻譯的直譯式。

離題了。

Script Language 我不確定是否有絕對的定義,但我認為只要是以「腳本」形式,有一個固定程式去執行所謂的「腳本」,它便是 Script Language。在 Windows 上,像是 batch file、vb script 等,這些都是。而一些額外再安裝的,如 AutoIt、AutoHotkey、按鍵精靈 等等。

這些 Script Language 都有個特性,基本上用 notepad.exe 就可以開始寫,存檔時只是副檔名不同 (間接造成 os 調用之程式不同),到時執行時便喚起應去執行該腳本之程式。

但用 notepad.exe 去撰寫時,我認為最不方便的地方在於,它沒有 high light。

至於剛剛說的三套軟體, UltraEdit、PSPad、NotePad++,這些都會支援 Script Language high light,若 high light 方式不喜歡,其實可以自定義方式,或直接載 high light template 之類的回來便可。

 

再論 Visual Studio

Visual Studio 我認為是非常方便的工具,也是養壞初學者的元兇之一。Visual Studio 做 High light 、hint tip 方面,我認為確實做得比上述三個軟體都還要優秀。

但若 Visual Studio 要做 high light 的話,其實比較麻煩一點,如果是 Visual Studio 2010 的話,其實可以下載 TextHighlighterExtensionSetup.vsix ,這擴充的很好。但比較麻煩的是,如果為了一個 Script 還特別用 VS 建立一個專案,我覺得非常不划算,同時目前也只支援 Visual Studio 2010 而已。

回到最初,其實任何程式語言,只要能了解從 source 到 execute 整個流程、調用哪個執行檔,在不牽涉到 Debug、Trace 情況下,其實用哪套編輯軟體都可以,只需要再摸一下該編輯軟體之設定即可。

edisonx 發表在 痞客邦 PIXNET 留言(0) 人氣()