Glossary/zh TW: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: Glossary/zh TW
| Old | New | Line | |
|---|---|---|---|
| 1 | + | 我們覺得這一頁應該永遠都不能稱為完成,因此也鼓勵大家不斷的把新名詞跟相關資訊加進來,在您要與大家分享資訊時,請把握以下三個原則: | |
| 2 | + | ||
| 3 | + | - 與本網站相關的 | |
| 4 | + | - 與Free Pascal相關的 | |
| 5 | + | - 與Lazarus相關的 | |
| 6 | + | ||
| 7 | + | | | | |
| 8 | + | |:--:| | |
| 9 | + | | # A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | | |
| 10 | + | | | | |
| 11 | + | ||
| 12 | + | ## \# | |
| 13 | + | ||
| 14 | + | ## A | |
| 15 | + | ||
| 16 | + | ### Assembler , Assembly Language | |
| 17 | + | ||
| 18 | + | Assembler,組譯器,是把我們可以判讀的符號(通常稱為組合語言)轉換成電腦可以執行的0101形式的二進位指令與資料,例如組譯器可能把以下指令 LD a,b \# 把記憶體位址 a 的資料搬移到記憶體位址 b 去 轉換為二進位資料,像是 `01110010` 這樣的形式,好讓機器能夠執行。 Assembly language,組合語言,是讓程式設計人員能夠撰寫讓組譯器能夠轉換為機器碼的一些固定語法與指令。 組譯器 (Assembler)與[[Glossary|編譯器(Compiler)]]最大的不同,是組譯器是與處理器相依的,在不同的CPU上面,得使用不同的組譯器所產生機器碼的才能讓各種CPU正確的執行 (例如 i386系列的CPU、MC68000系列的CPU與ARM處理器等等,都各自需要不同的組譯器)。在編譯動作中,組譯器也更為接近核心,更為低階,尤其需要處理不同平台上對資料搬移與運算的專屬指令。 而編譯器(例如[[Glossary|Free Pascal]]),則讓程式設計人員能使用高階程式語言,也就是比較接近人類語言的程式語言,來進行程式邏輯的設計,而在編譯器中則會依據不同的處理器與作業系統,把該處理器的組譯器一起包含在其中,好製作出不同處理器可以使用的二進位碼,這樣一來,程式設計人員就可以把心力投注在程式邏輯上,而不用分別記憶每個處理器專屬的組合語言指令與機器碼了。 | |
| 19 | + | ||
| 20 | + | ### API | |
| 21 | + | ||
| 22 | + | 應用程式介面,全文為:Application Program Interface 是提供給程式設計人員在程式中呼叫的軟體套件函式。例如,提供我們使用MySQL資料庫系統的API,這組API的作者發佈了一組函式的定義,也同時包含了這整組工具中每個函式的名稱、所需的參數名稱、型別。 原始的API可能是以C語言的語法定義的,但使用 Free Pascal的程式人員也寫出了相容於 Free Pascal/Lazarus的函式宣告與參數型別,於是Free Pascal的程式人員就可以用這些API來使用 MySQL的各種功能了。 | |
| 23 | + | ||
| 24 | + | 對任何一組API而言,非常重要的一部分就是這組API的說明文件,而要將一組API的函式宣告轉換為另一種程式語言能夠相容的宣告 (例如從C轉換為 Free Pascal相容的語法),都需要相對應的整組完整的文件。 | |
| 25 | + | ||
| 26 | + | ## B | |
| 27 | + | ||
| 28 | + | BASIC 語言,全文是Beginner's All-purpose Symbolic Instruction Code,翻成中文,可以叫做『初學者全功能符號程式碼』,但在1990年代的台灣,總把它翻成『培基語言』 | |
| 29 | + | ||
| 30 | + | 直譯式電腦語言 (Interpreted language) 曾以訓練工具風行一時,或者當作程式開發的實驗工具。因為[[Glossary|直譯式 (Interpreted)]]語言很快的進行修改與檢視修改的結果。在BASIC的特性上,則是每一行指令都有對應的”行號”,執行的順序也正好跟行號的順序一致。如果要加入一行新的指令,則只要新指令的行號介於要插入的兩個指令行號之間即可。這個語言也因此缺乏了程式語言應有的結構:BASIC程式的執行可以用 GOTO 行號的指令跳來跳去,由於使用了GOTO行號的指令,開發出來的程式可能出現無法預期的情形,從很多方面來說,BASIC的的確確與強調結構化的Pascal語言在學理上是唱反調的。 | |
| 31 | + | ||
| 32 | + | 接下來,BASIC很快的失寵了,它先天的缺陷是原因之一,[[Glossary|Pascal]]與[[Glossary|C]] 這類指令式語言的出現是原因之一,而電腦進步的速度跟編譯器的效能快速提升,使得需要編譯的程式能夠大量的被撰寫、執行與除錯更是主要原因。接著在1990年代起,微軟也為BASIC語言從工具上做了一些補強,Visual BASIC的推出,使得BASIC也能擁有基本的結構,而不用再被綁在程式行號的基礎上,所以也就不用再大量使用GOTO指令了。但後來在 Visual BASIC裡面的變化,根本跟原始的BASIC差了十萬八千里,同時也模仿了C語言跟其他幾個\[\[Glossary#Command Line Interpreter\|命令列程式\]還有腳本語言的特性。事實上,Visual BASIC的程式,看起來非常的像[[Glossary|Free Pascal]]或[[Glossary|Lazarus]] 的程式碼。 | |
| 33 | + | ||
| 34 | + | ### Bug | |
| 35 | + | ||
| 36 | + | Bug,就是程式裡的錯誤,有可能是機器本身硬體的錯誤、軟體本身的邏輯錯誤,或者單純的效能不足或輸出錯誤。一般來說,因為電腦會發熱,所以有可能吸引昆蟲跑進主機裡面去,在蟲子跑進去造成短路的時候,當然硬體就會產生無法預期的錯誤,所以慣稱錯誤為蟲子 (Bug)。大多數的軟體開發團隊都會鼓勵潛在的使用者回報錯誤,然後陸續的釋出修正版本,當然,要提供錯誤回報的功能,都得提供好的處理回覆機制,像 Lazaus的 [BugTracker](http://www.lazarus.freepascal.org/mantis/main_page.php) 就是個例子。 | |
| 37 | + | ||
| 38 | + | ## C | |
| 39 | + | ||
| 40 | + | ### C | |
| 41 | + | ||
| 42 | + | C語言,是應用層面最廣的電腦程式語言,尤其用在開發系統程式上,從[[Glossary|Linux]]作業系統,到[[Glossary|Windows]]作業系統。C語言最主要的缺點在於它不夠精確,因而使得技巧不足的程式開發人員容易在開發的時候製作出內含許多問題的程式。同時C語言對記憶體不連續跟暫存區溢載的處理情形也是它無法逃避的缺點,跟[[Glossary|Pascal]]一對照,[[Glossary|Pascal]]對程式設計人員的規範相對的嚴謹多了,而且也因而鼓勵程式設計人員在設計程式時,主動的在程式中加入許多良好的規範,使得[[Glossary|Pascal]]的程式也比較不易出問題。 | |
| 43 | + | ||
| 44 | + | ### C++ | |
| 45 | + | ||
| 46 | + | C++,[[Glossary|C語言]]的變種,引入了物件導向程式語言的特性。 | |
| 47 | + | ||
| 48 | + | ### C# | |
| 49 | + | ||
| 50 | + | C#語言 (發音為 C-Sharp)一個微軟強力支持的新語言,也是微軟特別設計來給他們的產品 .NET平台使用的,它有著類似C++的語法,並且包含了許多其他程式語言的特性與精神,尤其是Object Pascal跟JAVA。尤其像Object Pascal,因為C#的主要制定者,就是原本在Borland制定跟實作Delphi的首席架構師。 | |
| 51 | + | ||
| 52 | + | ### CCR | |
| 53 | + | ||
| 54 | + | 程式碼與元件庫 (為原文Code and Component Repository的縮寫) | |
| 55 | + | ||
| 56 | + | ### Command Line Interpreter | |
| 57 | + | ||
| 58 | + | 命令列直譯器,在大多數的作業系統裡面都有提供的程式,能夠從鍵盤 (主控台模式) 或檔案讀取指令 (批次檔模式),[[Glossary|直譯]]或解譯文字的內容,並且找到要讓系統執行的系統命令,以執行原本在系統內的程式,或者其他指令。 | |
| 59 | + | ||
| 60 | + | ### Compiler | |
| 61 | + | ||
| 62 | + | 編譯器,是可以將人類可閱讀的程式原始碼 (通常是高階語言,像是Object Pascal,C++,Algol,FORTRAN或 ADA) 轉譯成機器指令,來產生成電腦能夠執行的執行檔。編譯程序裡通常有幾個階段:解析原始碼,來確認是否有語法錯誤,將原始碼轉譯為機器指令,以及將產生出的機器碼與參考到的函式庫依序進行連結,就可以製作出最終讓機器可以執行的應用程式了。 | |
| 63 | + | ||
| 64 | + | ### Component | |
| 65 | + | ||
| 66 | + | 元件,程式原始碼的一部分,通常會包含資料的定義予一小部分處理這些資料的方法 (Method),在元件中會定義 Pascal 程式對這些資料要進行的處理,這些處理可能很簡單,也可能很複雜,端看該元件的功能是什麼。功能相同或相近的多個元件通常會被收集成為元件組,像是 [[Glossary|FCL]],[[Glossary|LCL]] 或 [[Glossary|RTL]] 透過元件的使用,前人寫好的程式碼就可以不斷被重複使用在不同的應用程式裡。我們也就不用再花時間去寫已經有人寫過的功能,而可以將精力跟時間花在更先進的技術上,知識的累積就是由此開始的。 | |
| 67 | + | ||
| 68 | + | ### Cross Compilation | |
| 69 | + | ||
| 70 | + | 交叉編譯,在某一種平台上面編譯的程式,如果寫的好,在其他平台的使用者也會想要使用,此時,原先編譯好的程式可能因為作業系統不同、處理器不同而無法直接拿到其他平台使用,此時就需要透過交叉編譯,把原來的程式碼編譯給其他平台使用。例如[[Glossary|Pascal]]程式就可以透過交叉編譯,讓原本在Linux上面執行的程式,也能夠提供到Windows作業系統上面執行。或者也可以把原本在PC上的程式透過交叉編譯,提供給[[Glossary|PDA]] (例如Sharp的PDA [[Glossary|Zaurus]]) 使用。 | |
| 71 | + | ||
| 72 | + | 交叉編譯的另一個好例子,是[[Glossary|FreePascal]]編譯器或者[[Glossary|Lazarus]] IDE,透過這兩個工具,您可以在[[Glossary|Linux]]上面開發其他平台使用的程式,例如[[Glossary|Windows]]或[[Glossary|Mackintosh]],而這三個作業系統還可能連使用的處理器都不一樣。 | |
| 73 | + | ||
| 74 | + | ### CrossPlatform | |
| 75 | + | ||
| 76 | + | 跨平台,通常是指一個程式能夠在不同的[[Glossary|作業系統]]與平台上面提供同樣功能的執行檔。例如[[Glossary|FreePascal]]編譯器跟[[Glossary|Lazarus]],還有[Open Office](http://www.openoffice.org)這套辦公室程式,以及[Mozilla](http://www.mozilla.org) 家族系列的網頁瀏覽器跟郵件伺服器。 | |
| 77 | + | ||
| 78 | + | ### CVS | |
| 79 | + | ||
| 80 | + | 版本控制系統,原文為: [Concurrent Version System](http://www.cvshome.org/) (另見於: [[Glossary|SVN]]). 可以提供軟體開發原始碼版本控制的套裝軟體,可以多人同時使用。在版本管理庫設定後,想取得資料的開發人員就可以透過 “check-out”的功能把需要的文件版本下載,同時,也提供開發人員把更新過的檔案上傳,並保留每一次更新前的版本,而上傳程式碼/文件的版本也都會依循開發者/專案管理者等權限進行維護,並保持所有人都能看到一致的版本。 | |
| 81 | + | ||
| 82 | + | ## D | |
| 83 | + | ||
| 84 | + | ### DataBase | |
| 85 | + | ||
| 86 | + | 資料庫,是設計用來以結構化的方式儲存大量資料的電腦應用系統,透過資料庫,要對資料進行各種比對、查詢、更新都會容易許多。許多網站的應用使得資料庫的使用被開發的更為廣泛。舉例來說,供應商會把特價商品目錄留存在資料庫裡面,也會把客戶的交易資料存在另一個相關的資料庫中。軟體開發團隊 (例如FreePascal 團隊)也會把函式庫中的程式跟副程式存在資料庫上;醫學研究團隊更要把案例研究報告存在資料庫上面。 | |
| 87 | + | ||
| 88 | + | 舉幾個市面上很常被使用的資料庫為例,例如MySQL, PostgreSQL, Oracle, DBII, Microsoft SQL 2000, Microsoft SQL 2005等。這些資料庫都使用相同的標準資料庫語言 ([[Glossary|SQL,為Structured Query Language 的縮寫]]) 對資料庫進行資料的讀寫動作。FreePascal/Lazarus也已經提供了這幾個資料庫的下載連結 (要收費的資料庫就無法提供了)。 | |
| 89 | + | ||
| 90 | + | 資料庫系統通常都會包含實際的資料檔案,資料庫伺服器會對這些檔案進行實際的讀寫動作,另外在系統中則會提供一個用戶端程式來直譯使用者的指令。 | |
| 91 | + | ||
| 92 | + | ### Delphi | |
| 93 | + | ||
| 94 | + | Delphi是Windows作業系統上面一個非常傑出的商業軟體,提供程式開發人員以 [[Glossary|Pascal 語言為核心的]] [[Glossary|快速開發]] [[Glossary|整合程式環境]],這個軟體是由 [Borland](http://www.borland.com/)所提供的,但該團隊已經於2007年從 [Borland](http://www.borland.com/) 獨立出來,成為一家專注於軟體開發工具的公司,名為 [CodeGear](http://www.codegear.com/)。 | |
| 95 | + | ||
| 96 | + | ### Debugger | |
| 97 | + | ||
| 98 | + | 偵錯程式,偵錯程式可以幫助程式設計人員從開發環境中控制執行中的程式,並且顯示出程式錯誤的地方。通常偵錯程式會記錄程式的位置 (例如執行檔的指令對應到原始碼的第幾行),以及程式中每個變數的內容,通常也能夠在執行檔執行到某部分發生錯誤的時候,告訴程式人員出錯的是哪一部分,甚至是哪一行程式碼。 | |
| 99 | + | ||
| 100 | + | ### diff | |
| 101 | + | ||
| 102 | + | Diff是GNU 提供的工具程式之一,可以用來顯示兩個檔案之間的差異,甚至是兩個目錄之間的差異。 [diff工具的首頁](http://www.gnu.org/software/diffutils/diffutils.html) | |
| 103 | + | ||
| 104 | + | ## E | |
| 105 | + | ||
| 106 | + | ## F | |
| 107 | + | ||
| 108 | + | ### FCL | |
| 109 | + | ||
| 110 | + | 自由元件庫,原文為Free Component Library。主要是將[[Glossary|FreePascal]] 使用到的元件進行收集,請同時參考[[Glossary|RTL]]。 | |
| 111 | + | ||
| 112 | + | ### FreePascal | |
| 113 | + | ||
| 114 | + | FreePascal 是一個 [[Glossary|開放原始碼]] 的[[Glossary|跨平台]] [[Glossary|Pascal]] [[Glossary|編譯器]] [FreePascal 官方網站](http://www.freepascal.org) 也提供了對 TurboPascal/BorlandPascal (TP/BP), [[Glossary|Delphi]]/[[Glossary|Kylix]] (Object Pascal) 與Apple 電腦上 Mac Pascal 的語法支援。同時也提供了一些跟C類似的巨集指令,以及運算子 (operator)/符號(symbols),像是運算子多載 (Operator Overloading),自動對函式進行多載,以及其他很棒的功能。如果能和[[Glossary|Lazarus]]一起使用,更是如虎添翼。 | |
| 115 | + | ||
| 116 | + | ## G | |
| 117 | + | ||
| 118 | + | ### GDB | |
| 119 | + | ||
| 120 | + | [[Glossary|GNU]] 偵錯程式的縮寫,原文是 GNU DeBugger 。[GDB 首頁](http://www.gnu.org/software/gdb/gdb.html) | |
| 121 | + | ||
| 122 | + | ### Gimp | |
| 123 | + | ||
| 124 | + | [[Glossary|GNU]] 影像處理程式,原文是 GNU Image Manipulation Program。[Gimp首頁](http://www.gimp.org/) | |
| 125 | + | ||
| 126 | + | ### GNU | |
| 127 | + | ||
| 128 | + | 據GNU的[官方網站](http://www.gnu.org/),: GNU是 “GNU's Not UNIX” 的縮寫,發音為 “guh-noo”(恕我很無厘頭的用中文也寫一下: 念作”葛怒”)。 | |
| 129 | + | ||
| 130 | + | ### Gtk | |
| 131 | + | ||
| 132 | + | Gtk則是[[Glossary|Gimp]] Tool Kit 的縮寫,意思是GNU 影像處理程式工具組,請參考它的[首頁](http://www.gtk.org/). GTK+ 則是個在許多平台上都被拿來建立使用者圖形介面的工具組,Free Pascal跟Lazarus IDE也為GTK作了些延伸應用。包含了一整組的Widget (視覺化元件)或可以跟應用程式視窗的Panel作互動的簡單圖形物件。 | |
| 133 | + | ||
| 134 | + | ### GUI | |
| 135 | + | ||
| 136 | + | 使用者圖形介面,原文為Graphical User Interface。 | |
| 137 | + | ||
| 138 | + | ## H | |
| 139 | + | ||
| 140 | + | ## I | |
| 141 | + | ||
| 142 | + | ### IDE | |
| 143 | + | ||
| 144 | + | 整合開發環境,為Integrated Development Environment的縮寫,通常會包含可以編輯程式原始碼的文字編輯器,程式[[Glossary|編譯器]],或許也會包含支援一種或多種處理器機器語言的[[Glossary|組譯器]],以及[[Glossary|連結程式]],以便讓開發人員快速又方便的建立、測試程式的執行檔。 | |
| 145 | + | ||
| 146 | + | ### Interpreter | |
| 147 | + | ||
| 148 | + | 直譯器,能從主控台(命令列) 或檔案中讀取一連串電腦語言指令,並將之解譯為機器碼,並立即執行這些機器碼。和[[Glossary|編譯器]]不同的是,編譯器會把整個檔案轉換為機器碼,然後將機器碼存到另一個檔案裡面去,也就是執行檔。而直譯器是會在每次執行該指令檔的時候,逐行的解譯與執行指令。 | |
| 149 | + | ||
| 150 | + | 在[[Glossary|Linux]],[[Glossary|Windows]],IBM 系統跟DEC、PDP、VAX系統裡面的[[Glossary|命令列直譯器]]就是最好的實例。有幾種蠻風行的程式語言也是使用直譯式,而不採用編譯式的做法。最好的例子就是BASIC (包含BASIC的各種衍生版本,當然Visual BASIC 也是其中之一), PERL, Python跟JAVA。直譯式語言的程式在執行速度上比編譯式的程式慢上太多太多倍了,因為直譯式語言在每次執行前,都得先進行指令解譯,但從另一方面來說,對於修改程式的工作來說,直譯式語言的程式就比編譯式的程式來的方便許多,新的程式也能很快的就完成測試,而很多時候,某些程式對執行速度的需求也不如對容易修改的需求來的高,例如在Linux上面的安裝程式,常常都用PERL來作,因為當時執行的速度不重要,重點是在正確性跟彈性。有些程式語言(包含從BASIC衍生出來的一些版本) 提供給程式設計人員先以直譯式的做法來測試程式,等到測試完成以後,再將測試確定的版本進行編譯,提供給最終使用者編譯後的版本,這樣一來既保留了直譯器的彈性,也能在最後要發佈的時候提供效能較高的編譯版本程式,兼收兩者的優點。 | |
| 151 | + | ||
| 152 | + | 而部分由Pascal衍生出來的版本(像是由南加大聖地牙哥分校提供的 UCSD Pascal),提供了一個很獨特的功能,讓編譯跟直譯的做法也能做結合: 先把文字模式的Pascal原始程式碼轉換為過度式的P-code,然後執行時再把P-code傳遞給 P-code直譯器,由P-code直譯器來作執行的工作。 | |
| 153 | + | ||
| 154 | + | ## J | |
| 155 | + | ||
| 156 | + | ## K | |
| 157 | + | ||
| 158 | + | ### Kylix | |
| 159 | + | ||
| 160 | + | Kylix 也跟Delphi一樣,是由 [Borland](http://www.borland.com) (現已獨立為 [CodeGear](http://www.codegear.com/)) 所開發給Linux作業系統使用的快速開發工具。這個工具可以跟Delphi 相容,並使用 QT/CLX。 | |
| 161 | + | ||
| 162 | + | ## L | |
| 163 | + | ||
| 164 | + | ### Lazarus | |
| 165 | + | ||
| 166 | + | 是由[[Glossary|FreePascal]]製作的一個[[Glossary|跨平台]][[Glossary|快速開發工具]]的[[Glossary|IDE]] | |
| 167 | + | ||
| 168 | + | ### LCL | |
| 169 | + | ||
| 170 | + | [[Glossary|Lazarus]] 元件組,原文為: [[Glossary|Lazarus]] Component Library | |
| 171 | + | ||
| 172 | + | ### Linker | |
| 173 | + | ||
| 174 | + | 連結程式,幫 [[Glossary|編譯器]]把產生的二進位程式跟已經存在的函式庫進行所需連結的程式,並且把這些二進位檔案結合成執行檔。 | |
| 175 | + | ||
| 176 | + | ### Linux | |
| 177 | + | ||
| 178 | + | \[<http://www.linux.org/>\| Linux\] 是一個以[[Glossary|Unix]]的概念為基礎而製作出來的[[Glossary|開放原始碼]][[Glossary|作業系統]],從1990年代發展至今,Linux已經成為最流行的作業系統中的一脈。 | |
| 179 | + | ||
| 180 | + | ## M | |
| 181 | + | ||
| 182 | + | ### MAC | |
| 183 | + | ||
| 184 | + | MAC,全文是Macintosh,是由蘋果電腦所開發的[[Glossary|作業系統]],以高品質的使用者圖形介面與穩定性著稱 (不過在2007年11月發表[[Glossary|MAC OS X]] Leopard 作業系統後,到2007年12月還傳出一些不太穩定的使用者經驗)。目前的 [[Glossary|MAC OS X]] 是由商業化軟體跟開放原始碼的函式庫、應用程式統合而成的。目前 [[Glossary|MAC OS X]] 也是執行 [[Glossary|X11]] 的。MAC也是不斷的以合理價格提供高品質硬體而著稱於業界。 另外MAC也可以單純指麥金塔電腦的硬體。 | |
| 185 | + | ||
| 186 | + | ## N | |
| 187 | + | ||
| 188 | + | ## O | |
| 189 | + | ||
| 190 | + | ### OO | |
| 191 | + | ||
| 192 | + | 物件導向,原文為Object Oriented。 是程序化語言 (procedural language) 的延伸,這種語言使得程式設計人員能夠為已經編譯過的物件進行維護與功能延伸。 在標準的Pascal裡面,提供了 Record的結構,可以讓我們把不同的基本資料型別,像是整數 (integer)、實數 (real)、陣列 (array),以及指標 (Pointer),任意組合成我們需要的新型別,當然,在新型別中,就會包含一個以上的變數型態,同時存在。而在物件導向式語言當中,像Object Pascal或Free Pascal,更讓這樣的結構中可以包含副程式 (在物件導向程式中稱為”方法”(Method)),在結構中於是可以包含資料以及處理這些資料的程式,這也就是物件導向概念中最重要的概念,稱為資料封裝。 | |
| 193 | + | ||
| 194 | + | ### OS | |
| 195 | + | ||
| 196 | + | 作業系統,OS是Operating System的縮寫。通常作業系統是指能由BIOS啟動的核心程式 (Kernel),這個程式能夠提供許多不同功能的函式庫,提供給應用程式許多介面,讓應用程式可以透過作業系統對電腦硬體進行控制。也可以把這個核心程式想像成作業系統跟電腦硬體之間的抽象層。作業系統可以是文字模式的主控台 (像是DOS或是文字模式的Linux),也可以是圖形介面 (像是Windows、MAC、或是使用圖形介面的 Linux),最新的作業系統也支援多執行緒、多工的功能,可以同時執行多個程式。 | |
| 197 | + | ||
| 198 | + | ### OSX | |
| 199 | + | ||
| 200 | + | 麥金塔[[Glossary|作業系統]]的最新版本,請參考[[Glossary|MAC]]。 | |
| 201 | + | ||
| 202 | + | ## P | |
| 203 | + | ||
| 204 | + | ### Pascal | |
| 205 | + | ||
| 206 | + | [Pascal](http://en.wikipedia.org/wiki/Pascal_programming_language)是由Niklaus Wirth發明的程序化程式語言。對於這個程式語言,是有國際化的標準定義的: (ISO 7185, 或稱 ANSI/IEEE770X3.97),但在 \[<http://www.gnu-pascal.de/gpc/h-index.html>\| Gnu Pascal\]跟Prospero Pascal這兩個版本,以及近來的許多 Pascal編譯器版本,已經不完全是依循Pascal語言的標準來製作的了。但是這些近來的Pascal編譯器在語法上與基本的結構條件上,還是跟標準定義很相似的,而且寫出來的程式也大多都可以相容於不同的編譯器。此外像是FreePascal、Delphi跟其他的版本,還另外為標準的Pascal提供了物件導向的延伸功能。 | |
| 207 | + | ||
| 208 | + | ### PDA | |
| 209 | + | ||
| 210 | + | 個人數位助理,但很少人講中文,通常還是講PDA,原文是:Personal Digital Assistant,通常都是可以放入口袋的尺寸 (也常是手掌大小)。在PDA上面一定會具備的資訊管理,包含通訊錄、行事曆,以及其他能存在上面的有用資訊,但由Palm-Pilot開闢的四大應用,則是通訊錄、行事曆、應用程式、記帳本。這些裝置 (例如Palm-Pilot與Compaq的Pocket-PC)已經發展的非常成熟了,另外像是Sharp的[[Glossary|Zaurus]],則是使用[[Glossary|Linux]]作業系統,使得程式開發人員更為熟悉如何開發這些裝置使用的應用程式。[[Glossary|FreePascal]]也都提供了交叉編譯器,提供程式開發人員能夠製作更多的應用程式給上述的這些PDA裝置使用。 | |
| 211 | + | ||
| 212 | + | ## Q | |
| 213 | + | ||
| 214 | + | Qt 介面,請參閱 [[http://wiki.lazarus.freepascal.org/index.php/Qt Interface|Qt介面說明]] | |
| 215 | + | ||
| 216 | + | ## R | |
| 217 | + | ||
| 218 | + | ### RAD | |
| 219 | + | ||
| 220 | + | 快速應用程式開發環境,原文是Rapid Application Development – 是提供程式設計人員能夠快速、方便的開發應用程式的軟體套件。基本上,都會包含文字編輯器、圖形介面,以及和許多工具快速連結的方式,例如編譯器、連結程式以及偵錯程式,通常也都會提供整合開發環境 ([[Glossary|IDE]])。 | |
| 221 | + | ||
| 222 | + | ### RTL | |
| 223 | + | ||
| 224 | + | 執行時期函式庫,通常使用上也是不翻譯的,原文為Runtime Library。這是[[Glossary|FreePascal]]在執行程式時用來把程式指令轉換為作業系統指令的元件組函式庫,會依據目標系統與架構搭配不同的元件與程式指令,相關參考,也請您參考[[Glossary|FCL]]。 | |
| 225 | + | ||
| 226 | + | ## S | |
| 227 | + | ||
| 228 | + | ### SQL | |
| 229 | + | ||
| 230 | + | 結構化查詢語言,這個名詞一般也沒有人在用中文翻譯的,它的原文是:Structured Query Language,念成(Si-Quo,恕我幫不會英文發音的人也用中文字寫發音…以相近的中文發音,大概是”西闊”比較接近)。SQL是各種不同資料庫通用的腳本語言,定義了對資料庫所需要的各種動作。 | |
| 231 | + | ||
| 232 | + | ### SVN | |
| 233 | + | ||
| 234 | + | SVN,是[Subversion](http://subversion.tigris.org/) 的縮寫 – 是一個空置文件版本的系統,主要是作了功能增進與最佳化,設計來替代[[Glossary|CVS]] 的,[[Glossary|FreePascal]]和[[Glossary|Lazarus]]這兩個計畫目前也都用它來管理文件跟程式碼喔。 | |
| 235 | + | ||
| 236 | + | ## T | |
| 237 | + | ||
| 238 | + | ### Turbo Pascal | |
| 239 | + | ||
| 240 | + | Turbo Pascl是由 Borland 所提供的一個革命性的Pascal 編譯器,在1990年代初期,這個編譯器在PC跟Microcomputer這兩種電腦系統的開發上是非常風行的,當時作業系統還是 DOS,絕大多數的人還是學習BASIC,微軟也在當年推出了Microsoft Pascal,但由於製作出來的程式效能跟Turbo Pascal編譯出來的程式在效能上差了十萬八千里,以至於後來微軟完全放棄Pascal編譯器的市場。 | |
| 241 | + | ||
| 242 | + | 在Turbo Pascal之前的Pascal 編譯器,都是很龐大,很複雜,執行速度也慢,價格又貴。 | |
| 243 | + | ||
| 244 | + | Borland的 Turbo Pascal 執行速度非常快,安裝所需的空間小,使用的資源少,更重要的是價格非常的便宜。 | |
| 245 | + | ||
| 246 | + | 但不幸的是,它並沒有完全遵照ISO的標準,尤其是在處理文字檔案時的get()跟put() 這兩個重要的函式。 | |
| 247 | + | ||
| 248 | + | 不過 Turbo Pascal仍然非常流行,而且到了Turbo Pascal 7.0以後,也加入了物件導向功能的擴充,並且成為了 Delphi (CodeGear從2006年起就提供了免費試用版,稱為Turbo Delphi,如果您需要製作更多功能的程式,才需要購買商業版的Delphi) 與 Kylix (Delphi的Linux版本) 的基礎。 | |
| 249 | + | ||
| 250 | + | Turbo Pascal 也同樣的是 FreePascal 跟 Lazarus的基礎,Borland的編譯器跟Free Pascal最主要的不同,是Free Pascal 提供了所有的原始程式碼,而Borland編譯器是商業產品,Free Pascal跟Lazarus則是免費的 (開放原始碼)。 | |
| 251 | + | ||
| 252 | + | ## U | |
| 253 | + | ||
| 254 | + | ### Unix | |
| 255 | + | ||
| 256 | + | Unix是世界上最早的[[Glossary|作業系統]]之一。是完全使用C語言撰寫的,並提供了多執行緒與多工作業的能力。後來,Linus Torvalds 跟其他的程式開發人員在開放原始碼的基礎上,複製了Unix作業系統,將之命名為[[Glossary|Linux]],[[Glossary|Linux]]今日也已經是最流行的作業系統之一了,其他模仿/複製或從Unix衍生出來的作業系統還包含了FreeBSD, OpenBSD, NetBSD等,後來Apple也公佈說,MAC OS X也包含了一些Unix上面以開放原始碼製作的功能。 | |
| 257 | + | ||
| 258 | + | ### [[Unit]] | |
| 259 | + | ||
| 260 | + | 單元檔,是Pascal程式原始碼的基礎,通常副檔名有 .pas, .pp 跟 .p 這三種。 | |
| 261 | + | ||
| 262 | + | Pascal的單元檔通常還會有一個內部使用的名稱,會註記在每個單元檔的第一行,例如: "**unit** MyUnit;" 其中的 MyUnit 就是專案會使用的內部名稱。 | |
| 263 | + | ||
| 264 | + | 每個單元檔裡面還會包含兩個重要的區段: **interface** 跟 **implementation**,這些區段定義的用處,跟C語言裡面的標頭檔 (.h, .hpp, .hh) 與實際程式檔 (.c, .cpp, .cc) 的作用一樣,在Pascal裡面,並不會把定義跟程式碼分開成不同的檔案。 | |
| 265 | + | ||
| 266 | + | 凡是曾在 interface 這個區段裡面出現的程式碼,就可以被其他單元檔,或者主單元檔 (**program**) 所使用了,要使用其他單元檔,就要透過 **uses** 這個關鍵字來進行宣告。[[Glossary|uses]] 關鍵字可能出現在 interface 或 implementation區段中: 在 implementation 區段裡面的程式碼是屬於該單元專屬的,只有在該單元檔裡面的程式碼可以使用,除非在 interface 區段也進行對該單元 uses 的宣告,如此才能將使用到的單元檔作為”全域”的宣告單元。 | |
| 267 | + | ||
| 268 | + | Pascal的單元檔還包含了兩個選擇性的區段,**initialization** 和 **finalization**:這兩個區段會在程式啟動跟結束的時候自動被執行,這樣一來就可以讓程式該進行啟始跟結束的動作一定不會被忽略掉。 | |
| 269 | + | ||
| 270 | + | ### [[Uses]] | |
| 271 | + | ||
| 272 | + | Uses是在 Pascal 裡面用來宣告使用/引入其他[[Glossary|單元]]的關鍵字,Uses可以在 interface或 implementation這兩個區段中宣告,透過Uses的宣告,編譯器可以找到在其他單元檔裡面所定義的程式[[Glossary|元件]]。 | |
| 273 | + | ||
| 274 | + | ## V | |
| 275 | + | ||
| 276 | + | ### VCL | |
| 277 | + | ||
| 278 | + | 視覺化元件,原文為Visual Componente Library,是Delphi 元件類別的基礎。 | |
| 279 | + | ||
| 280 | + | ### V4L | |
| 281 | + | ||
| 282 | + | Linux上的影片,原文為Video For Linux | |
| 283 | + | ||
| 284 | + | ### VFW | |
| 285 | + | ||
| 286 | + | Windows上的影片,原文為Video For Windows | |
| 287 | + | ||
| 288 | + | ## W | |
| 289 | + | ||
| 290 | + | ### WiKi | |
| 291 | + | ||
| 292 | + | 維基百科,提供軟體說明文件或相關資訊的一種網站。這種網站的特點是,社群裡的所有會員都可以對上面的資訊進行編輯、增修與註解。大多數的維基百科網站都要求使用者註冊,在登入後才能編輯網頁的內容,透過眾人的貢獻與編輯,文件就得以迅速的被建立出來了。 | |
| 293 | + | ||
| 294 | + | ### Windows | |
| 295 | + | ||
| 296 | + | 由Microsoft所提供的一個[[Glossary|作業系統]]。目前應該是全世界使用最廣的作業系統了,以其友善的使用者介面而風行,但也因為漏洞多、企圖攻擊Windows作業系統的駭客多,也讓一些使用者卻步。 | |
| 297 | + | ||
| 298 | + | "Windows"也可以解釋成在電腦螢幕上面以一個個方型的區域定義為個別的”視窗”。在視窗中可以包含文字、圖形等不同的內容,讓各種不同的應用程式得以處理這些資料。除了微軟的視窗作業系統之外,也有許多系統提供以”視窗”作為應用程式與使用者之間互動的介面的,例如X-windows (請參見[[Glossary|X11]])與文字化介面系統裡面的單純文字編輯視窗。 | |
| 299 | + | ||
| 300 | + | ## X | |
| 301 | + | ||
| 302 | + | ### X11 | |
| 303 | + | ||
| 304 | + | X11 也被稱為XFree、Xorg或單純就叫X。X11是[[Glossary|Unix]]上面的使用者圖形介面。X11的概念跟微軟視窗作業系統的 GDI是不同的,主要因為XFree是一個程式,並不是一整套的函式庫。因為X11是跟硬體的相關性更密切的,因此至今都還沒有完整的視覺元件定義。很多程式人員目前是透過像GTK,QT或更多不同的視覺元件開發系統來開發X11的程式的。同時在X11上也有很多套不同的視窗管理與桌面環境,例如GNOME, KDE, XPde, XFCE, IceWM, WindowMaker等等。如果您需要更多跟X11相關的資訊,請參考[XFree 網站](http://www.xfree86.org)。 | |
| 305 | + | ||
| 306 | + | ## Y | |
| 307 | + | ||
| 308 | + | ## Z | |
| 309 | + | ||
| 310 | + | ### Zaurus | |
| 311 | + | ||
| 312 | + | 由Sharp所製造的一種[[Glossary|PDA]]產品,Zarus使用Linux作為其作業系統,ARM處理器為其CPU。FreePascal編譯器也為ARM作了移植,因此目前已經可以使用FreePascal的交叉編譯器來製作讓Zaurus適用的應用程式了。 | |
| 313 | + | ||
| 314 | + | - 初版正體中文翻譯,由[元智大學](http://www.yzu.edu.tw/) | |
| 315 | + | ||
| 316 | + | [資訊傳播學系](http://www.infocom.yzu.edu.tw/)兼任講師[張子仁 (Dennies Chang)](mailto://dennies@ms4.hinet.net)製作。 - 2008/1/2 User:Dennies | |
| 317 | + | ||
| 318 | + | --- | |
| 319 | + | *From the Free Pascal wiki, page "Glossary/zh TW", as it stood on 2015-07-25 after a change by FTurtle, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* | |
| 320 | + | Category: Glossary/zh TW | |
| 321 | + | Category: Main/zh TW |
