【问题标题】:Synthesis in Programming; What is it exactly? [closed]编程综合;究竟是什么? [关闭]
【发布时间】:2013-07-04 08:24:41
【问题描述】:
目前我正在阅读一本关于Software Development Engineering 的书。本书第一章说:
综合是一种用于开发软件的生产力机制,通过该机制生成实现而不是手动创建。
这让我很困惑,我在互联网上找不到任何明确的解释。
那么任何人都可以告诉我一个在编程领域的真实例子吗?如果它类似于代码生成器(例如用于自动创建项目目录和代码文件的 Ruby on Rails 命令行);它与元编程有什么区别?
谢谢。
【问题讨论】:
标签:
ruby-on-rails
metaprogramming
synthesis
【解决方案1】:
综合是一种用于开发软件的生产力机制,通过该机制生成实现而不是手动创建。
这是真的,尽管它没有提到“编程中的综合”到底是什么。编程综合意味着处理软件开发过程的各个方面
至少在原则上可以自动化。它的目标是从声明性规范中机械地合成正确和有效的计算机代码。如this article.所述
基本上这意味着您指定一个规范,例如合成机,它将根据您给它的规范生成输出(代码)。
代码合成和代码生成的主要区别在于代码合成发生在runtime。