--- title: "代數與命名" path: "代數與命名" --- {%hackmd @RintarouTW/About %} # 代數與命名 符號取代數字,抽象化、概念化與通用化。如同創造文字,日本文化裡亦有言靈一詞強調命名之力量強大。 如同歸納出一基礎模型,各種變化亦在此模型中。 ## 何為代數 (Algebra) 代數,字面意義為「替代數字」,就像父母給孩子取名一樣,命名的本身或許人人司空見慣,可曾深思其中奧妙?並非要談命名學,而是在談「命名」這個行為,替一個新人、事、物取個「代稱」,或是符號;這不就是「文字」?事實上,不論是文字、符號,甚至數字本身其實也是符號,從 Font 的角度來看,並無區別,皆為「代稱」。 ## 為何代數 若數字本身已是代稱,何以又要以其它符號替代數字? 古巴比倫泥板上刻著以數字寫成的畢式三數組,卻無法被認定為畢式定理之證明,因為知道有 $$ c^2 = a^2 + b^2 $$ 的關係,並不代表你證明了此為一通則(即定理)。這也是為什麼「勾股(~~定理~~?)」不被認為是種「證明」,光以勾股弦之名代稱了三邊長,與巴比倫泥板上的數字相差不遠,也只能證明你知道了有此關係罷了。 真正的證明需要的是「通用性」與「因果必然性」甚至只是「一定條件下的通用性、必然性」亦可,若只以數字只能被稱之為例舉,無法排除只是特例的可能;而數之無窮,可任意搭配排列與組合,故無法被稱之為「證明」。 ## 抽象化 代數最重要的目的,即在於「抽象化」替代數字、事物後,得以針對「通用性」與「因果必然性」思考與論述,或求或證此一通則。 > 笛卡兒方法: > 1. 凡是我沒有明確地認識到的東西,我絕不把它當成真的接受。 > 2. 把我所審查的每一個難題按照可能和必要的程度分成若干部分,以便一一妥為解決。 > 3. 按次序進行我的思考,從最簡單、最容易認識的對象開始,一點一點逐步上升,直到認識最複雜的對象。 > 4. 在任何情況之下,都要儘量全面地考察,儘量普遍地複查,做到確信毫無遺漏。 捨棄差不多先生吧!思考方能帶來真知! ## 命名與程式設計 如同翻譯一般追求信達雅,任何命名皆當以此原則,詞不達意,甚至有意誤導皆非正道,切不可為。 命名說來容易,但凡寫程式之人,必定需要對類別、函數、變數、常數等一一命名,命名即為代數,問題是命出好名卻遠不如想像中容易,小時候寫程式最令我煩惱的不是如何完成函數,卻是替函數與變數想個好名字,若僅只於完成函數功能,程式不過就是輸出與輸入的對應而已,又何談設計? 建築師之所以不是建築工人,最大的差異在於思想二字,包含了對事物的理解與簡化,不僅止於 `How`,更加注重於 `Why`,命名甚至有所謂命名學,正因好的命名有使人顧名思義,如同好的翻譯一般,信達雅兼俱,不只是個別函數,更兼顧整個系統架構脈絡因果,思路清楚,以一貫之,乃命名之道。 需要的不僅僅是了解邏輯,更需要了解語言,了解人文涵養,甚至推展至萬事萬物,設計之道方現。 ###### tags: `algebra`