有關Expressiveness (1)
很久以前,我認為不想打字是因為打字的速度跟不上腦袋的輸出。中間無味的操作也令我覺得不適。
後來試著把兩面的輸出速度同步,互相遷就。文字的可讀性就變低了。因為犠牲了邏輯推進。就如這句一樣。
我交流時利用了文字,一直以為無論是邏輯上的有序推進還是內容上的有序重覆,都可以透過抽象成為術語來交流。
但事實上,自然語言的表達性並不如此豐富。
一直覺得粵語地區的優越性不在於粵語,而在於寫作時可以抽離最熟悉的說話方式。寫作的輸出更為[思考後]。
在描述一個編程語言時,近年有很多人會用expressive 作為對一個語言或者使用方法的正向評價。粗淺而具體上來說,是把一個語言的特性增加而令學習後的人更易去描寫和閱讀某方面的抽象概念。Scala就是一個有大量標示符號而又相對大眾的語言例子。
然後,在主流的意見下,隱性轉換是危險而低級的表達手法。在自然語言中自動補完主語和型態的行為。主語的推導並不在嚴格的規格中存在,但型態的推導卻是亳無規則可言。於是,我們有了專們研究型態的學科。這裡的型態不單指[八]是人名還是數字。細心地想一下,要抽象現有的語元的話,不只一個方式。型態是一個方式,這就如同數論中的[群]一樣,實則是集合的有限二元運算,而等命題即型態(propositions as types),則成為了用語言證明公理的基石。
近年PLT 的用語在不斷不斷抽象化的前端交流下走進了更多人的眼中,例於immutable/Pure Function/Side Effect/map-reduce-filter 甚至monad/functor/high-order 等等函數式描述方法。這都是在區域人口不斷增長下出現的交流土壤。
雖然到今天,大行其道的還是隱性的交流。大量地用不同的字去具體化專門語言,在通訊理論上不是個好方法。如德文那樣加前後修飾詞也不是。
大概我們會有學習坡度平緩,而又可以突破現有的文章長度的[文長複雜度]的零件可以加入到一隻自然語言中;的情況出現。
機會大約就是更多的人不滿足於日常對話的深度/效率/猜疑。但在這之前,似乎要放進一個受歡迎的程式語言也不容易;
但至少0到1的變化是出現了。