編程者何。所以役機器也。機器者何。所以代人力也。然機器之力也廣。其算也速。唯智不逮也。故有智者慎謀遠慮。下筆千言。如軍令然。如藥方然。謂之程式。機器既明之。乃能為人所使。或演星文。或析事理。其用豈止萬端。問曰。機器者。物也。銅鐵也。何能為而能識人之語。而為人之使耶。曰。此所以有編程語言也。人之所常言。辭或斐然。典或奧雅。機器故不能解。然機器所解者。則寥寥然二三言也。曰與。曰或。曰非。此皆至元之辭。人又未易用之。故取其中庸之道。倣人之所言。取其精煉明要者。點竄典字。嚴定其義。上足觀之而為人之用。下足譯之而為機器所解。是謂編程語言也。古有算經。易有繫辭。其用雖不同。語如其類也。
或問曰。程式所貴者何。曰二。貴巧。貴工。蓋謀一事。其計非一。然或事倍而功半。或道迂而求遠。皆非良策也。故編程之人。必研於策。策之佳者。其算也精。其行也速。是謂之巧。又程式如文章然。如其信筆雜湊者。其義亦必不通。其謬亦必多矣。程式亦一理。脈絡通順。文理了然者。令人讀之而達其意。機器行之而無少失。是謂之工。
或問曰。君言編程亦美矣。然吾既不以其為生計。好之者自謀之。吾何學為。曰。雖不為用。學之亦有益於思。慎密而遠。明辨而清。此其一。為作者之樂。此其二。又問曰。編程復何樂耶。終日營營然。對字麻麻然。逢謬急急然。何如鬥雞走犬呼盧傳杯之樂歟。曰。編程之樂者。在造物也。女媧氏初知之。公輸子復知之。歐冶子三知之。今有是戲。匹夫能為。而其趣蓋同。何言不樂歟。問曰。吾知編程之益也。然無由而學之。曰。嘻嘻哉。觀此書可也。
今世之編程。實西人草創。故其用字必譯耳。其辭古多未聞。或有其字。意乃不同。故曰未言其編程。先解其用字。昔徐利之譯幾何原本。先解幾何之用字。是理也。必不能效抱朴之河車朱雀。乃使觀者不知所云。計開。
-
「代碼」者。程式之文字也。或僅數言。或至累牘。視其用也。
-
「編譯器」者。亦一程式也。所以譯編程語言。令其為機器之所解也。
-
「運行」者。其程式既為機器所解。復令彼行之。或算一數。或行一事。亦視其用也。
-
「報錯」者。或以人之誤。或以物之限。機器不能達人所欲。是以其因吿人也。
今世之編程語言豈下百種。各爭一日之長。然多西人所製。亦沿西人之語。今有滬上黃生。博考諸書。效古人之雅言。為漢語作編程之計。名其言曰「文言」。此書用之。不亦宜乎。
古之啟蒙。無不以最易始。昔龍文三字是也。今亦因之。編程之最易者。曰「問天地好在」。列其代碼如左。
吾有一數。曰三。名之曰「甲」。
為是「甲」遍。
吾有一言。曰「「問天地好在。」」。書之。
云云。
運行之。乃得
問天地好在。
問天地好在。
問天地好在。
或問曰。胡曰「問天地好在」耶。曰。蓋機器未編程時。混沌茫昧。不知天地之所在。既經編程。頓而明朗。撥雲見日然。故欲問天地之好在也。
或問曰。胡問之三遍耶。天地豈聾也哉。君不聞秦宓之辯耶。曰。非也。所以示「循環」之用也。「循環」者。為一事數遍也。如輻輳輪轉然。如日月交替然。或問曰。欲行之五遍。可乎。行之千遍。可乎。曰。無不可也。
為是五遍。
吾有一言。曰「「問天地好在。」」。書之。
云云。
為是千遍。
吾有一言。曰「「問天地好在。」」。書之。
云云。
或問曰。「甲」者謂何。胡不謂「乙」耶。曰。皆可也。「甲」者。名也。名者。實之賓耶。實者何。悉聽尊便也。欲三則三。欲五則五。是謂「變數」也。復觀此二句。
吾有一數。曰三。名之曰「甲」。
吾有一言。曰「「問天地好在。」」。書之。
吾有一數
吾有一言
者。蓋言是變數之類也。數者。所以算也。言者。所以吿人也。物各其類。不宜混同。猶馬之不同於鹿。人之不同於鬼。遂預言之。以明其類。
曰三
曰「「問天地好在。」」
者。所以命其實也。後若有問數幾何者。乃自是知其為三。言亦同。
名之曰「甲」
者。所以名變數也。如人之名贓獲。劍之名巨闕。後凡曰「贓獲」者。乃知謂「贓獲」其人。又萬物皆變化之中。如昔人之廣陵。鮑照之蕪城也。今易「甲」為四如是。
昔之「甲」者。今四是矣。
書之
者。蓋彼運行之所得。機器自知之。而人無由而知之。故用此辭令其示人以果也。
或問曰。甲字上下有符如矩尺然者。何焉。今欲省之。可乎。曰。不可。此引號也。「單引號」者。所以別變數於其他也。「「雙引號」」者。所以別言語於其他也。微是。不能別歧義也。又問曰。句讀。挪抬。無之可乎。曰。此唯觀者助也。無之無損於義。故前例亦可書若是。
吾有一數曰三名之曰「甲」為是「甲」遍吾有一言曰「「問天地好在」」書之云云
「問天地好在」之例。至此略明矣。