【问题标题】: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

    【讨论】:

      【解决方案2】:

      程序综合是一种特殊形式的自动编程。您可以在机器人技术中考虑自动编程,其中使用人工智能编写程序,从而自动执行其他任务。这意味着如果你为 1+2 编写代码,它会给你 3。所以你不必为 5+6 编写特殊代码来得到 11。

      更多信息请参考http://en.wikipedia.org/wiki/Program_synthesis

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-28
        • 2019-08-28
        • 1970-01-01
        • 1970-01-01
        • 2015-01-10
        • 1970-01-01
        • 2010-12-09
        相关资源
        最近更新 更多