Python or Ruby for a .NET developer?
我是C.NET开发人员,主要从事ASP.NET项目。
我想学习一种新的编程语言,
- 为了通过体验一种新的语言来提高我的编程技能,
- 要查看与Microsoft环境不同的内容,
- 也许用另一种方式思考。
为了实现我的目标,我专注于两种语言。Python和红宝石。
- 你给我哪一个?
- 他们之间的利弊?
- 值得学习吗?
编辑:抱歉,我编辑了我的文章,但没有通知这里,
Ruby on Rails替换为Ruby。
两种语言都很强大很有趣。这两者都是对工具箱的一个有用的添加。
Python有一个更大的社区,可能还有更成熟的文档和库。它的对象方向有点不一致,感觉(对我来说,imho)像某种固定在语言上的东西。你可以在运行时改变类的行为(猴子补丁),但对于预编译的类来说,这是不允许的。
Ruby可能与您当前的体验稍有不同:它有一些Smalltalk的味道(例如,方法调用更正确地发送消息)。它的面向对象是从零开始内置的,所有的类都可以修改,这是一个可以接受的——如果有点可怕的话——实践。社区更小,图书馆更不成熟,文档覆盖率更低。
这两种语言在下一个majorp版本中都有一定程度的向后兼容性,都有.NET实现(Ironpython正在生产,IronRuby正在实现)。两者都有反映其优势的Web框架(搜索django/rails辩论)。
如果我从来没有见过Ruby,我会非常高兴在Python中工作,并且在必要的时候不用忍受任何痛苦。我总是希望我能在鲁比做这项工作。但这是我的观点,YMMV。
编辑:想想吧,尽管这让我很痛苦,如果你想利用你对.NET框架的了解,最好还是看一下Ironpython,因为它比Ruby的同类软件更成熟。
第一。。。有利于你拓宽你的知识面!第二,将语言(Python)与Web框架(RubyonRails)进行比较。
我认为您最好的选择是在python和ruby中尝试几个不同的框架,在每个框架中执行相同的非常简单的任务,然后选择您想了解更多信息的框架。Rails很适合Ruby,但它不是唯一一个。对于Python,我喜欢塔架和姜戈。
利弊:Ruby比Python更干净,语言更明智。python有一组更大的模块。
值得学习吗?是的,对python和ruby都适用。
如果你是一个初学者,如果你决定开始学习python,我建议你试试django。当然,如果您决定Ruby是您的风格选择,那么Rails是显而易见的选择。无论你选择哪种语言,我可以向你保证,这将是一个很好的选择。
说了这句话,我个人的选择是Python。我喜欢语言,我喜欢社区,几乎每一次都使用Python。我将它用于命令行应用程序、GUI应用程序,并将其用于Web应用程序(django)。哦,我也把它用于Windows和Linux上的系统管理脚本。
我也这么说了,我建议你也学一门像haskell或lisp这样的语言。这真的会让你看到编程的新视角。此外,既然你说你对.NET框架非常熟悉,我真的建议你从F开始,因为你已经熟悉了这些库,这将使转换更加顺利。不管怎样,祝你好运。
什么?没有提到Ironpython?
Ironpython是DLR的旗舰语言。它允许您使用所有熟悉的.NET库,但通过python。
我一定会试试Python和铁蟒。您将学到很多东西,甚至可能将其潜入当前的项目中(您可以在.NET应用程序中嵌入Ironpython引擎)。
经验法则-如果你喜欢严格的规则,可以使用python;如果你讨厌,可以使用ruby。
另一个:如果你喜欢javascript-Ruby是你的选择:)
学习一种新的编程语言总是很有价值的。而python和ruby都是很好了解的。重要的是要注意,虽然Python是一种语言,但RubyonRails是一种框架。嗯,你应该先学Ruby再学Rails。
去试试鲁比!看看你是否喜欢。如果你这样做了,那就试试Rails。否则,请尝试python。两者同样有用。对我来说,Ruby更"有趣"。如果你喜欢Lisp,你可能会喜欢Ruby。如果你喜欢c,你可能更喜欢python。两个都试试!
如果你想学习RubyonRails,这个指南站点有一个很好的入门指南和进一步的关于改进RailsFu的指南。
同时,Tore Darell还为Ruby on Rails编写了一个幸存者指南,这对你也很有用。
我要去看鲁比。似乎有一个更大(或至少更活跃)的社区,新项目和持续开发的速度是首屈一指的,学习资源的数量似乎超过了Python。我可能错了,但这是我的印象。