易語言
外觀
編程範型 | 物件導向程式設計, 程序式編程 |
---|---|
設計者 | 吳濤 |
面市時間 | 2000年 |
型態系統 | 靜態型別、強型別、不安全 |
作業系統 | Windows、Linux |
許可證 | 共享軟體 |
網站 | http://www.eyuyan.com/ |
主要實作產品 | |
易語言整合式開發環境, 易語言.飛揚 | |
啟發語言 | |
Visual Basic, Java(僅飛揚) |
易語言是一門電腦程式設計語言,早期稱為E語言,也通常代指與之對應的整合式開發環境,其最大特點是以漢字為程式碼編程,具有易用性。語法風格類似於Visual Basic。易語言的創始人是吳濤,他曾表示,創造易語言的初衷是進行用中文來編寫程式的實踐。[1]易語言最早的版本的發布可追溯至2000年9月16日。[2]目前已有易語言、易語言.飛揚和易樂谷三種版本,都有專用的整合式開發環境。後兩個版本已長期未更新。
易語言整合式開發環境目前僅提供 Windows 版,可分別建立 Windows 及 Linux 下的應用程式,但無法支援 Linux 圖形化使用者介面 。易語言.飛揚雖然對 Linux 下的圖形化使用者介面開發提供了部分支援,但仍然不能很好地執行。易語言代碼只能在官方的整合式開發環境中編寫,所以下述的易語言特徵包括有易語言整合式開發環境的特徵。
優點
[編輯]- 全中文,包括官方庫、說明手冊、社群環境、社群模組。內建首拼和全拼輸入法,直接輸入拼音後可通過自動補全匹配中文命令。
- 門檻低,命令統一規則起名,有即時補全,命令可直接模糊猜測。所有程式定義、變數常數的聲明、系統 API 呼叫等,均採用表格填表的方式,無需記憶語法。流程控制命令線會顯示流程輔助線提示執行跳到何處,明確提示程式執行順序。官方庫全面封裝 API 並簡化,命令參數都有解釋,命令都有演示的可執行原始碼。
- 開發十分迅速,社群有豐富的以面向功能編程精神的模組。
- 提供本土化函式,如農曆、漢語發音處理、漢字簡繁處理、全半形字元處理,方便相關程式的編寫。
- 編寫時會自動轉換成一固定的格式,任何程式原始碼格式均統一。
- 可以二開外掛程式,支援庫。編譯可以靜態也可以普通編譯。
缺點
[編輯]- 寫出的軟體非常容易被誤辨識為惡意軟體,最新版本作出了改進,但仍然常被辨識為惡意軟體。
- 代碼不可由第三方編輯器進行編輯,只能通過官方開發環境進行編輯。
- 不原生支援 COM 組件的 IUnknown 介面,需經由其他方法呼叫。
- 程式外部資料結構無法辨識。不支援將 dll 返回值、參數、取位址的子程式參數,視為一個自訂結構。只能是文字、整數、位元組陣列,解決方法是 api 操作主記憶體解析。
- 不支援 x86_64 程式的編譯。
- 沒有例外處理功能。
- ide 除錯僅擁有單步,watch 窗口,除錯語句,斷點。
- 官方庫更新緩慢[3],社群已知的一些崩潰等問題[4]。
- 易語言程式的執行方式類似於 VB6 的本機代碼。除了邏輯、比較、算術等一系列基本操作外,其他操作,包括外部函式呼叫、主記憶體操作等,都由系統支援庫充當中介完成。因而執行效率比 C/C++ 等語言低。
- 正版除錯免費,編譯需收費,費用為 618 元/套。
- 非自由軟體,與其他語言不同,編譯器為私有。
功能支援性
[編輯]- 支援類的繼承和多型(繼承不能同時繼承,可以多層繼承);
- 支援取子程式指標和直接呼叫指標;
- 支援將多個指定的原始碼檔案合併為一個檔案載入,不支援儲存為多檔案;
- 不支援函式多載與運算子多載;
- 不支援類公開成員;
- 不支援指標操作;
- 使用外掛程式後支援變數根據被賦值類型自動聲明;
- 使用外掛程式後支援預設的 api、常數、子程式被呼叫時自動插入到原始碼。