我是一名C#.NET开发人员,我主要从事ASP.NET项目.
我想学习一门新的编程语言,
通过体验一门新语言来提高我的编程技巧,
看到微软环境不同的东西,
也许以不同的方式思考.
为了我的目标,我专注于两种语言.Python和Ruby.
你为我提供哪一个?
他们彼此的利弊?
是否值得学习它们?
编辑:对不起,我编辑了我的帖子,但没有通知这里,
Ruby on Rails取代了Ruby.
这两种语言都很强大而有趣.对您的工具箱来说,这两者都是有用的补充.
Python有一个更大的社区,可能还有更成熟的文档和库.它的面向对象有点不一致,感觉(对我来说,恕我直言)就像是用语言固定的东西.您可以在运行时更改类行为(猴子修补),但不能更改预编译类,它通常不赞成.
Ruby可能与您当前的体验有所不同:它具有一些Smalltalk的风格(例如,方法调用更正确地发送消息).它的面向对象是从头开始内置的,所有类都可以修改,它是一个被接受 - 如果有点可怕 - 的练习.社区规模较小,图书馆不太成熟,文档覆盖范围较小.
两种语言在下一个majopr版本中都会有一定程度的向后兼容性,两者都有.Net实现(IronPython是生产,IronRuby到达那里).两者都有反映其优势的Web框架(搜索关于Django/Rails辩论的SO).
如果我从未见过Ruby,我会非常高兴使用Python,并且在必要时不会受到影响.我总是发现自己希望能用Ruby完成这项工作.但是我认为,YMMV.
编辑:想想它,即使它让我感到痛苦,如果你想利用你对.Net框架的了解,你可能最好看看IronPython,因为它比Ruby等价物更成熟.
首先......对你想要扩大你的知识有好处!其次,您将语言(Python)与Web框架(Ruby on Rails)进行比较.
我认为你最好的选择是在Python 和 Ruby中尝试一些不同的框架,在每个框架中执行相同的相当简单的任务,然后选择你想要了解的更多内容.Rails对Ruby很好,但它并不是唯一的.对于Python,我喜欢Pylons和Django.
优点和缺点:Ruby比Python更清晰,语言更清晰.Python有一套更大的模块.
值得学习吗?是的,同时适用于Python和Ruby.