Imba:一個新的Web開發語言
學習程序語言是每個程序員的必經之路。可是這個世界上有太多的程序語言,在來不及反應的時候,最近又出現了一門新的編程語言— Imba 。本文針對它的一些新特征,做一個簡單的介紹。
Imba是一種新的Web編程語言,用它編寫的代碼可以編譯成高性能和可讀的JavaScript。根據其官網中的介紹,它在語言層次上支持對DOM節點的定義、擴展、繼承、實例化和渲染。在一些較復雜的應用程序中,例如 TodoMVC ,通過使用更少的代碼和一個更小的庫, 其速度超過React20倍以上 。在Imba的官網上,列舉了它的幾個突出特點。
var number = 42 var opposite = true var string = "the answer is {number}" var regex = /answer is (\d+)/ # Functions: var square = do |x| x * x # Arrays: var list = [1, 2, 3, 4, 5] # Objects: var math = square: square cube: do |x| x * math.square(x) rand: do Math.random # Array comprehensions: var cubes = (math.cube num for num in list) # Implicit calling: math.rand.toFixed 2
高的可讀性
Imba設計的初衷之一是讓編譯后的代碼盡可能地易讀。所有縮進和評論都被予以保留。他們讓編譯后的代碼更加易于理解和人性化,正如Imba官網所形容,“Everything is an expression!”。
高的兼容性
Imba官網表示,用戶可以在Imba與JavaScript自由切換,絕對可以使用Imba開始編寫一個項目(或部分),再后來決定繼續用編譯的JavaScript來代替。
類與作用域
就像JavaScript一樣,Imba具有清晰的變量聲明。這可以讓用戶細粒度地控制變量可以訪問的作用域。在Sublime Text插件中變量被著色。在這方面,Imba也提供了一些比較簡單的例子,例如 Scoping.imba 。通過將鼠標停在一個局部變量上,可以查看該變量的所有引用。
標簽
Imba對標簽的支持,是其最大的特色之一。關于標簽使用的介紹文檔現在正在完成中。在那之前,用戶可以在一些例子中看到標簽的使用,例如 Scroller 或 TodoMVC 。
循環/推導式
Imba中的循環類似于CoffeeScript和Python中的數組推導式(Array Comprehension)。它們是表達式,并且可以返回和分配值。作為表達式的循環始終返回一個數組(如Array#map),但也有一些額外的強大功能,如Break / Continue(帶或不帶參數)。
對于一門新的編程語言,Imba引起了用戶廣泛的興趣,在Hacker News上,已經有很多用戶展開了廣泛 討論 ,有用戶將Imba與其他的語言(如React)進行了簡單比較,覺得Imba有一個很棒的編程框架,而且運行很快,總體上是一門非常cool的編程語言。如果想與其他用戶討論對Imba的認識和體驗,不妨加入他們。
對于Imba具體的性能,可能還需要讀者親身體驗。最后附上 安裝 鏈接。有關安裝和編輯器集成的詳細信息,可以參閱 install.imba 。可以從GitHub上的實例 hello-world 開始。同時如果有任何問題或意見,讀者還可以在 GitHub 上留言。