Being declarative means that we do computer programming on higher levels of abstraction. This vague definition identifies declarativeness with the act of ignoring details, but it is a special case of abstraction. The unspecified part is some computational work. Automating computations and offloading mental processing are essentially the same concept, which is fundamental for both computational and mathematical thinking. This shows that declarativeness is not just a particular style, but it is the core idea of programming. Here we demonstrate this argument and examine its consequences for teaching by a systematic study of coding examples from an introductory programming course. The chosen language is Clojure, as it is proven to be accessible for novices.
翻译:宣示性意味着我们在更高层次的抽象学上进行计算机编程。 这个模糊的定义确定了宣示性与忽略细节的行为,但它是一个特殊的抽象学案例。 未指明的部分是某种计算性工作。 自动计算和卸载精神处理基本上是同一个概念, 这对计算和数学思维都至关重要。 这显示宣示性不仅仅是一种特定的风格,而是编程的核心理念。 我们在这里展示了这一论点,并通过系统研究入门编程课程的编译示例来研究其对教学的影响。 所选语言是Clojure, 因为事实证明新手们可以使用它。