【问题标题】:How is Java an 'imperative' programming language and not a 'declarative' one?Java 如何是一种“命令式”编程语言而不是“声明式”编程语言?
【发布时间】:2009-11-07 18:51:45
【问题描述】:

特别是与 C/C++(声明式)相比,Java 的命令式如何?

【问题讨论】:

  • 我相信 C 和 C++ 都是命令式的。
  • 也许混淆是因为 C/C++ 程序除了定义函数之外还需要声明函数?这与声明式语言(或声明式编程,可以用命令式语言完成)没有任何关系

标签: java comparison imperative-programming declarative-programming


【解决方案1】:

C/C++ 也是必不可少的。

编辑:当务之急是做这个,然后做那个,然后做下一件事,依此类推。声明式是,这是规则,现在这个问题的答案是什么。谷歌,你会发现很多信息。

【讨论】:

【解决方案2】:

您混淆了概念,C 和 C++ 不是声明性语言。请参阅Declarative ProgrammingImperative Programming。基本上,使用声明式语言(例如 Prolog),您可以指定 what 您想要完成,而不指定 如何 来完成它,这与命令式语言形成鲜明对比。

【讨论】:

  • 我喜欢你的回答,但我认为如果你能添加一个例子会更有帮助。
【解决方案3】:

对于未来的读者,尽管 Java 和 C/C++ 通常都是命令式编写的, 两种语言都支持以更具声明性的方式进行编写,例如通过应用功能原则。

在过去的几年里,它越来越突出,并受到许多有影响力的软件工程师(如 Bob 叔叔)的鼓励,采用更实用(因此也更具有声明性)的方法。

在 Java 中,引入 Lambda、Streams 等的 Java 8 使这变得更加容易。

我读了这本关于 Java 函数式编程的书,发现它很有用: https://pragprog.com/book/vsjava8/functional-programming-in-java

【讨论】:

    猜你喜欢
    • 2014-03-25
    • 1970-01-01
    • 2011-03-18
    • 2017-01-14
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 2010-09-28
    • 2016-04-09
    相关资源
    最近更新 更多