先給出結論,這個是探索性項目,倒是不用學

C、Java、Python、Rust、Go……數不過來的各種語言已經讓程序員們眼花繚亂瞭,現在冒出瞭的K語言是何方神聖?

kulics-works/k

根據官方描述:K 是一個專註於效率的開源編程語言,它可以幫你輕松構建跨平臺軟件。通過精心設計的語法規則,這門語言可以有效降低讀寫負擔,讓你能夠把真正的註意力放在解決問題上。

目前 K 支持編譯到 C#/Go/JavaScript/Kotlin

從star等指標來看,目前這個項目的關註度還不高。

關鍵特性

  • 容易分辨、現代化的語法。(作者表示借鑒瞭Go語言的不少語法)
  • 自動管理內存。
  • 泛型。
  • 多范式編程。
  • 跨平臺。
  • Unicode。
  • 多後端,支持 C#/Go/JavaScript/Kotlin。
  • 即將支持LLVM。

其實這個項目最早發佈於2018年3月份,隻不過版本號一直在beta中。

but!該語言的開發者是國人!!中國平安的區塊鏈架構師。

你可以在某乎找到作者本人

這個項目原名是lite,作者後來更名為k語言。主要關註點就在於語法設計上的探索。

根據作者的回答,k語言的語法並非向自然語言靠攏,而是向數學語言靠攏。所以語法上會用符號代替其他語言常見的”關鍵詞“,舉個例子。

佈爾判斷,在常見的語言中是這樣的:

var B = false;if(B) {……} else {……}

k語言的表現形式是這樣的:

B: false? B {……} _ {……}

我們來看一下官方的while循環示例代碼:

用符號的形式,省略瞭很多關鍵詞的輸入。

這種形式雖然簡潔,不過,仁者見仁,大量的符號可能削弱瞭代碼的可讀性。

作者很用心的在編寫這門語言,從他的開源項目中,可以看到很多配套內容瞭。

例如如何用k語言實現LeetCode,以及vscode中k語言插件等等。

總結

暫且不說這門語言最終的推廣和應用如何,這個項目仍然是一次非常好的嘗試和探索,讓編程關註邏輯本身,而不是耗時在敲代碼上。

另外,編程語言不重要,重要的還是程序員自身解決問題的思路和能力。所以不要看到有新語言就害怕學習,能力夠用,就不需要切換語言。