132得票11回答
多重继承的确切问题是什么?

我看到很多人一直在问C#或Java的下一个版本中是否应该包括多重继承。有幸具备此能力的C++人员认为这就像给某人一根绳子最终让他们自缢。 多重继承有什么问题?有任何具体的例子吗?

83得票1回答
"现代"正则表达式的识别能力

现代正则表达式实际上识别哪一类语言? 当存在一个不受限制长度的捕获组并带有反向引用(例如(.*)_\1)时,正则表达式将匹配非正则语言。但这本身还不足以匹配像S ::= '(' S ')' | ε这样的内容,它是匹配括号对的上下文无关语言。 递归正则表达式(在Perl和PCRE中,我保证这...

52得票7回答
所有迭代算法都可以被递归表达吗?

所有的迭代算法都能用递归表达吗? 如果不能,是否存在一个好的反例来展示存在某些迭代算法没有对应的递归算法? 如果所有的迭代算法都能用递归表达,那么是否存在某些情况下更难做到这一点? 编程语言在其中扮演了什么角色?我可以想象Scheme程序员对于迭代(即尾递归)和堆栈使用可能与仅限于Java的程...

51得票4回答
HTML是一种无上下文语言吗?

阅读一些相关的问题使我思考了HTML的理论性质。 我指的不是类似XHTML的代码。我说的是这种疯狂的标记语言,它是完全有效的 HTML (!)<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html<head&g...

49得票6回答
“闭包”和“块”之间的区别是什么?

我发现很多人把「闭包(closure)」和「块(block)」这两个词混用,其中大部分人无法解释自己在谈论什么。 一些Java程序员(甚至是来自非常昂贵的咨询公司的程序员)称匿名内部类为「块(block)」和「闭包(closure)」,但我知道这不是真的。(你不能从定义它们的方法作用域中传递...

25得票6回答
“寄存器机”是什么?

引用自http://code.google.com/p/unladen-swallow/wiki/ProjectPlan: "使用JIT也将使我们能够将Python从基于堆栈的机器转移到基于寄存器的机器,这已经被证明可以提高其他类似语言的性能(Ierusalimschy等人,2005年; S...

24得票6回答
整个语言是什么意思?

我正在为计算语言理论课做作业,需要在一种只有while语句用于流程控制的语言中实现一段代码(没有if语句)。这主要是为了证明你可以使用仅有的while循环编写图灵完备的语言。 对于那些了解语言语法的人,以下是语言规则: S -> S;S | while C do S od | id ...

23得票5回答
这/self指针强制显式的优势是什么?

什么是拥有this/self/me指针的强制性显式声明的优势? 根据OOP理论,方法主要(只?)操作成员变量和方法参数。因此,应该更容易引用成员变量而不是外部变量(从对象的角度来看)。显式的this使得它更冗长,因此引用成员变量比引用外部变量更加困难。这对我来说似乎是违反直觉的。

19得票13回答
具有偶数个a和奇数个b的字符串的正则表达式

我在解决这个问题时遇到麻烦:- 这是一个任务,我已经解决了它,但似乎太长而且含义模糊,请问有人能帮忙吗...... 匹配由字符集{a, b}组成的偶数个a和奇数个b的字符串的正则表达式。