繁体   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