Questions tagged «programming-languages»

编程语言是一种人工语言,旨在表达可以由机器执行的计算。**请注意:**与Stack Overflow上的其他地方一样,资源和教程推荐请求,事物列表请求(“哪些语言具有此功能...”)以及过分基于意见的观点(“什么是最好的”) ...“)问题不在主题之列。



25
我应该使用乘法还是除法?
这是一个愚蠢的有趣问题: 假设我们必须执行一个简单的操作,其中我们需要变量值的一半。有通常这样做的方法有两种: y = x / 2.0; // or... y = x * 0.5; 假设我们使用的是语言随附的标准运算符,那么哪一种具有更好的性能? 我猜想乘法通常更好,所以我在编码时会尽量坚持下去,但我想确认一下。 尽管我个人对Python 2.4-2.5 的答案感兴趣,但是也可以发布其他语言的答案!而且,如果您愿意,也可以发布其他更奇特的方式(例如使用按位移位运算符)。

4
哪些语言可以编译为WebAssembly(Wasm)?
哪些语言可以编译为WebAssembly(Wasm)? 我相信,现在可以使用llvm编译器后端将C,C ++和Rust(实验性)编译为WebAssembly,并且目前不支持Java,Swift和C#等语言,但可以作为将来开发的候选语言。 我不认为JavaScript可以编译为Wasm。 https://github.com/WebAssembly/design/issues/219


9
真正了解程序和功能之间的区别
我真的很难理解过程式和函数式编程范式之间的区别。 这是Wikipedia条目中有关函数式编程的前两段: 在计算机科学中,函数式编程是一种编程范例,将计算视为对数学函数的评估,并避免了状态和可变数据。与强调状态变化的命令式编程风格相反,它强调函数的应用。函数式编程起源于lambda演算,lambda演算是1930年代开发的用于研究函数定义,函数应用程序和递归的正式系统。许多函数式编程语言可以看作是lambda演算的精妙之处。 实际上,数学函数和命令式编程中使用的“函数”概念之间的区别在于命令式函数可能会产生副作用,从而改变程序状态的值。因此,它们缺乏参照透明性,即,相同的语言表达可能会在不同时间根据执行程序的状态产生不同的值。相反,在功能代码中,函数的输出值仅取决于输入到该函数的参数,因此f两次调用 具有相同参数值的函数x会产生相同的结果f(x)两次。消除副作用可以使理解和预测程序的行为变得更加容易,这是开发函数式编程的主要动机之一。 在第2段中, 相反,在功能代码中,函数的输出值仅取决于输入到函数的参数,因此f两次调用具有相同参数值的函数x会产生相同的结果f(x)。 程序编程不是完全一样吗? 在程序与功能上脱颖而出应该寻找什么?

30
什么时候将一种语言视为脚本语言?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 6年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 是什么使语言成为脚本语言?我听说有人说“当它被解释而不是编译时”。这将使PHP(例如)成为脚本语言。那是唯一的标准吗?还是有其他标准? 也可以看看: “脚本”和“应用程序”有什么区别?




9
函数式编程语言如何工作?
如果函数式编程语言无法保存任何状态,它们将如何做一些简单的事情,例如从用户那里读取输入内容?他们如何“存储”输入(或存储与此相关的任何数据?) 例如:这个简单的C语言将如何转换为Haskell这样的函数式编程语言? #include<stdio.h> int main() { int no; scanf("%d",&no); return 0; } (我的问题受到了这篇出色的文章的启发:“名词的王国中的执行”。阅读它使我对面向对象的编程到底是什么,Java如何以一种极端的方式实现它以及函数式编程语言如何成为一种更好的理解。对比。)

12
空合并运算符是否有“对立”?(...用任何语言?)
空合并大致可转换为 return x, unless it is null, in which case return y 我经常需要 return null if x is null, otherwise return x.y 我可以用 return x == null ? null : x.y; 不错,但是null中间总是困扰着我-似乎是多余的。我更喜欢这样的东西return x :: x.y;,::只有在它之前的东西不在时,它后面的才被评估null。 我认为这是几乎与简洁,内联零检查的对面空聚结,那种复杂的,但我[ 近 ]一定会出现在C#中没有这样的运营商。 是否还有其他具有这种运算符的语言?如果是这样,它叫什么? (我知道我可以在C#中为它编写一个方法;我使用return NullOrValue.of(x, () => x.y);,但是如果您有更好的东西,我也想看看。)

7
学习汇编语言值得吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 9年前关闭。 改善这个问题 学习ASM仍然值得吗? 我对它了解得很少,但是我并没有真正使用它或正确学习它,因为我学习的所有汇编程序工作都可以用诸如C或C ++之类的语言在1/10的时间内完成。那么,我真的应该学习和使用ASM吗?这对我的专业有好处吗?会增加我的机智吗?简而言之,这会让我成为一个更好的程序员吗? 注意:我在说的是FASM或NASM之类的低级汇编,而不是HLA(高级汇编器)。

6
除JavaScript外,其他任何语言在花括号开始位置(同一行和下一行)之间是否有区别?
今天,当我随机阅读O'Reilly的JavaScript模式书籍时,我发现了一件有趣的事情(参考第27页)。 在某些情况下,如果使用Javascript,则括号起始位置不同。 function test_function1() { return { name: 'rajat' }; } var obj = test_function1(); alert(obj); //Shows "undefined" 而 function test_function2() { return { name: 'rajat' }; } var obj = test_function2(); alert(obj); //Shows object JSfiddle演示 那里是否有其他语言有这种行为?如果是这样,那我肯定要改变我的习惯.. :) 我主要关注PHP,C,C ++,Java和ruby。

8
创建JVM编程语言
我已经使用C语言(使用lex和bison)创建了一种编译器,用于支持循环,函数内部的函数声明,递归调用等的动态类型编程语言。我还创建了一个虚拟机,该虚拟机运行由编译器创建的中间代码。 我现在正在考虑,而不是编译为自己的中间代码,而是将其编译为Java字节代码。 我看到关于创建JVM语言的问题已经存在 问但我认为答案并不十分有用。 所以这是我的问题: 我想为JVM创建一种语言是必须阅读 JVM规格书,您还能建议其他哪些书(当然,除了Dragon Book)?我最关心的是有关如何创建JVM语言的书籍或教程,而不是一般的编译器。 有许多Java库可以读取,写入和更改.class文件,例如jclasslib,bcel, gnu字节码等。您建议使用哪一个?另外,您知道执行相同工作的C库吗? 我当时正在考虑看看另一种针对JVM的语言,例如Clojure,Jython或JRuby。但是所有这些语言都是非常高级且复杂的(为它们创建编译器)。我一直在寻找一种针对JVM且其编译器是开放源代码的更简单(我不介意它是未知的还是未使用的)编程语言。有任何想法吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.