Erlang的 case of 是函數式風格嗎?

http://www.gar1t.com/blog/solving-embarrassingly-obvious-problems-in-erlang.html
看了以上這篇文章,我覺得很認同。

是突然想到,erlang 也可以寫得長長一段,然後,感覺就很像程序式的程式語言所寫的,而且參與的東西多了,很難抓問題,而且程式的長相長長的,又一層一層的區域範圍,比較難讀。

然後,我就想,case of 句法算是functional嗎?應該是。而假如程式中有大量的呼叫與傳回值,算是functional嗎?應該不是了吧,我覺得,是寫法風格已經不脫離functional了,二句之間存有一些狀態,是這個範圍中包含了多少個已使用的變數,這數量的多寡,會影響人對這個程式的掌握能力。尤其是record變數,裡面具體的值是藏在變數名稱中的,字面上就變得較模糊。

我寫一陣子erlang,感覺是,一個函數,行數多的函數比較依賴狀態而少邏輯性,行數少的函數比較突顯出單元的邏輯感而較少有狀態。前者狀態多,我比需寫蠻多的io:fwrite來印出狀態。後者,憑函數規則就會回報有問題的地方。

所以我較願意將erlang寫成許多短短的、寬寬的函數。

廣告

About 黃耀賢 (Yau-Hsien Huang)

熱愛 Erlang ,並且有相關工作經驗。喜歡程式語言。喜歡邏輯。目前用 Python 工作。
本篇發表於 Uncategorized 並標籤為 。將永久鏈結加入書籤。