首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何做实用的高级/元编程?

如何做实用的高级/元编程?
EN

Software Engineering用户
提问于 2011-03-02 17:21:49
回答 6查看 594关注 0票数 6

想象一下,您已经在Lisp中实现了一个良好的基于路径的星型。然后您将发现处理并重新实现整个代码,因为Processing/Java/Java2D是不同的。然后您想要修改libcinder,所以您可以将代码移植到C++/Cairo。

您正在(重新)编写大量的锅炉板代码,而实际的要求“创建星型”(或“创建路径,移动x,lineto x”)没有改变。

封装这些实现细节的选项是什么?某种实用的元编程?也许是专家系统?您将如何将核心业务逻辑定义为语言无关的业务逻辑?

编辑:对于一些人来说,这是一个真正的商业问题,如果你看看施莱普Stella的话。这个想法是,您已经编写了核心库,例如用Java编写的,现在需要编写一个iOS应用程序。你用什么语言打赌你的未来?如何才能节省对当前代码库的投资?

EN

回答 6

Software Engineering用户

发布于 2011-03-02 17:28:54

拥有语言独立性的唯一途径是创造自己的语言。这就是乔尔对芥末所做的。实际上,你需要一个源代码对源代码的编译器。

票数 3
EN

Software Engineering用户

发布于 2011-03-03 05:28:36

一种方法是程序转换。这包括允许源到源转换的技术。理论上,您用一种语言编写程序,然后将其转换为其他目标语言。在实践中,这是大量的工作和一个领域的高度学术兴趣。样本工具:

  • 斯特拉特戈/XT
  • 血栓素
  • 流氓

我不想给你虚假的希望。您必须自己编写转换,这是一项很大的工作。尽管如此,人们每天都让我吃惊。也许你会有一个洞察力,让程序转换对每个人来说都要容易得多。这是一门很酷的学科,需要更多冷静的参与者。

票数 3
EN

Software Engineering用户

发布于 2011-03-02 18:14:40

通常情况下,项目要比你的例子复杂得多,所以锅炉板代码的比例要小一些。但是,核心业务逻辑不能完全从代码中提取。有些事情您可以做,比如将一些规则移到配置文件和数据库中,但是在某些时候,您将不得不编写代码。

我不想让一个系统语言独立。相反,我将重点关注为这项任务选择的任何语言的高质量实现。如果您必须将应用程序移植到一种新的语言,那么拥有清晰的、编写良好的代码和项目的支持文档将是您最好的资源。

最后,概念和原型的证明应该提前构建,这样您的语言选择就不会在项目中途改变。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/53930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档