在ruby和python之间纠结,求指点。

2011-03-24 17:52:47 +08:00
 leben
最近想再学习一种lang,在ruby和python之间纠结。目前用的是php,以前用过一段时间asp.net,学习新语言主要是想深入体会oop,因为之前一直在php里拿类当函数用,对oop一直是模棱两可,模模糊糊。同时如果可能也想在以后的项目中使用python或者ruby。
各位大神指点一下吧,谢谢!
ps:本人非语言偏执狂,对语言没有什么偏见,作为第二语言,追求优雅好看,对提升自己有帮助,最好也实用。
17687 次点击
所在节点    程序员
103 条回复
no2x
2011-03-24 21:59:10 +08:00
从对语法缩进的严谨和整齐上讲,Python 是唯一之选,验证了代码之美。
kaktos
2011-03-24 22:00:51 +08:00
感觉python装个东西挺费劲的,现在ruby的gem和bundler在python界有匹敌的管理工具吗?
imonyse
2011-03-25 00:06:59 +08:00
@kaktos, python有setuptools(easy_install).
WEB框架方面有没有类似bundle install的东西还不清楚,可能这点到真是rails比较方便。
我记得GAE是要手动扔一个模块的目录进去,不同的人还有不同的扔法,确实很不规范。
chuangbo
2011-03-25 00:38:34 +08:00
1. Python 是十分优美的语言。
2. Ruby 局限于 Rails, Rails 局限于 Web,而 Python 适合干任何事。
3. @kaktos Python 有 easy_install 和 virtualenv ,非常方便。
4. Python 上开发 Web 框架异常简单(国内就有2个知名框架),各种大牛对 Python 哲学的理解不一致,导致大家都去做自己的框架去了。
jinleileiking
2011-03-25 10:04:49 +08:00
@chuangbo
2. Ruby 局限于 Rails, Rails 局限于 Web,而 Python 适合干任何事。

别瞎说,ruby啥都能干。。。
leben
2011-03-29 09:43:15 +08:00
先谢谢各位大神了,这种帖子总是会引起争论,呵呵,不顾对我还是有很大帮助...tks...
mcxiaoke
2011-03-31 17:53:38 +08:00
easy_install 哪里方便了? 比gem差远了
ayanamist
2011-03-31 18:51:08 +08:00
@mcxiaoke 不过可以不局限在setuptools上啊,还有pip嘛,pypm也是,Python上的包管理一大堆啊一大堆
flytwokites
2011-03-31 19:01:51 +08:00
如果你有代码完美癖就别用ruby
benzhe
2011-03-31 19:08:26 +08:00
先python,再ruby,我是这样打算的
zhendi
2011-03-31 20:40:10 +08:00
根据LZ的需求,“学习新语言主要是想深入体会oop”,我觉得还是优先选择Ruby吧。
dreampuf
2011-03-31 20:54:13 +08:00
@kaktos 为什么你说的这些东西都能在python中找到,而且做得更好。

对于python类库的繁琐我觉得完全这本身就是python的特点,在哪都能看到python的影子,作为胶水,很好的粘合系统中的各个部分。

而且本身不失为一门优雅的语言。

ruby没碰过,不予评论。
leben
2011-04-01 10:15:08 +08:00
先ruby再python,ror的快速还是很看重的,短期之内不会用心语言作为主要生产工具,ror可以用来快速的搭建原型对于思考问题很有帮助。而且环境配置也比较简单。
wxm4ever
2011-04-12 13:13:07 +08:00
不要太狭隘.rails只是ruby的一个方面而已.`
xatest
2011-04-16 02:58:19 +08:00
2个都分别学习1个月,这个成本不高~
然后用2种语言来写同一种满足自己需求的实用工具,看哪种写起来更顺自己的手~
chuck911
2011-05-04 14:11:44 +08:00
两者都很优秀,lz抛硬币决定其中一个,也绝对不会吃亏的。学通了一个再看看另一个
soulhacker
2011-05-04 14:55:49 +08:00
如果只是学习的话,这两个语言都很优秀,也都有自己的强项,而且气质上差别很大,所以都了解下然后根据自己的直觉选择一个就好。。。
chone
2011-05-04 15:02:29 +08:00
深入体会oop最好还是java,如果非要从这两个里选我推荐python,python除了web方面还是一个很好的"粘合剂"
leben
2011-05-04 15:34:52 +08:00
最近在看ror,回头看完了再看python。
我现在自己的体会,rails的优势主要体现在web的快速开发上,python还没看过不好下结论。如果python的开发效率和rails类似,我宁愿选择python,ruby太灵活了。这是一件痛苦的事情。

@chone java在j2ee时代接触过。太重型了,没兴趣。
@chuck911 硬币是个好办法,我睡了一觉起来决定先看rails,因为手头还没有python的教材。。。吼吼。
args
2011-05-04 15:47:04 +08:00
ruby的语法不规整,而python则在这方面本着最小离异原则。齐次python的语法糖不如ruby多,虽然这会造成语言的表达效率下降,但对初学者来讲,绝对是一个加分点。很难想象ruby初心者能较快的掌握协程、迭代器、枚举器等高级技巧。甚至几种不同的函数就让人够头痛的了,而python在这方面的高级技巧只有较容易掌握的列表解析,迭代器的概念也比ruby的简单。

齐次,在国内python社区无论规模与质量都比ruby更出色,相关的工作机会应该更多。

还有一点是python现在渐渐的正在取代perl成为unix类系统的核心支持语言,也就是今后的开源世界不管你是不是一个python程序员,掌握python是一门必须技巧。

然而python相比ruby也不是没有缺点,我目前体会到的是,python没有ruby那么集中的优势资源。无论是web框架还是学习资料,如果你问学习ruby应该看什么书,大多人的回答不会脱离那三本,而如果你问python,那就各人各种说法,很难找到所谓众口铄金的一本好书。同理,其它方面也是一样,这对新人应该是一个不大不小的障碍。还有之前说过的ruby的表达能力应该比python更丰富,语言的动态性更强,作为开阔眼界是极有价值的。

所以我的观点是:先学python,在学ruby。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/10337

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX