如何抽象評判現有語言優劣,繼而設計一款別具優雅的計算機語言 X ?
2016-07-14 18:48
要對比兩款語言優不優雅,則必須要在相近的主要應用場景和可能應用場景比較。
比如說actionscript 比c 優雅是很奇怪的事。
通常愈低階的語言應用場景愈廣,愈難學習,也愈難讀。
應用場景愈窄的語言,設計起來更像是一組庫,找到重合的地方,包含更高級的操作,比如說vb6 和php。
如果有一種語言,在同一個代碼量級下,以更少的操作方式,達到同一個應用廣度,我應為就已經算更優雅了。
就我看來,c++ 的auto pointer,和php 的associative array,都是極優雅的設計。雖然背後犧牲了性能。
然後就到,到底在同一個記憶體用量級同用時級下,以更短的代碼完成,算不算優雅。但這基本上是在恒量語法設計是不是易於編譯器或者解釋器優化的問題了。
然後又更微小也常常被人拿來討論的東西:
優雅包不包括只用一種方法完成工作呢?(python vs perl)
包不包括直譯器友好度?(Lua 和js 看起來優雅很大程度也因此而已)
包不包括代碼支援原生UTF8,支援記憶體操作,支援內嵌其他語言,等等無數既定場景的常用功能等等呢?
即使對於優雅的定義也僅此而已,我們也還是無法為他們權重...
不同的場景有不同的優雅,但就我看來swift和rust 這些新世代語言都挺優秀的。
比如說actionscript 比c 優雅是很奇怪的事。
通常愈低階的語言應用場景愈廣,愈難學習,也愈難讀。
應用場景愈窄的語言,設計起來更像是一組庫,找到重合的地方,包含更高級的操作,比如說vb6 和php。
如果有一種語言,在同一個代碼量級下,以更少的操作方式,達到同一個應用廣度,我應為就已經算更優雅了。
就我看來,c++ 的auto pointer,和php 的associative array,都是極優雅的設計。雖然背後犧牲了性能。
然後就到,到底在同一個記憶體用量級同用時級下,以更短的代碼完成,算不算優雅。但這基本上是在恒量語法設計是不是易於編譯器或者解釋器優化的問題了。
然後又更微小也常常被人拿來討論的東西:
優雅包不包括只用一種方法完成工作呢?(python vs perl)
包不包括直譯器友好度?(Lua 和js 看起來優雅很大程度也因此而已)
包不包括代碼支援原生UTF8,支援記憶體操作,支援內嵌其他語言,等等無數既定場景的常用功能等等呢?
即使對於優雅的定義也僅此而已,我們也還是無法為他們權重...
不同的場景有不同的優雅,但就我看來swift和rust 這些新世代語言都挺優秀的。