簡體   English   中英

擴展編程語言如何工作?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM