[英]How does extending a programming language work?
我沒有編程經驗,但是對學習語言感興趣。
因此,閱讀本節“ http://wiki.freaks-unidos.net/weblogs/azul/principles-of-software#extend-your-language-to-match-your-domain ”使我對在其中編寫單個應用程序感到好奇2種以上的語言。
實際如何完成?
一些想法:
盡管如此,面對所有這些,我將通過類比嘗試給出一個示例。
假設您需要與一群人一起完成某些技術任務-按難度對象棋謎題進行排序或測試棉花糖中的污染物或其他物質。 進一步假設您團隊中的一個人只會說日語,另一個會說葡萄牙語,而第三個只會說世界語。
擁有能夠流利地說所有這些語言的能力,您最好的選擇是構造一種專門用於即將完成的任務的人工語言。 這稱為領域特定語言或DSL。 它應該具有您需要談論的所有術語,例如騎士,白嘴鴉或硅酸鹽納米粒子或用於任務的其他任何東西,而沒有其他內容。 向每個團隊成員進行講授,然后您可以同時向他們提供所有指示。 他們可以互相談論自己在做什么,尋求幫助(只要這與您的語言所涵蓋的內容有關),就好像他們都講相同的語言一樣。
那大概就是他在說什么。
我認為您可能會嘗試跑步才能走路。 首先,這里的概念可能需要一點編程經驗。
本文的主旨(坦率地說,表現不佳)是,在進行編程時,您經常會遇到受益於聲明性語法的任務,即,您應該能夠表達您想要做什么的意圖,並將實現細節留給圖書館。 一個很好的例子是查詢數據庫,它(通常)更具可讀性(能夠以聲明的方式描述您想要做的事情,並讓一些中間件找出實現此操作的最佳方法),SQL和Linq是聲明式機制的兩個示例。查詢數據。
這是一個非常有趣的話題,但是老實說,如果您沒有編程經驗,那么它可能更多是201而不是101的主題,請首先掌握基礎知識。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.