为什么很多人觉得Lua比C++简单?


Author: Kimmy

为什么很多人觉得Lua比C++简单?

知乎链接


谢邀。


我觉得题主你所理解的简单是有问题的。讲道理 Lua 实现了一个几乎最小而且完整的动态语言核心。而所谓的metatable这种灵活的东西,也更是为了减轻额外的一些设计负担采取的约定性的东西。但是这种灵活性拿出来不是给任何人都能用的,必然也要做一些取舍和限制。


另外至于所谓的 C++ 的规则和限制什么的,BS 当年都说过,C++ 是不会限制使用者的风格的,也就是说,钦定了你可以自由自在的瞎jb写,而且标准委员会会给你语言特性级别的支持。


于是瞎jb写你用 Jawa 也能写出非常难调试的代码,所以这只能说是人,或者说团队协作的问题,不能怪到语言上。毕竟 C++ 配合 structural typing 也一样写的出来不好跟踪的代码(不好跟踪的一个原因甚至是根本都不给你调试的机会,比如模板)。


关于那个类比,我觉得更是没道理。如果说 Lua 是围棋(如果我没有理解错你的意思),那 C++ 其实是在围棋棋盘上用黑白子实现了的围棋+象棋+军棋+跳棋。你玩起来觉着像象棋,是因为你只了解了象棋的规则而已。


另外可以建议题主了解一下 Lua 社区的一些其他工具,有些是加了 gradual typing 限制的(类比 TypeScript 之于 JavaScript),也许能够某种程度上满足你的需求。


以上。

创建时间:2018-05-02 最近更新时间:2023-11-03