2010-12-12 19 views
2

我很享受puppet聲明模型。我想嘗試將更多這樣的內容合併到我的代碼中。如何在聲明式風格的程序?

然而,我現在在python中編程,而且我傾向於在這麼做的時候認真考慮。這就像我的平面設計問題:我知道我喜歡在最終產品中看到什麼,但不知道如何組裝它。

我該如何構造事物以使代碼具有聲明性?如果解決方案可以被認爲是「聲明性的」,那麼會採取哪些初始步驟?

Functional, Declarative, and Imperative Programming我剛剛讀了這個,帶來了一些洞察力。

沒有足夠不過,不能把它變成文字準確,我的困惑:(

編輯:詞來了:申報總是在其他一些高層次的東西方面給出給出的例子:

使用regexen是聲明,肯定的,但你讓發動機出C的

提出的是聲明,肯定,但它用C寫的

木偶mainifests是聲明,當然,但Ruby代碼是沒有的。

所以我在什麼時候說:「好吧,這裏是方法,現在我可以開始聲明部分」?

回答

2

使用函數式語言編寫函式式時,使用命令式語言編寫命令式語言時,使用聲明式語言時使用聲明式式編寫。

按照上面的說明(不包括所有「交叉樣式」允許的),當您使用您以語言風格書寫的語言進行書寫時。在以「命令式」或「功能性」語言書寫「聲明式」的情況下,通常會破壞編寫聲明式DSL和/或API,而實際上並未改變用於公開(甚至粘合)所述聲明式友好DSL/API。

例如,make(或任何數量的XML語言,如ant)只是聲明式DSL(有些模糊)。主持人的語言並不重要。對於幾乎所有的Turing Complete主機語言,這可以被推廣。

+1

我需要一把掃帚,鱗片剛從我的眼睛上掉下來。我從一種語言的角度來看待這個問題。邪惡。這是下一層,我應該只關心自己。不管下面做什麼工作都不是我關心的問題。真棒。謝謝! – chiggsy 2010-12-13 00:15:36