为什么很多人觉得Lua比C++简单?
谢邀。 我觉得题主你所理解的简单是有问题的。讲道理 Lua 实现了一个几乎最小而且完整的动态语言核心。而所谓的metatable这种灵活的东西,也更是为了减轻额外的一些设计负担采取的约定性的东西。但是这种灵活性拿出来不是给任何人都能用的,必然也要做一些取舍和限制。 另外至于所谓的 C++ 的规则和限制什么的,BS 当年都说过,C++ 是不会限制使用者的风格的,也就是说,钦定了你可以自由自在的瞎jb写,而且标准委员会会给你语言特性级别的支持。 于是瞎jb写你用 Jawa 也能写出非常难调试的代码,所以这只能说是人,或者说团队协作的问题,不能怪到语言上。毕竟 C++ 配合 structural typing 也一样写的出来不好跟踪的代码(不好跟踪的一个原因甚至是根本都不给你调试的机会,比如模板)。 关于那个类比,我觉得更是没道理。如果说 Lua 是围棋(如果我没有理解错你的意思),那 C++ 其实是在围棋棋盘上用黑白子实现了的围棋+象棋+军棋+跳棋。你玩起来觉着像象棋,是因为你只了解了象棋的规则而已。 另外可以建议题主了解一下 Lua 社区的一些其他工具,有些是加了 gradual typing 限制的(类比 TypeScript 之于 JavaScript),也许能够某种程度上满足你的需求。 以上。