對「程式語言」的看法
Sep 1, 2018 · 2 min read
昨天同事分享了一篇 Event Storming 的文章
這篇真的不錯,Event Storming 的重點都有提到
然後我喜歡裡面有一句
你有没有发程序员只是计算机的翻译,我们将业务逻辑翻译成计算机能够理解的语言,而产品经理却是将业务语言翻译成程序员能够理解的逻辑。中间有大量的语言转换,导致我们的系统与真实的业务相差甚远,这其实是不应该出现的一种结果。正确的结果是我们的系统结构与真实世界是一一对应。这一点在以后的 DDD 的文章中再详细阐述。
這個概念我第一次聽到是幾年前去上系統分析課程的時候
不管寫什麼程式後面都會寫上 Language
UML 的 L 也是 Language
都是試圖在不同領域間做一個轉譯
而語言本身就是在做分類,這樣討論才會有效率
然後自己實作的愈多,就更能體會到這件事
接到需求要做的事情就是做一些歸納和分類,就像在打掃家裡一樣,把東西移來移去跟裝箱
而轉譯做得愈多,事實就愈容易偏離
像是「異星入境」裡面,外星人的文字「禮物」被誤解為「武器」,人類就想大動干戈
這部電影就程式設計的角度來看還蠻有趣的
例如裡面還有提到「你愈熟悉一個語言,你就愈熟悉那個種族的思想」
然後再看看一門程式語言是怎麼誕生的,像 PHP 作者當初只是為了維護自己的個人網頁,為了解決開發緩慢的問題而生的
再看看一些各種戰程式語言的文章,PHP 算是在鄙視鏈最下層的
但是 PHP 當初就是為了維護個人網頁而生的,拿去做複雜應用當然會出問題
不過近年來 PHP 也不斷在修正,還弄了一個「生態圈」出來,是有在演化的
所以戰程式語言就像說「日文」和「英文」哪個好一樣,其實背後都有不同的文化背景
最後,這篇文的作者自介寫說
我们不生产代码,我们只是代码的搬运工!!!
應該也是這個道裡
