【发布时间】:2011-04-29 20:22:54
【问题描述】:
我将在大学学习 Ruby、Haskell 和 Prolog。 现在,我想知道什么应该引起我的最大关注。我有半年的时间来做这三个,这意味着我需要决定一种语言来获得我的课外时间。其他的我将学习到足以在课程中做得很好。
我对 Haskell 和 Prolog 非常熟悉,知道学习它们会教给我一些非常重要的计算机科学概念。我不太确定红宝石。
通过一些教程和介绍,我得到的印象是 ruby 是很多浅层魔法。现在我在问 ruby 的人:我会得到什么,如果我决定不再使用它,在我花了半年的时间学习它之后,Python 还没有教给我。
这个问题并不是要为 ruby “提出理由”,尽管我意识到这是一个很有争议的潜在话题。
我现在使用 Python 来完成我所有的 CS 工作。我也用它做了很多函数式编程。我也已经非常熟悉面向对象的编程(Java、Python 和 C#)。正如我所说,我将使用 Prolog 进行一些逻辑编程。
那么 Ruby 还能教我什么呢?
进一步淡化问题:
我对写乐趣不感兴趣 程序或很酷的网络应用程序。 我只对电脑感兴趣 科学位。实现算法、数据结构等。 (虽然玩得开心肯定不会有什么坏处)
理想情况下,讨论的概念需要在大约 1000 小时内学会。
我对 Rails 一点也不感兴趣。在这种情况下,任何隐藏复杂性的技术都是有害的。
我忍不住这个问题是有争议的。但是这个问题的理想答案将提到一个非常重要的理论计算机科学概念,Ruby 帮助程序员使用和理解,以获得科学辅助知识。
我想出的候选人是元编程和多线程。我不知道 ruby 是否特别适合学习其中任何一个。
【问题讨论】:
-
对 Python 的新认识? :-)
-
有时我会怀念旧的“主观”标签。
-
@Pointy:这不是主观问题。你可以给出客观的答案,Ruby 的特性和范式是什么,这对 Pythonist 来说是新的。
-
对不起,我在之前的评论中写了“主观”而不是“客观”...... @Pointy:我努力在我的问题中列出一个客观的示例答案:深刻ruby 使用的重要 CS 概念。一个可能的答案可能是“ruby 是一种面向对象的语言”(不是一个好的语言)——这些属性没有争议。
-
哦,我个人认为你应该去学习 Erlang。 :-)
标签: ruby computer-science