问题标签 [programming-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.

0 投票
24 回答
108492 浏览

c++ - 为什么变量名不能以数字开头?

不久前,我和一位新的 C++ 开发人员一起工作时,他问了一个问题:“为什么变量名不能以数字开头?”

除了某些数字中可以包含文本(123456L、123456U)之外,我无法给出答案,如果编译器认为带有一定数量字母字符的所有内容都是变量名,那将是不可能的。

那是正确的答案吗?还有其他原因吗?

0 投票
3 回答
697 浏览

c - DrScheme 中如何实现尾调用优化?

我听说蹦床是实施 TCO 的一种无效方式。DrScheme(PLAI Scheme,技术上)是如何做到的?它是否以“正确”的方式进行(即生成直接分支到尾调用的汇编代码,而不是通过堆栈和蹦床)?

0 投票
4 回答
698 浏览

programming-languages - 为什么尾调用优化需要垃圾收集?

为什么尾调用优化需要垃圾收集?是不是因为如果你在一个函数中分配内存,然后你想对它进行尾调用,就没有办法进行尾调用并重新获得该内存?(因此必须保存堆栈,以便在尾调用之后可以回收内存。)

0 投票
16 回答
2383 浏览

vb.net - 为什么 VB.net 如此冗长?可以减脂吗?

语言会随着成熟而变得更加冗长吗?感觉就像每个新版本的 VB.net 都获得了更多的语法。是否可以像关键字“Dim”那样减少一些脂肪?C# 也感觉自版本 1 以来它的语法越来越多。

0 投票
5 回答
178 浏览

programming-languages - 您尝试使代码功能化的所有方式是什么?

以便您将来可以轻松地使您的程序并发。

0 投票
3 回答
1834 浏览

programming-languages - Scheme中柯里化函数的实现

当我执行以下操作时会发生什么?

我知道我可以这样做:

现在我可以使用咖喱了。我很好奇的是函数的定义。是否行

以 x 作为参数创建一个新的 lambda,然后在 1 上调用它?或者它是否比这更聪明,它只是重新使用现有的。(例如,如果我这样做(curried 0),该((func x) 1)行将等同于(curried 1)- PLAI Scheme 这样做吗?)

0 投票
20 回答
2086 浏览

language-agnostic - 是否应该从编程语言中删除(非接口类型的)继承?

这是一个颇具争议的话题,在你说“不”之前,真的、真的需要吗?

我已经编程了大约 10 年,老实说,我无法回想起继承解决无法以其他方式解决的问题的时间。另一方面,当我使用继承时,我可以回忆起很多次,因为我觉得我必须这样做,或者因为我认为我很聪明并最终为此付出了代价。

从实现的角度来看,我真的看不出任何不能使用聚合或其他技术来代替继承的情况。

我唯一需要注意的是,我们仍然允许接口继承。

(更新)

让我们举例说明为什么需要它,而不是说“有时它只是需要”。这真的一点帮助都没有。你的证据在哪里?

(更新 2 代码示例)

这是经典的形状示例,更强大,更明确的 IMO,没有继承。在现实世界中,几乎从来没有真正“是”其他东西的情况。几乎总是“在条款中实施”更准确。

0 投票
4 回答
619 浏览

c# - 是否有与 .NET 兼容但不支持无符号类型的语言?

假设我正在用 C# 编写一个库,但我不知道谁会使用它。

库的公共接口有一些无符号类型——uint、ushort。显然,这些类型不符合 CLS,并且从理论上讲,可能存在无法使用它们的语言。

现实中有这样的语言吗?

0 投票
4 回答
897 浏览

php - 除了 Haxe 之外,还有没有针对 PHP 的编程语言?

PHP 并没有得到太多的喜爱,但仍然是易于部署的赢家(对于廉价托管)。

是否有任何针对 PHP 的编程语言(除了Haxe )?用这种语言编写应用程序,然后将其翻译成 PHP,就像某些语言以 C 作为中间语言一样?

  • Scheme实现Chicken编译成 C
  • XOTclJava代码转换为Tcl代码
  • LINJ 是(?)一个将 Lisp 转换为漂亮的 Java 代码的工具
  • …</li>

+ 很多在不接触 JavaScript的情况下生成JavaScript的方法。

0 投票
9 回答
8854 浏览

compiler-construction - 为什么解释的语言大多是鸭式的,而编译的语言有强类型?

我只是不知道,这有什么技术原因吗?为弱类型的语言实现编译器是否更难?它是什么?