Tea語言又稱(Tealang)是一種新的電腦程式語言,採用強規範設計(規範即語法),擁有簡約的強類型系統和單元模組體系,支援類型推斷,支援物件導向和函數式編程,語法精煉簡潔。其目標是成為一個友善的,支援多端開發的程式語言,並儘量支援常用程式語言生態,讓開發者可以繼續使用已有工作成果。目前透過編譯產生PHP程式碼運行,可呼叫PHP函式庫,可用於Web伺服器端開發。預計後續將支援部分其它程式語言。
Tea語言非常注重語法的友善性,透過對語法進行最佳化設計,希望開發者可以更輕鬆自然的編寫程式碼,可以更專注於創意實現。也盡量維持了常用程式語言的語法風格和習慣,以降低學習成本。
Tea語言專案最早開始於19年2月份,專案初衷主要用於提升內部開發效率和實現產品功能,最初特性較少,在完善和優化後,於19年12月初首次發布開源。
Tea語言特性強規範,規範即語法,簡潔清晰簡約的,帶類型推斷的強類型系統,編譯時將進行類型推斷與檢查便捷的XView類型,非常適合用於Web視圖組件開發智能的ReturnCollector特性,可自動按類型捕獲資料到數組作為返回值有限的類型相容性,資料操作便捷而不失安全性內建類型被封裝成偽對象,支援對象成員風格調用,如:"Somestring".length
內建單元模組(Unit)體系,基於單元模組組織程序,和訪問控制無普通全局變量,變量作用域最高為普通函數層級,無需擔心全局變量污染問題字符串處理語法靈活、簡單而強大流程控制語法靈活、簡約、統一(所有都支援catch/finally分支,for支援else分支)
運算子規則簡單有規律,易於記憶支援Lambda表達式和普通函數,函數是一等公民支援類別和接口,接口可帶預設實現,物件導向特性簡單而不失強大支援普通函數、普通常量、類別和介面的存取控制(public/internal)
支援類別/介面成員的存取控制(public/internal/protected/private)
透過編譯產生目標語言程式碼的方式來運行
Tea語言安裝與使用:
安裝PHP7.2+,編譯器和編譯輸出的程式依賴PHP7.2或以上版本運行環境安裝好PHP後,將PHP執行檔所在目錄新增至作業系統環境變數將Tea語言項目複製到本機(或其它方式下載,但需保證Tea語言專案的目錄名稱為tea)
#clonewiththeGitclient
gitclonehttps://github.com/tealang/tea.git
將目前目錄切換到tea的上級目錄中,執行以下指令即可編譯範例程式:
#usethenormalmethod
phptea/bin/teatea/examples
如使用Mac或Linux系統,可使用Shebang方式,如:
#letsthescriptscouldbeexecute
chmod+xtea/bin/*
#usetheShebangmethod
tea/bin/teatea/docs
在編譯目標Unit的dist目錄中可以看到編譯結果建立或初始化一個新的Unit,如:
phptea/bin/tea--initmyproject/hello