2009年4月25日 星期六

次語言(寄宿語言)

  我一直想替像SQL, XML, UML, Regular Expression這些不在script與系統語言的範疇取個統稱:姑且稱作次語言吧。共同的特點是不是依賴語言就是依賴工具, 而且還可以寄生在不同的語言與工具裡。以SQL為例: 寄生在語言裡,是Java的JDBC, .net的ADO, Perl的DBI; 工具上是像SQL Plus, SQL Lite或Access,若說把SQL語法當成語言的一部分, 我記得是FoxPro。
  而UML依賴工具:如Rational Rose, Together;XML則依賴瀏覽器或語言用的解析器, 內容還得在溝通的兩端取得協議。而Regeuar Exrpession(簡稱Regex)早於SQL, 恐怕寄生之處也多於SQL: 像Java, C#, 或C/C++都得引用套件或程式庫,把Regex語法當成語言一部分最有名的是Perl, 還有其他script如python, Ruby等。而部分引進語言內好像是Java Script, 就是用兩個反斜線構成一個pattern,其他用法還是像Java一樣, 使用new來宣告物件. 還有一些IDE支援Regex的搜尋與替換。只是喟嘆: Regular Expresion功能強, 發跡早, 又能寄生各處. 卻比之前三者還不如。只因為長得醜 (長得醜意謂可讀性差, 且學習門檻高)。

原載於Jemmy Walker 2006/8/21
後來大陸有個正式名詞,叫寄宿語言。名稱上也蠻妥切的,可是會聯想到一些異形、病毒的電影>"<。

沒有留言: