編輯器,全名是文字編輯器。編輯文本所用的電腦軟體,凡指window內建的記事本(副檔名為.txt)、word(副檔名為.doc或.docx)皆屬此類,但也有一些特殊的編輯器,如Crimson editor,其附檔名是使用者編輯後的文字檔想要以何種方式儲存,以及編輯完成之後的用途。比如我編輯了一個名為test的文本,打算將此文本拿給C語言的編譯器gcc作編譯。因此可以將此文本的副檔名定為.h或.c,也就是test.h或test.c,所以這個文本檔可以被gcc給編譯。

是說讀者們看到這裡,是不是覺得很奇怪,編輯和編譯不是差不多的意思嗎?為什麼我編寫好的文本要拿去給什麼編譯器給編譯,這樣不是多此一舉嗎?不能直接執行其中的內容嗎?其實不是這樣的,編輯和編譯差很多。所謂的編輯,就是將文字編寫出來,並以某些檔案儲存。其文字本身是不一定能被執行的,若想要讓這些文字要被執行是要有一定的條件的。

首先,這些文字必須是屬於某些電腦語言,簡單來說就是這些文字必須是指令或語法。第二,這些文字若是屬於標準語言的話,其所儲存的文本副檔名必須是該標準語言所規定的附檔名(如html的附檔名是.html、.htm、.shtml、.css,html5的副檔名為.html,而xml的副檔名為.xml),方能直接執行文本內容;倘若文字是屬於程式語言,則其文字所儲存的文本副檔名必須是該程式語言所規定的附檔名,並以該程式語言的編譯器來進行編譯。若文本沒有進行編譯的話,便無法執行該文本的內容。重要的是,用程式語言來編寫東西就代表在編程,也就是要求電腦做某些事情。

既然是要求電腦做事情,就必須下達指令。那麼這些指令電腦也必須要能看得懂,不過電腦的語言只有1和0,也就是高平電和低平電。既然電腦只看得懂1和0,那麼我們這些工程師所寫的文本,電腦不就看不懂嗎?沒錯!電腦是看不懂,這種情況就像是我們台灣人跑去法國旅行,我們用台語而不用法語和當地人溝通,這個結果想當然爾阿!對方根本聽不懂嘛!

也因為這樣,我們才要學新的語言以便做翻譯和溝通,或者請個懂台語和法語的人來幫忙翻譯。但電腦不會學人的語言,那麼只能請個專門翻譯的東西來把文本給編譯一番,讓電腦看懂我們編寫的文本是要它幹什麼。這個專門編譯的東西就是編譯器,而編譯器也是百百種,同樣的程式語言也可能有數個編譯器。不過想要編程也不一定要把某個程式語言的所有編譯器都搞到手,只要一個就足矣了,只是之後的維護需要請其他人幫忙的話,對方的編譯器也盡量與你的要相同或相容。否則你編譯的東西,對方無法正常開啟還需要重新編譯,而且會浪費許多不必要的時間成本。

而編譯文本後會留下一個或數個檔案,其中一個檔案就是主要的程式檔。這些檔案就是專門給程式檔執行程式用得。而程式檔就是能讓電腦做事的檔案,無論是遊戲、影片、音樂…只要你想得到的,而且電腦能做的,電腦就會去做當然也可能做到當機

    關於編譯器和編譯的部分,就暫時談到這裡。咱們回到原本的主題-編輯器吧!編輯器其實還有很多個八卦,但礙於篇幅的關係,就先以我在一開始有提到的編輯器Crimson editor繼續討論吧!其實與其說是討論,還不如說是推銷。

    Crimson editor是一個免費的編輯器,其屬於自由軟體版權,運作平台必需在windows系列的作業系統(Operating System,簡稱OS)上,在其他OS(如Linux系列)上我是不知道能否正常運作。若有試驗過將Crimson editor裝在其他OS平台的讀者,歡迎在本篇下方的留言版上留言,寫下或貼上你試驗的結果,以及在試驗中所遇到的問題。

undefined

Crimson editor可以像記事本或word一樣進行文字編輯,也能編輯程式碼或網頁代碼。其作業環境如上圖,上圖所示的範例是程式語言fortran的一個測試用程式碼文本,最左側的數字是這個文本的行數,而下方是使用者所設定的Crimson editor輸出結果。Crimson editor輸出結果不等於fortran的輸出結果,Crimson editor輸出結果在這裡只是提供該文本是否有fortran語法上的錯誤而已。若沒有錯誤,則其結果會顯示為0,即「> Terminated with exit code 0.」這段文字描是;若有則會顯示1,有的程式語言會提供debug(除錯)服務,也就是告訴你哪一段有bug(錯誤)。

文章標籤

蒼穹神鷹 發表在 痞客邦 留言(1) 人氣()