【问题标题】:Is Lua a language that a non-developer can learn quickly?Lua 是一种非开发人员也能快速学习的语言吗?
【发布时间】:2010-05-13 16:58:14
【问题描述】:

假设测试人员要做一些编程来创建自动化测试......对于非开发人员来说,Lua 真的很容易学习吗?

【问题讨论】:

  • 有些概念在编程语言中无处不在,在 Lua 中也一样,在其他语言中也是如此。没有什么比更简单的语言更容易了。我希望测试更喜欢特定领域的语言 - 例如Selenese、Fitnesse 等

标签: programming-languages lua automated-tests


【解决方案1】:

这取决于所讨论的特定非开发人员。有些人会完全阻止任何编程语言。有些人会很容易理解许多语言和基本的编程概念。将编程的力量交到未经测试的人手中是没有灵丹妙药的。

话虽如此,我个人的感觉是 Lua 与任何其他编程语言一样是一个很好的起点。

【讨论】:

    【解决方案2】:

    Lua 语言有一个活跃且通常对新手友好的community。它在非程序员和程序员之间的边界上有着悠久的使用历史。 language reference manualstandard text book 是我职业生涯中见过的最好的书面示例。参考手册全文在线,第一版Programming in Lua也在线,虽然第二版 PiL 反映了 PiL 首次发布后发生的语言差异,值得投资购买。

    Lua 的优势之一是它可以轻松集成到现有系统中,以构建应用程序的配置和脚本接口。这使得采用它的开发成本相对较低。它的小尺寸也使得对应用程序发布的影响也非常低。因此,使现有系统达到可以使用 Lua 编写足够脚本以使用 Lua 作为测试基础的程度可能是一项简单的任务,几乎没有隐藏的障碍。

    【讨论】:

      【解决方案3】:

      Lua 非常宽容,许多人将其与“简单”联系在一起。您不必输入分号,不必限定变量范围,您可以在全局范围内编写所有函数。当然,做这些事情只会让你在写作时生活更轻松。在调试时,即使是新程序员也可能很快就会明白为什么采用这些捷径并不是一个好主意。

      我也相信你可以在 Lua 中编写非常简单易用的 API,也可以创建非常复杂的 API,这可能涉及面向对象的概念(例如 . 和 : 之间的区别)或带有闭包的函数式 API 和将函数作为函数参数等传递。用户是否能够正确使用和理解语言来完成手头的任务,很大程度上取决于 API,而不是语言。

      【讨论】:

        【解决方案4】:

        我确实相信 Lua 比许多其他语言更容易学习,比如 Ruby 和 Python(当然还有 Perl)。例如,Lua 的语法和句法比 Ruby 更一致;在 Ruby 中,您有很多保留关键字,以及各种符号(用于块的大括号和用于局部变量的管道等),而且它为您提供了太多的选项(您可以使用花括号作为块,也可以使用关键字 do 和 end 开始和结束块)。

        我相信对于非程序员来说 Lua 更容易,尤其是因为上面列出的原因。至于程序员,我读过很多人都这么说,我同意:用 Lua 编程是非常愉快的。我相信这也是因为我上面所说的。

        【讨论】:

          【解决方案5】:

          这可能是因为它与 Python 非常相似:

          在 Comp Sci 入门课程中使用 Python 的大学数量可能是所有语言中最多的(通过 google 获得的经验)。其次可能是 Java 和 Scheme。

          Python 库的数量是天文数字。并且知道该语言的人数相当多,因此如果您雇用一个新人,他们很有可能以前看过该语言。

          具有讽刺意味的是,我已经不喜欢这种语言了,所以我不会这么说,因为我是 python 粉丝。

          【讨论】:

          • 我从来不喜欢有人说有一个比我问的问题更好的问题。我特别选择问我做过的问题,而不是你建议的问题。这是负面的帖子,我给了 -1。
          • 是的,我可能活该。我希望我可以一起收回答案。
          【解决方案6】:

          只要您清楚地向测试人员解释他们在 LUA 中调试时可能面临的陷阱,就不会比学习任何其他语言的编程基础更难。

          我想到的是测试人员打错字并为变量写了一个不同但几乎不引人注意的名称的情况。将使用给定值创建新变量,但不会修改旧变量。当人们不是特别清楚时,这种事情可能很难调试。

          【讨论】:

          • 我同意。隐式空变量绝对是 Lua 疣。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-29
          • 2010-11-08
          • 1970-01-01
          • 2010-10-29
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多