问题标签 [imperative-languages]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delegates - 你能解释一下 lambda 表达式吗?
我并没有真正得到lambda 表达式。虽然它们从 ALGOL 时代就已经存在,但直到最近 Python 和 Ruby 变得非常流行时,我才开始听说它们。现在 C# 有了=>
语法,我的世界 (.NET) 中的人们越来越多地谈论 lamdba 表达式。
我已阅读有关 lambda 演算的 Wikipedia 文章,但我并不是真正的数学专家。从实际的角度来看,我并没有真正理解它。我什么时候使用 lambda 表达式?为什么?我怎么知道这是我应该做的?
您能否以前后格式展示如何解决 lambda 表达式问题的示例?任何命令式语言都可以,但 C# 对我来说最容易理解。
java - 用非函数式语言编写函数式程序
假设我使用 Java 中的不可变数据结构编写了一个程序。即使它不是函数式语言,它也应该能够并行执行。如何确保我的程序正在使用我的处理器的所有内核执行?计算机如何决定哪些代码可以并行运行?
PS我问这个问题的目的不是找出如何并行化Java程序。但要知道 - 计算机如何并行化代码。它可以在用非功能语言编写的功能程序中完成吗?
oop - 函数式编程是否被认为更“数学”?如果是这样,为什么?
时不时地,我听到有人说“函数式编程语言更数学”之类的话。是这样吗?如果是这样,为什么以及如何?例如,Scheme 是否比 Java 或 C 更具数学性?还是哈斯克尔?
我无法准确地定义什么是“数学”,但我相信你能体会到。
谢谢!
compiler-construction - 确定自定义语言的类型
我正在考虑专门用于图形的小型语言,它可以提供很多功能来操作图形等。
所以当我思考语言的语法时,我读到了函数式和“显而易见的”命令式范式。一个人如何决定哪种语言风格会更好?哪一个更适合我的用例?我会很感激有一些很好的理由和解释的答案。
编辑:至于这种语言的受众:我相信没有编程经验的非程序员/研究人员仍然能够使用图表,并从中受益。
编辑:如果你觉得这个问题没有用,你可以投反对票,但请添加评论,说明你为什么觉得它值得。它可能会帮助我走很长的路。
language-agnostic - 语言实现与编译器/解释器向金属发出指令的距离有多远
我不想将此作为“有人在 2 年内击败我的问题”的“答案”, 所以我提出了一个新问题。从那里的答案中可以看出(参见 N. Ramsey,他写道:
“...但是,如果您查看麻省理工学院 Arvind 教授的开创性工作,他的团队设计并构建了数据流机器,其中基本计算操作在本质上更具声明性......”
裸机指令可能是声明性的或非强制性的。
有没有人觉得在这个方向上可以走多远?编译器必须总是将函数式语言转换为命令式语言吗?是否存在支持此功能的硬件?
我只是好奇- 一直在看前卫。朗。趋势,我终于想知道没有可变状态(例如)的真正含义是什么。
haskell - 声明性语言
我正在阅读一篇关于声明式编程语言的文章。
如果我不了解这种类型/范式的编程语言的质量并且它与命令式语言形成对比,我是否应该只阅读这种类型的编程语言(如 Haskell)的编程,然后再阅读那篇文章?
coq - ∀id1 id2 : id, {id1 = id2} + {id1 ≠ id2} 是什么意思?
我正在阅读软件基础书,在 Imp.v 文件中,有一个定理 eq_id_dec 的定义如下:
这个定理是否意味着对于任何类型为 id 的 id1 和 id2,id1=id2 和 id1!=id2 都不会发生?我不确定。
rust - 打印树 - 尝试访问字段,但未找到具有该名称的字段
我正在尝试编写我的第一个 Rust 程序。我想在屏幕上打印一棵简单的树,但我无法访问value
属性,它说
错误 1 尝试访问
value
type 上的字段Node
,但找不到具有该名称的字段 c:\users\zhukovskiy\documents\visual studio 2013\Projects\rust_application1\rust_application1\src\main.rs 21 20 rust_application1
lazy-evaluation - 是否存在惰性命令式编程语言?如果不是,为什么不呢?
如果我没记错的话,“惰性命令式编程语言”的概念非常有意义。
例如,我设想下面的代码应该导致程序打印“7”
而下面的代码应该导致程序打印“6”
下面的代码应该导致程序打印字符串“a+5”
这个想法是[..]
通过使用每个变量的当前值执行评估来展平表达式。
问题。惰性命令式编程语言是否存在,如果不存在,为什么不存在?有什么特别的原因使它们永远无法存在吗?