1
roamlog 2011-03-24 18:01:07 +08:00 via iPhone
看你说的,应该是选 ruby,其实我觉得两门语言都去大概了解一下,自然有答案了
|
2
leben OP 从asp.net转过来,觉得php的弱类型就很happy了。但是看ruby和python都看得我头晕。。。那语法对我来说很天书。。。优劣就更体会不出来。嘿嘿
|
3
yangguang 2011-03-24 18:09:53 +08:00
从美观优雅来看,当然是Python。
既然对语言没有什么偏见,那有什么好纠结的,学哪个不是一样的么? |
4
Livid MOD 和 V2EX 有关的项目用的都是 Python,Google 的大部分项目也是。
所以,当然是推荐 Python。 相信以后国内使用 Python 的大公司也会越来越多。 |
5
summic 2011-03-24 18:18:54 +08:00
抛硬币决定把
|
6
ssword 2011-03-24 18:20:48 +08:00
抛硬币 +1
|
7
chloerei 2011-03-24 18:21:16 +08:00
投Ruby一票,更准确的是投 Ruby on Rails 一票。
要上少林还是武当,可能就凭LZ的一念之差了。 |
8
leaf 2011-03-24 18:26:30 +08:00
twitter是ruby
facebook是PHP 豆瓣, v2ex是python 任意选个吧 |
9
vicalloy 2011-03-24 18:45:47 +08:00
ruby或python更多的还是看个人偏好吧。
两种语言风格差太多。 |
10
Los 2011-03-24 18:56:44 +08:00
Twitter, Groupon, Hulu, Shopify 用ruby
Google, douban, Quara 用python web开发建议先选择ruby,学习rails能让你的在web开发的各方面都有很大的长进,这是一个系统性的提高,而选择python却没有这方面效果。 其实如果只是语言的学习,并不是太大的问题,学会ruby或者python其中一门语言后,你会发觉学其中另一门语言是轻而易举,不说精通,但起码几个小时能会基本的使用。 不过,一般人使用rails上手后,再接触其他web开发技术基本都不会二次选择,某方面而言,rails在web开发上往前走了老远的,将其它后来者甩得远远的。 最后,推荐看下这篇文章: http://blog.xdite.net/?p=2124 |
11
imonyse 2011-03-24 19:03:05 +08:00
我觉得既然做web开发,像rails, django这样的典型框架都应该了解和学习一下。
何必限定和纠结于一个语言呢? |
13
yyfearth 2011-03-24 19:52:21 +08:00
觉得rails不错,但是不喜欢ruby。如果有rails on 其他什么的就好了。本人最喜的脚本语言是js,python就是觉得tab用的挺爽,没有冗余的{}。
|
14
jinleileiking 2011-03-24 20:21:32 +08:00
两个都学,我用过ruby,看过python,感觉还是ruby比较适合我
|
15
Numbcoder 2011-03-24 20:26:19 +08:00
为什么觉得选择ruby都是因为rails呢?
就算没有rails,我依然会选择ruby。 |
17
Livid MOD Python 上也有非常好的开发框架。
目前 V2EX 在一些周边项目中所使用的 stack: nginx Tornado Jinja2 Storm 每一个都是非常强大的工具。个人觉得可以用来完成任何目标。 |
18
lldong 2011-03-24 21:41:09 +08:00
我觉得可以根据个人的性格去选择语言
|
19
ssword 2011-03-24 21:51:17 +08:00
|
20
kaktos 2011-03-24 21:58:58 +08:00
如果你很懒,个人认为还是选择ruby吧,首先在web framework方面,ruby界"基本"上是统一的(rails+轻量级sinatra),有时候没有选择反倒省事儿了。其次是,ruby社区有很多web方面现成的方案,比如搜索,可以直接上thinking_sphinx(sphinx),sunspot(solr);比如nosql,有mongoid(mongodb),比如缓存,有redis;比如background job,有resque;比如authtication,直接devise;这些外表光鲜的类库让你几乎不用写什么代码就可以完成一个看上去很难的任务了 :)
|
21
no2x 2011-03-24 21:59:10 +08:00
从对语法缩进的严谨和整齐上讲,Python 是唯一之选,验证了代码之美。
|
22
kaktos 2011-03-24 22:00:51 +08:00
感觉python装个东西挺费劲的,现在ruby的gem和bundler在python界有匹敌的管理工具吗?
|
23
imonyse 2011-03-25 00:06:59 +08:00
@kaktos, python有setuptools(easy_install).
WEB框架方面有没有类似bundle install的东西还不清楚,可能这点到真是rails比较方便。 我记得GAE是要手动扔一个模块的目录进去,不同的人还有不同的扔法,确实很不规范。 |
24
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 哲学的理解不一致,导致大家都去做自己的框架去了。 |
25
jinleileiking 2011-03-25 10:04:49 +08:00
|
26
leben OP 先谢谢各位大神了,这种帖子总是会引起争论,呵呵,不顾对我还是有很大帮助...tks...
|
27
mcxiaoke 2011-03-31 17:53:38 +08:00
easy_install 哪里方便了? 比gem差远了
|
28
ayanamist 2011-03-31 18:51:08 +08:00
@mcxiaoke 不过可以不局限在setuptools上啊,还有pip嘛,pypm也是,Python上的包管理一大堆啊一大堆
|
29
flytwokites 2011-03-31 19:01:51 +08:00
如果你有代码完美癖就别用ruby
|
30
benzhe 2011-03-31 19:08:26 +08:00
先python,再ruby,我是这样打算的
|
31
zhendi 2011-03-31 20:40:10 +08:00
根据LZ的需求,“学习新语言主要是想深入体会oop”,我觉得还是优先选择Ruby吧。
|
32
dreampuf 2011-03-31 20:54:13 +08:00
@kaktos 为什么你说的这些东西都能在python中找到,而且做得更好。
对于python类库的繁琐我觉得完全这本身就是python的特点,在哪都能看到python的影子,作为胶水,很好的粘合系统中的各个部分。 而且本身不失为一门优雅的语言。 ruby没碰过,不予评论。 |
33
leben OP 先ruby再python,ror的快速还是很看重的,短期之内不会用心语言作为主要生产工具,ror可以用来快速的搭建原型对于思考问题很有帮助。而且环境配置也比较简单。
|
34
wxm4ever 2011-04-12 13:13:07 +08:00
不要太狭隘.rails只是ruby的一个方面而已.`
|
35
xatest 2011-04-16 02:58:19 +08:00
2个都分别学习1个月,这个成本不高~
然后用2种语言来写同一种满足自己需求的实用工具,看哪种写起来更顺自己的手~ |
36
chuck911 2011-05-04 14:11:44 +08:00
两者都很优秀,lz抛硬币决定其中一个,也绝对不会吃亏的。学通了一个再看看另一个
|
37
soulhacker 2011-05-04 14:55:49 +08:00
如果只是学习的话,这两个语言都很优秀,也都有自己的强项,而且气质上差别很大,所以都了解下然后根据自己的直觉选择一个就好。。。
|
38
chone 2011-05-04 15:02:29 +08:00
深入体会oop最好还是java,如果非要从这两个里选我推荐python,python除了web方面还是一个很好的"粘合剂"
|
39
leben OP |
40
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。 |
41
prajnamas 2011-05-04 16:29:16 +08:00
爱自由学Ruby,做学究学Python。
|
43
yuest 2011-05-04 17:16:46 +08:00
Python 的优势主要是库多,各领域。
|
46
moyaya 2011-05-05 09:35:19 +08:00
现在国内有那些大点的网站是用ruby开发的?
|
47
iiduce 2011-05-05 11:18:01 +08:00
我就是asp.net过来的,学的python,上手很快,现在已经开始第二个项目了。
这是我的第一个项目:http://css9.net 学python后三个月做的。 |
48
leben OP javaeye和caibangzi。
现在有不少创业团队用ruby,开发速度快啊。 其实twitter不算一个好例子,当初他用ror几乎是个噱头,用户量涨的太快,他们后来不用ruby了吧。 我觉得一般规模的website,ruby足够用了,ruby或者python只不过是个爱好问题,个人选择。 douban和google是python最好的广告。 facebook和yahoo是php的,不过yahoo好像只用php做页面生成。 |
49
beston 2011-05-12 15:52:56 +08:00
java
|
50
yzhrain 2011-05-12 16:22:48 +08:00
08年的时候从Java转到Ruby之后,再也没有写过一行Java的代码,而且我知道再也回不去了。对Python有一点儿的了解,非常不喜欢Python的缩进(很多人认为是优点)。
基本上Ruby是什么都能干的,语法非常灵活,所以很多人认为入门很难,其实灵活的语法会让你非常有个人的风格,比较我刚刚入门的时候写的Ruby代码非常的Java化,但是随着你使用日深,对Ruby的理解加深,很容易写出非常容易让人阅读且高效的代码。 Web开发,Ruby/Rails是不二之选,来吧,没你想象那么难的。 |
51
leben OP |
55
lijia18 2011-05-26 11:22:53 +08:00
我市用tornado的,ror牛在快速开发,但是它的运行速度一直被人质疑,python则是除了web开发,也能进行桌面甚至移动平台的开发,就业的话推荐python。
|
56
Rice 2011-05-26 11:33:45 +08:00
@leaf 好像看过一篇文章说FACEBOOK选PHP是当时扎克的团队只会PHP,现在已经发现PHP不适合这大型网站,不过要改成其他的难度太大了
|
57
haohaolee 2011-05-26 11:44:47 +08:00
都学吧,不冲突
|
58
mrkschan 2011-05-26 11:52:24 +08:00
development of Python is backed, funded, and supported by giant company - Google... Who is the giant company behind Ruby?
And, most of the Linux distributions are now shifting to have Python developed applications. Obvious choice is - Python. |
59
kongruxi 2011-05-26 12:14:21 +08:00
@lijia18 在知乎有人提到PHP实际上比Rails慢(本人未证实),但PHP依然广泛地在互联网中使用,如果总是纠结于性能问题,只会耽误学习时间
|
60
lijia18 2011-05-26 12:22:22 +08:00
@kongruxi 同意,对于创业公司而言,开发的敏捷最重要。运行速度在pv小的时候都不是问题,无论php,ror,python,那个顺手就用哪个,如果完全没有网站开发经验,如本人,推荐用python。
ps: 毕业后一种在做android和iphone的开发,工作之余学习做网站,刚1个月,一直用python和tornado框架,希望多多交流 |
61
real_newbie 2011-05-26 12:25:32 +08:00
@mrkschan what's the big company behind Linux? So Obviously, we should choose Windows servers. :)
|
62
tron 2011-05-26 12:38:01 +08:00
为工具纠结,我要为你纠结的~每个工具都有它自己优势和适合之处~安心歇歇吧
|
63
mrkschan 2011-05-26 12:49:36 +08:00
@real_newbie Linux Foundation funds the dev of Linux. And many company funds Linux Foundation ... 中移動都是 Lunix Foundation 的 sponsor.
|
64
mrkschan 2011-05-26 12:52:12 +08:00
@real_newbie Anyway, do you think Linux Foundation is big enough to beat M$ :) http://www.linuxfoundation.org/about/members
|
65
kongruxi 2011-05-26 13:19:00 +08:00
@mrkschan 我觉得没必要总是说谁打败谁,MS取代不了*nix在服务器的地位,*nix取代不了MS在桌面的地位,相对来说Mac使用人数比前两者少,但它们也占领不了Mac
|
66
real_newbie 2011-05-26 13:26:50 +08:00
@mrkschan just a joke, take it easy. And I think Ruby Community is big enough to beat Google.
|
67
mrkschan 2011-05-26 13:28:28 +08:00
@kongruxi 其實我不是想說誰要打敗誰, 只是想說出, 挑選一類 technology 時, 要同時考慮該 technology 有沒有 strong support / big adoption. 不然, 那 technology 很難會有大進展.
舉例說, Python has a few projects to improve its performance - pypy and unladen-swallow for instances. On the other hand, PHP also got enhancement project from Facebook. The major reason of having these enhancement projects is due to the adoption of the technology. |
68
mrkschan 2011-05-26 13:32:31 +08:00
@real_newbie 其實我不得不同意 Ruby is gaining traction.
但目前為止, Python 的 adoption 應該比 Ruby 為多... 對比一下 pypi 跟 ruby-gems 便知道, 那一個 technology 多一點"工具"可供使用. |
69
real_newbie 2011-05-26 13:36:46 +08:00
@mrkschan Below is what I found:
197,342,377 downloads of 24,400 gems cut since july 2009 http://rubygems.org/ The Python Package Index is a repository of software for the Python programming language. There are currently 14889 packages here. http://pypi.python.org/pypi |
70
mrkschan 2011-05-26 13:38:40 +08:00
|
71
real_newbie 2011-05-26 13:41:54 +08:00
@mrkschan yea, these 1615 gems are "starting with A"
|
72
mrkschan 2011-05-26 13:48:28 +08:00
@real_newbie 哦, 是我看錯了..
剛剛我找了一下 http://rubygems.org/stats.html and http://pypi.python.org/webstats/ 這兩個 stats 頁可能會有一些啟示 |
73
ssword 2011-05-26 13:48:49 +08:00
哈哈~楼上两位的对白太好玩了 XD
|
74
mrkschan 2011-05-26 13:52:15 +08:00
其實我不是很熟悉 Ruby 那一面的發展, 它有沒有像 Python (http://python.org/psf/) 一樣, 有一個 Foundation 支持 ?
|
75
real_newbie 2011-05-26 13:53:43 +08:00
@ssword agreed :)
|
76
mrkschan 2011-05-26 13:55:16 +08:00
如果看看 Python 2011 May 的 Stats (http://pypi.python.org/webstats/usage_201105.html#TOPCTRYS) ... 來自中國的訪問量, 排16哦
|
77
ssword 2011-05-26 13:57:50 +08:00
@real_newbie 这贴算是v2ex头号酱缸,味道重,无营养。
|
78
poiyzy 2011-05-26 14:04:24 +08:00
我不间断的上v2ex,但是这个总是在第一页。。。每次都来看看大家说什么 ~~
|
80
mrkschan 2011-05-26 14:10:19 +08:00
如果看看 Alexa 上的 "Audience" stats, 看來日本人很喜歡來自日本的Ruby. 而中國的 訪問量占有率 卻是差不多.
http://www.alexa.com/siteinfo/ruby-lang.org http://www.alexa.com/siteinfo/python.org |
81
huiyubird 2011-05-26 14:12:56 +08:00
喜欢这样的讨论,虽然或许最后不会有个结果,但是整个过程可以了解到很多对比的信息。
另外,每次点进来都得手动拉到最后,能不能加个功能,直接看最后啊呵呵 |
83
mrkschan 2011-05-26 14:16:05 +08:00
如果要對比 Python 跟 Ruby 的 web adoption, 相信 Ruby 佔優呢 ... e.g. Django is inspired by RoR; Trac is superseded by RedMine.
|
84
huiyubird 2011-05-26 14:22:14 +08:00
呃……我又火星了?我点进来不会拉到最底部,Chromium 13 不行
在IE中左下角还有错误……IE7 Line 2587 Error:'replies_keys' is undefined |
85
ssword 2011-05-26 14:26:56 +08:00
@mrkschan 这数据量能说明什么?中国大陆贡献了多少twitter/facebook的访问量?这对Python社区又有什么贡献?
这样的讨论只是打发时间罢了。讨论来讨论区,人们依然觉得size(arr)比arr.size更“最小立异”,django/flask/web.py/web2py/zope依然比rails更“同一问题使用同一种解决方案”,依然觉得pypi比gems包更多,依然觉得CPyUG比github有更好的“社区支持”,依然觉得pypy语言层面的优化得到的性能比优化垃圾收集的ree强大,依然觉得twitter转java了但没听说人家部署着多少unicorn。讨论来讨论去,大家反而更坚定自己的认识。这样的讨论还有什么意义? |
86
mrkschan 2011-05-26 14:29:39 +08:00
@ssword alexa 是訪問流量 ... GFW 保護了 python.org 嗎?
|
87
glume 2011-05-26 14:30:33 +08:00
python.虽然google已经放弃了。
顺便说一句,经过这么多年,这么多语言后,我才发现又回到了深情的原点。C/C++,真的难以回避。 |
91
kongruxi 2011-05-26 16:37:01 +08:00
|
92
chloerei 2011-05-26 17:03:48 +08:00
@kongruxi 我先学的是Python,不过没写什么程序
尊敬使用Python的黑客,他们提供了很多Linux下的实用工具和计算领域的库。Python和Ruby各有各的社区,都不乏天才和黑客。 不过当讨论两门优缺点的时候,活跃的人经常是岸上的人。比如说XXX比较自由,XXX比较严谨这样的话,估计两个社区的人都纳闷:我们既自由又严谨啊,怎么就把另一半荣誉给了对方呢。由于这样的评论很多,很多犹豫不决的入门者就为了莫名其妙的理由选择了其中一个。 与其看两不沾的讨论,还不如说得直接点“Ruby的表达能力比Python强”。语言跟语言肯定是有差别的,刀和锯子都能砍树,就是其中一个快一点。当然Python和Ruby比较接近,没有刀和锯子那么大距离,但是我就是觉得Ruby好。Ruby的赞歌已经很多了,新手要选择哪个看缘分吧。(如果是竞争对手,我会热情推荐Java和Oracle) |
93
chloerei 2011-05-26 17:22:37 +08:00
对了,Ruby(而且是Rails)和Python都能写出很烂的代码,我两种都见过了
|
94
mrkschan 2011-05-26 17:43:09 +08:00
@chloerei 換句話說, 你不認同小弟的論點: 較多 $ support 的 technology, 是一個 safe bet?
|
98
mrkschan 2011-05-26 18:51:27 +08:00
@chloerei 我不是在 Ruby 跟 Python 之間"纠结"的人 -.- 只是路過這論題, 發表一下較客觀的論點 (e.g. funded dev) -.- 個人不喜歡 "xx 比 xx 自由" 那類"理"據
|
100
leben OP 登上来一看45跳提醒,汗。。。
这种语言优劣真的没什么好讨论的,流行本身就说明它存在一定的价值,ruby or python完全是个人选择问题。。。 楼上说的对,好的编程语言不能阻止程序员写出垃圾代码。 |