如果我非常喜欢Ruby,我现在应该学习另一种语言,比如Lua或Erlang吗?
答案 0 :(得分:31)
新的编程语言,就像口语一样,可以开辟新的视角。学习新语言 - 特别是那些与你习惯的语言不同(和Erlang可能适合该法案)的语言 - 可以教你很多不同的事情,你甚至没有知道你没有不知道编程。所以,是的,我认为你绝对应该,即使你只是学到了足够的东西来修补它并感受到新语言。
答案 1 :(得分:10)
特别是学习功能语言可能非常有益。熟悉编程的功能风格是成为更好的程序员的必然步骤。 Lisp(或其衍生物)尤其是一门很好的语言。以下是关于SO的过去主题的列表,可能会为您提供以下方面的一些见解:
答案 2 :(得分:6)
不考虑(优秀的)一般理由想要学习另一种语言,如果你喜欢Ruby很多,你可能想要
了解Smalltalk,这是一种非常类似于Ruby的语言,但形式更为纯粹。
学习一种非常非常不同的语言 - 比如基于代数数据类型和函数而不是对象和方法的东西,以及使用静态类型系统而不是动态类型系统的东西 - 但是和Ruby一样,它将支持强大的程序组合和泛型编程方法。好的候选人将包括标准ML和Haskell。
学习一种非常非常不同的语言 - 比如让你控制内存中的每一位,地址和单词的东西 - 这会迫使你理解并控制硬件。换句话说,学习C。
关于您提及的其他语言,
Lua很小,设计和实施非常优雅。这可能会吸引你的Rubyist。但与Ruby不同的是,它不会强加太多的世界观;它更像是零件的集合。我建议你在第一次使用其他三种或四种语言后更有可能欣赏并享受Lua。
Erlang很有意思,但我有一种直觉,认为它要么太不同(纯功能,分布式),要么不够(动态类型系统)。但如果它吸引你,那就去吧。
答案 3 :(得分:2)
另一方面,对于真正了解语言有一些东西可以说。通过对一种语言的深入了解,您将能够比使用十几种表面知识更深入地学习。
答案 4 :(得分:2)
如果你非常喜欢Ruby,你应该绝对学习另一种语言......如果可能的话,一个没有 sigils。
答案 5 :(得分:2)
在我看来,专业人士学习他需要使用的工具。框架,容器,语言都是公平的游戏。我从Pascal开始,转到C然后转到C ++。然后转换为Java。这些天它主要是Java,有很多Javascript和一些PHP。够容易吧?好吧,我还需要学习Bash脚本和Perl。别担心我需要掌握的所有其他废话(如果你说你理解所有的网络身份验证,我会称你为骗子)。那里有很多东西。跳进去。愿意尝试不同的事情。
答案 6 :(得分:1)
我总是喜欢学习新语言而仅仅是挑战它。它让我的大脑保持健康。我还发现它可以说“我很灵活。我能很好地适应你未来的需求。我可以用我长长的语言列表来证明这一点。”
答案 7 :(得分:0)
我的主要语言是PHP。我是一名脚本语言迷,但我已经深入研究了C#,Java,Python,Ruby甚至是OO JavaScript书籍,以寻找新的机制,思维方式。我在Java中发现了很多特技,我可以在一整天的工作中实现。因此,学习或只是学习新语言可以拓宽你的视野。