編輯器,編譯器與集成開發(fā)環(huán)境(IDE)

引言

為了了解自己在校內(nèi)建立的編程討論群里學(xué)長(zhǎng)學(xué)姐學(xué)弟學(xué)妹的大致比例,在群里做了一個(gè)小調(diào)查,根據(jù)結(jié)果來看,處處都恰到好處地映射了我們學(xué)校男女的比例—— 2:1 。投票參與人數(shù)比例約為 1/8 ,還是有很大的發(fā)展空間哈。

群內(nèi)年級(jí)性別調(diào)查表

好了切入技術(shù)正題,本文我們來淺談一下編輯器,編譯器和集成開發(fā)環(huán)境(IDE)的區(qū)別,并介紹幾款常用的編輯器和 IDE,提前掌握開發(fā)環(huán)境搭建前的知識(shí)儲(chǔ)備。

編輯器

編輯器的概念很簡(jiǎn)單,百度百科上這么寫道:

編輯器是軟件程序,一般是指用來修改電腦檔案的編寫軟件,但也有人稱 PE2、HE4(漢書)……等文書軟件為編輯器。常見的編輯器有文本編輯器、網(wǎng)頁編輯器、源程序編輯器、圖像編輯器,聲音編輯器和視頻編輯器等。

當(dāng)然在這里我們主要講的是代碼編輯器,一個(gè)好的編輯器可以節(jié)省開發(fā)時(shí)間,提高工作效率,它們都能提供非常方便易用的開發(fā)環(huán)境。你可以用它們來編寫代碼,查看源文件和文檔等,簡(jiǎn)化你的工作。

以下是一些常用的代碼編輯器,每個(gè)不同的編輯器都有不盡相同的目標(biāo)用戶群體。

NodePad++

Notepad++ 是一款免費(fèi)但優(yōu)秀的代碼編輯器,運(yùn)行在 Windows 環(huán)境下,可以支持多種編程語言。它在 50 多種程序、腳本和標(biāo)記語言上都有著語法高亮、代碼折疊等功能。用戶可以人為設(shè)置當(dāng)前語言,它還支持實(shí)現(xiàn)一些編程語言的API。

NodePad ++

Vim

Vim 是從 vi 發(fā)展出來的一個(gè)文本編輯器,在程序員中被廣泛使用。它支持語法高亮、顯示行號(hào),這都是對(duì)程序員重要的輔助功能。用戶還可以更換界面的主題顏色,減緩長(zhǎng)期編程的疲勞感,讓代碼更加清晰。它可以自動(dòng)檢查你的拼寫錯(cuò)誤,提高你的工作效率,對(duì)于開發(fā)者是一個(gè)非常好的選擇。

Vim

GNU Emacs

Emacs 是一個(gè)輕便、可擴(kuò)展、免費(fèi)的編輯器,它比其它的編輯器要更強(qiáng)大,是一個(gè)整合環(huán)境,或可稱它為集成開發(fā)環(huán)境。它可以處理文字,圖像,高亮語法,將代碼更直觀地展現(xiàn)給開發(fā)者。Emacs 可以運(yùn)行在大多數(shù)的操作系統(tǒng)上,而且它支持大多數(shù)常用的編程語言,可以自動(dòng)對(duì)代碼排版布局。Emacs用戶可以根據(jù)自身的需要和偏好對(duì)編輯器進(jìn)行定制。

Emacs

Sublime Test

Sublime Text 是具有漂亮的用戶界面、強(qiáng)大功能和優(yōu)良性能的一款代碼編輯器,你可以在 Windows、OS X 和 Linux 等主流操作系統(tǒng)上安裝并使用。

Sublime Text

Atom

Atom是免費(fèi)開源的文本和代碼編輯器,它是運(yùn)行在 Atom Shell 上,底層依賴的架構(gòu)是 Chromium(Google Chorome的開源項(xiàng)目)。沒有人想浪費(fèi)大量的時(shí)間在配置編輯器上,而在 Atom 上幾乎所有的設(shè)置都可以通過設(shè)置面板來更改配置,簡(jiǎn)單易用,上手很快。

ATOM

編譯器

之前的三種程序設(shè)計(jì)語言概要介紹過機(jī)器語言、編譯語言和高級(jí)語言的區(qū)別,而編譯器所做的就是進(jìn)行這三種語言的互相轉(zhuǎn)換。大多數(shù)情況下,編譯是從更高級(jí)的語言(高級(jí)語言、匯編語言)編譯成低級(jí)語言(匯編語言、機(jī)器語言)。

另一種情況是,從他人的可執(zhí)行程序(低級(jí)語言)編譯成高級(jí)語言,以推導(dǎo)出他人的軟件產(chǎn)品所使用的思路、原理、結(jié)構(gòu)、算法、處理過程、運(yùn)行方法等設(shè)計(jì)要素,某些特定情況下可能推導(dǎo)出源代碼。這個(gè)過程叫做反向編譯。


一個(gè)現(xiàn)代編譯器的主要工作流程

這里使用 GCC 編譯器的相關(guān)概念作出探討。

GCC 編譯器

GCC 原名為 GNU C 語言編譯器(GNU C Compiler),因?yàn)樗局荒芴幚? C 語言。后來 GCC 通過很快地?cái)U(kuò)展變得可以處理 C++ 甚至 Fortran、Pascal、Objective-C、Java、Ada、Go 以及各類處理器架構(gòu)上的匯編語言等,所以改名GNU編譯器套件(GNU Compiler Collection)。

由于 gcc 是命令行程序,沒有特定的 UI 界面,我們?cè)诿钚锌梢杂?GCC 進(jìn)行一個(gè)簡(jiǎn)單的 C 語言編譯測(cè)試,輸出一個(gè) “Hello GCC!”。

命令行的 GCC 編譯過程測(cè)試

集成開發(fā)環(huán)境( IDE )

可以看到,編輯器是用來讓程序員優(yōu)雅的敲代碼,編譯器是用來將這些高級(jí)語言或匯編語言編譯成計(jì)算機(jī)能直接識(shí)別并運(yùn)行的機(jī)器語言。如果我們每次編輯完源程序都要在命令行依托編譯器進(jìn)行函數(shù)、模塊的鏈接和編譯的話豈不是很麻煩,于是集成開發(fā)環(huán)境的出現(xiàn)很快的完善了開發(fā)效率問題。

集成開發(fā)環(huán)境(IDE,Integrated Development Environment )是用于提供程序開發(fā)環(huán)境的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面工具。集成了代碼編寫功能、分析功能、編譯功能、調(diào)試功能等一體化的開發(fā)軟件服務(wù)套。

由于每個(gè) IDE 的針對(duì)性不同,承載的編譯器不同,不同的語言有時(shí)需要不同的IDE,這里介紹幾個(gè)常用 IDE。

Dev C++

Dev-C++是一個(gè) Windows 環(huán)境下開發(fā) C/C++ 語言的集成開發(fā)環(huán)境(IDE),它是一款自由軟件,遵守 GPL 許可協(xié)議分發(fā)源代碼。它集合了 MinGW 等眾多自由軟件,并且可以取得最新版本的各種工具支持,而這一切工作都是來自全球的狂熱者所做的工作。Dev-C++ 是 NOI、NOIP 等比賽的指定工具,缺點(diǎn)是調(diào)試(Debug)功能弱。由于起初開發(fā) Dev-C++ 在開發(fā)完 4.9.9.2 版本后停止開發(fā),所以現(xiàn)在正由其它公司更新開發(fā),但都基于 4.9.9.2。Dev-C++ 的最新版是 5.11 版本。

DEV C++

Visual Stdio

Microsoft Visual Studio(簡(jiǎn)稱VS)是美國(guó)微軟公司的開發(fā)工具包系列產(chǎn)品。VS是一個(gè)基本完整的開發(fā)工具集,它包括了整個(gè)軟件生命周期中所需要的大部分工具,如 UML 工具、代碼管控工具、集成開發(fā)環(huán)境(IDE)等等。所寫的目標(biāo)代碼適用于微軟支持的所有平臺(tái),包括 Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework 和 Microsoft Silverlight 及 Windows Phone。

Visual Stdio

Eclipse

Eclipse是一個(gè)界面友好,供各種用戶使用的 IDE,它提供了一系列的工具幫助 Web 和 Java 應(yīng)用程序的開發(fā)。盡管 Eclipse 是使用 Java 語言
開發(fā)的,但它的用途并不限于 Java 語言。它還支持如 C / C++、JavaScript、Perl、PHP、Fortran、Ruby、Python,甚至 COBOL 語言。它提供很多功能來簡(jiǎn)化你的開發(fā),內(nèi)置的工具和 API 支持項(xiàng)目部署、運(yùn)行和測(cè)試。

Eclipse

當(dāng)然,如果你有你自己最喜歡的代碼編輯器這里沒有提到,歡迎留言。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容