中国开发网: 论坛: 超级垃圾站: 贴子 532355
leejd
[转]最尴尬的语言Lua
在一本已经失传很久的 Python 秘笈的残卷中有这么一段文字:

所以 C++ 是一种多余的语言。当然他还不是最尴尬的语言, 这个殊荣应该归于 Lua。在底层显然该用 C, 在应用层比起Python, Lua 简直没有任何可用性。Lua, 没有企业级特性, 它在软件的任何一个层次都是完全多余的。那么为什么现在还会有人在追捧Lua 呢? 一说是 Lua 的设计很优美。这实在是转移话题, 世界上精彩的语言多了去了, FreeBSD、Minix 多漂亮?可以用来编程吗。那么为什么许多游戏引擎在用 Lua 呢? 因为在 Python 成熟 (成为可选) 之前,我们还没有更好的选择。存在只是当时合理, 就像比 Python 更拽的东西出现之前, Python 是最合理的一样 (这体现了 Python黑客们的高明, 最早的 Ruby 玩家相当多都是 Python 黑客, 因为他们一直在寻找更拽的东西)。而现在的识时务者,最新最强的引擎都已经主要在提供 Python 接口了, Lua 只是象征性地支持了。最简单地, Lua (包括 C++)玩家成天讨论的是如何避免把程序写坏, 聪明地避免陷阱, 如何实现一个稀疏平常的却是在 Lua 里面极有技巧性的东西, 或者是讨论一个用 C可以轻松解决、或者根本不是项目真正瓶颈的性能问题。反观 C 程序员正在关注系统底层, Python程序员正在关注如何实现强大到难以致信的应用问题。事情还不明显吗? 时至今日在 Lua 和 C++ 社群里面你除了能看到一些人的拽之外,你还能看到什么? 这是挑起所谓 "语言之争" 的一个地方。C++、Lua 包括上面, "更为面向对象" 的 Ruby, 我都毫不讳言,他们都是不能用的工具。曾几何时 "语言没有好坏之分, 只有应用领域的不同" 成了主流, 大家脑袋都粘着一锅粥。很不幸,我的编程生涯横跨了许多思潮的诞生点, 我现在就来告诉大家这种不负责任的言论是如何产生滴。

在 90 年代末编程成为时髦的那个特定年代 (此外还有英语, "今天你四级了吗?"), 一大跟风者涌入这个圈子,因为微软没有告诉他们, 所以 C++ 和 VC 有什么区别, 或者 Delphi 和 VB谁更强。所以这些鬼问题迅速淹没了国内本来就已经非常狭小的视野。同样没有看过《提问的智慧》,不知道黑客的解决方法不过仅仅是将其用于调侃搞笑的, 云集成一推的高手、大师们不厌其烦, 终于在某一天在一个鬼论坛上,一牛从喉咙里挤出这么几个大字 "语言没有好坏之分, 只有应用领域的不同"。这句话, 在当时确实非常之酷, 应者很快云集,以大师视角从高空抛出这句话无疑是身份和智慧的象征。与此形成鲜明对比的是根本没有任何异见, 因为挑起所谓 "语言之争" 的人,会让人明白而立即地联想到是那些呆头呆脑形象恶劣并且令人不厌其烦的初学者, 从而大失水准, 遭来口诛笔伐一片,以后无论如何都不能在圈子里混了。所以从头至尾 "语言没有好坏之分, 只有应用领域的不同" 这句话都是极其荒谬的,而必须要有人敢于承担澄清一切的大任。我本来就不是 Win32 的大师, 因此无知者开始无畏起来了。所以, 在这里我要告诉你们, 语言,就是有好坏之分的, 许多语言就是不该用的。但是有志于 "创造一门编程语言" 这么酷的事业的人, 研习 Lua 优雅的设计也是无可厚非的,但是在这里我想给你们一个忠告, 请先学好 C 和 Python (Ruby 也无不可), 因为 C 能帮助你们写出能用的东西, Python能告诉你们最新的语言、一个别人乐于使用的现代语言是什么样子的。除非你只想做一个令人称道的花瓶然后带进棺材。

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录