我是一个经验丰富的业余程序员,我对 C++、D、Java、C# 和其他语言非常熟悉。
除了 Go,几乎所有语言都要求我明确声明我正在实现一个接口。这是荒谬的,因为我们今天有像 Haskell 这样的语言的编译器,它几乎可以用很少的提示进行完整的程序类型推断。
我正在寻找的是一种编程语言,它可以做到这一点:
interface ITest {
void Test();
}
class Test {
void Test() { }
}
void main() {
ITest x;
x = new Test;
}
哪些语言会看到这一点,并自动标记Test
为正在实施ITest
?
ETA:我不是在寻找鸭子打字。我正在寻找具有推理的严格类型语言。