我在这个问题中寻找的语言应该具有以下特征:
this
的另一个参数),斜体中的三个点在C ++中发生在幕后并且试图干扰它们会导致未定义的行为,尽管在通常的实现中它们非常简单。其他一些人反对其原则。当然,这是有充分理由的,但总而言之,它只是一种设计选择。为什么我对一种不会因设计而模糊不清的语言感兴趣:
当然,人们可以继续使用C语言,但我的观点是语言 实际上是面向对象的,默认情况下会执行所有" magic"除非实际需要额外的灵活性,否则对用户来说是正确的。用户负责处理由于玩不好而造成的情况。
是否存在任何此类语言(可能不明确)?如果不是,最接近的匹配是什么,它们满足哪些条件?
答案 0 :(得分:2)
大多数现代语言故意避免给程序员太多低级别的功能,因为这往往会产生昂贵且难以维护的代码。
话虽这么说,虽然我不知道任何与您正在寻找的语言完全匹配的语言,但我能想到的最接近的语言是一种古老但非常强大的语言,称为Forth。虽然它的原始设计并没有包含面向对象的结构,但已经对语言进行了扩展以支持这一点。与大多数语言不同,Forth可以将程序员汇编语言级别的功能与高级开发概念(例如函数式编程和面向对象的继承)自由地混合在一起。但是,它与C语言系列非常不同,因此除非您已经熟悉它,否则在您能够有效使用它之前需要进行一些研究。
Forth是一种非常强大的语言,您可以在语言本身中设计自己的面向对象机制,设计任何继承,封装或任何其他面向对象的原则。您也可以根据需要将其设置为自动或手动,例如,选择是否自动调用超类构造函数。
这可能对你没什么帮助,因为你可能正在寻找更多类似C语言的东西。我能想到的另一件事是高级汇编语言,也许是一种类似于nasm的语言,在预处理器中内置了大量的合成糖。