【问题标题】:if i like Ruby a lot, is there a reason I should learn another language now, such as Lua or Erlang?如果我非常喜欢 Ruby,我现在有理由学习另一种语言吗,比如 Lua 或 Erlang?
【发布时间】:2010-10-29 11:25:37
【问题描述】:

如果我非常喜欢 Ruby,我现在有理由学习另一种语言吗,例如 Lua 或 Erlang?

【问题讨论】:

    标签: ruby erlang lua


    【解决方案1】:

    新的编程语言,就像口语一样,可以开辟新的视角。学习新的语言——尤其是那些与你习惯的语言完全不同的语言(Erlang 可能会符合这个要求)——可以教给你很多你甚至不知道的东西知道不懂编程。所以是的,我认为你绝对应该这样做,即使你只学了足够的东西来修补它并感受一下新语言。

    【讨论】:

    • 我想说的不仅仅是口语。我不确定Rubyist可以从Lua中学到很多东西,但是例如Erlang?口齿不清? C?完全不同的思维方式。此外,Ruby 并不适合所有应用程序。有时你真的想要 C。
    • 但如果您仍然“非常喜欢 ruby​​”,那么可能值得进一步提高学习曲线。 (不是特定于 ruby​​ 的 - 任何语言都是如此。)
    【解决方案2】:

    学习一门函数式语言尤其有益。熟悉编程的函数式风格是迈向更好程序员的必经之路。 Lisp(或其衍生物)尤其是一种很好的学习语言。以下是关于 SO 的过去线程列表,可能会为您提供一些关于这些方面的见解:

    1. Why do people think functional programming will catch on?
    2. What’s a good Functional language to learn?
    3. Benefits of learning scheme?

    【讨论】:

      【解决方案3】:

      抛开想要学习另一种语言的(极好的)一般理由,如果你非常喜欢 Ruby,你可能想要

      • 学习 Smalltalk,这是一种与 Ruby 非常非常相似但形式更纯粹的语言。

      • 学习一门非常非常不同的语言——比如基于代数数据类型和函数而不是对象和方法的语言,以及基于静态类型系统而不是动态类型系统的语言——但是像 Ruby 一样,将支持强大的程序组合方法和泛型编程。好的候选人包括标准机器学习和Haskell

      • 学习一门非常、非常不同的语言——说一些让你控制内存中的每一位、地址和单词的东西——迫使你理解和控制硬件的东西。换句话说,学习 C。

      关于你提到的其他语言,

      • Lua 体积小,设计和实现都非常优雅。这可能会吸引你的 Rubyist。但与 Ruby 不同的是,它并没有强加太多的世界观。它更像是零件的集合。我建议您先使用三四种其他语言工作后,更有可能欣赏和享受 Lua。

      • Erlang 很有趣,但我有一种直觉,它要么太不同(纯粹是功能性的、分布式的),要么不够不同(动态类型系统)。但如果它吸引你,那就去吧。

      【讨论】:

        【解决方案4】:

        另一方面,要真正了解一门语言,也有一些话要说。与掌握一打表面知识相比,深入了解一种语言,您将能够做更多事情。

        【讨论】:

        • “如果你只知道一把锤子,你就会把每一个问题都当成钉子”
        • 如果你只知道什么是锤子,那你什么都开不了。 ;)
        • 我觉得你还是可以开车的。
        • 我并不是说你不应该学习另一种语言,但是有 7 个答案和大约 30 个赞成票,专注于一种语言只能得到一种。你不觉得在这个方向上可能有太多的强调吗?我们需要平衡。
        【解决方案5】:

        如果你非常喜欢 Ruby,你应该绝对学习另一种语言...如果可能的话,不用sigils

        【讨论】:

        • 哦,它们不像 Perl 印记,让他们休息一下。它们仅用于范围界定,而不是匈牙利表示法。
        【解决方案6】:

        在我看来,专业人士会学习他需要使用的工具。框架、容器、语言,都是公平的游戏。我从 Pascal 开始,然后是 C,然后是 C++。然后转换为Java。这些天来,它主要是 Java,有很多 Javascript 和一些 PHP。够容易吧?好吧,我还需要学习 Bash 脚本和 Perl。别介意我需要处理的所有其他废话(如果您说您了解所有 Web 身份验证,我会称您为骗子)。那里有很多东西。加入进来。愿意尝试不同的事情。

        【讨论】:

          【解决方案7】:

          我总是喜欢为了挑战而学习新语言。它使我的大脑保持健康。我还发现,能够说“我很灵活。我能适应你未来的任何需求。我可以用我的一长串语言证明这一点。”

          【讨论】:

            【解决方案8】:

            我的主要语言是 PHP。我是一个脚本语言爱好者,但我潜入了 C#、Java、Python、Ruby 甚至 OO JavaScript 书籍,以寻找新的机制和思维方式。例如,我在 Java 中发现了很多特技,我可以在我一整天的工作中实现这些特技。因此,学习或只是学习新语言可以拓宽您的视野。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2013-09-04
              • 2010-10-24
              • 1970-01-01
              • 2017-11-15
              • 2011-05-12
              • 2012-06-29
              • 1970-01-01
              相关资源
              最近更新 更多