豆瓣在python和ruby之间为何选择前者?

老董
2005-06-15 23:09:20  来自: 老董

问阿北兄一个问题,知道你在做豆瓣之前曾对python和ruby做过对比,最后选择了python和quixote。为何当初没有选择ruby和rails呢?
我不知道ruby有没有象twisted这样的产品,是不是用ruby做crawler没有python和twisted的优势呢?

   
阿北

2005-06-15 23:27:09 阿北 (Beat it)

最主要的原因是ruby用的人太少了。至少python在中国有真正的使用者,有仨儿这些人吆喝着,还算有些气候。没有使用者,豆瓣以后的开发团队会是一个问题。从技术管理的角度来看,没有用java已经有些不切实际了,用ruby就太过理想主义了。

还有一个问题是库。python有大量现成的库,而且很多库都经过大型商业应用。这点ruby还需要时间。比如rails在大访问量下的性能怎样,还不是太清楚。

从个人喜好来说,python更简洁,和我口味。python用缩位不知省去了我多少时间。我以前 { } ; 敲了十几年了,现在想起来真是不堪回首。



仨儿

2005-06-16 11:26:11 仨儿 (人生苦短我用Python)

哈哈哈!!深得我心!!
还有一个更加重要的原因!
Ruby 是小日本创建的!不能保证其技术支持性!!
Python 是世界的!



仨儿

2005-06-16 11:27:52 仨儿 (人生苦短我用Python)

ps.
哈哈哈!!原来还有我的功劳?!?!
如果需要开发团队的话!算我一个!!!嗯嗯!!

Python,Pythonic 的开发体验是我的最爱!!!



老董

2005-06-16 22:06:15 老董

阿北兄在最初就能考虑到将来的开发团队让小弟深感敬佩。
现在想来,豆瓣使用python而没有用java是非常正确的选择,技术上激进一点儿,只要风险在可控的范围内,也许能给系统带来全新的开发和使用体验。
豆瓣现在实际上已经成为国内使用python开发商业系统的典范。只要一提python做的站点,大家首先想到的是豆瓣,而不是用zope/plone架构的网站。提到有创新精神的站点,大家首先会想到豆瓣和土豆,而不是其他N多制造流量的网站。
我也一直关注学习拥戴python,当初北哥把豆瓣上线的消息发到python.cn邮件列表后,也参合测试过一下豆瓣。最近试用了一下rails,给我印象最深的是两点:一是ruby使用gem管理package的科学和方便,小弟以为这是python做的不好的地方,同样根植于*nix,python却没有吸收这样优秀的思想,程序安多了path和package容易造成混乱,也很难把握程序之间的依赖关系,而在安装rails的时候所依赖的Rake,ActiveRecord等等都会提示给你询问是否安装,真诚的希望将来python也可以学习这种包管理的方式;二是rails的体贴干练,把ORM,MVC等等都已经准备好了,甚至需要和apache集成的FastCGI只要安装一下就可以了,而python很多事情都要自己来做,有时还需要慢慢调试寻找依赖,python.org上罗列了很多应用,至少我目前还不知道有象rubyforge.org这样的站点。我觉得python象gentoo和debian,想要很好的使用必须要深入底层;而ruby象mandrake和radhat,深入底层会做的更好但是不下去也可以让你聚焦在应用上把系统run起来。希望python象ruby学习是真的,不过说实话,有了zope/plone,twisted,gmail,豆瓣这些成功的例子,如果做大型的皮实的系统的话,还是python更让人心里塌实些。ZQ兄在北京moc.anis不是发展的不错嘛,最近还看到发到邮件列表里的招聘消息呢,难道还要再回上海来?^_^



chenge

2005-06-18 15:21:39 chenge (乾坤容我静, 名利任人忙)

看了豆瓣后,我尝试了一下Quixote, 后来又看了Rails,我倾向于Ruby和Rails, 后者可能因为时间短还不成熟,但也有后发优势。

感觉Ruby比Python的语言一致性好,纯面向对象。



仨儿

2005-06-28 08:40:46 仨儿 (人生苦短我用Python)

Python 可能因为发展的太快,有些混乱,但是有一个本质可以令Python 永远的可爱下去,那就是Python 使用代码的缩进格式来进行层次判定,这样一来保证了所有的Python 脚本是格式统一的,并隐含的迫使你不能尝试太多的嵌套堆砌…………

这比任何一种使用 {} 或是 begian end 来划分逻辑层次的语言要人性的多,我们在学习他人的代码时不用捏着鼻子来习惯别人古怪的代码习俗………………



Jeff

2008-05-27 23:17:59 Jeff

哈哈 藏龙卧虎阿!



张沈鹏

2008-05-27 23:45:47 张沈鹏 (XXX已经被XX自动XX)

>python却没有吸收这样优秀的思想,程序安多了path和package容易造成混乱,也很难把握程序之间的依赖关系

不是有easy_install吗...

>感觉Ruby比Python的语言一致性好,纯面向对象。
不喜欢和乌托邦一样的一致性



青胜蓝

2008-05-27 23:51:17 青胜蓝

学习中,很有意义的话题



2008-05-29 17:31:16 BadMan

用python最头大的就是codec



2008-06-01 15:32:33 nnnnon

主要是看你的需求了,我一直是学ror的,也在heroku.com上做了一个小小的应用:http://nnnnon.heroku.com。现在在Google app engine上申请了一个空间,现在开始用python。

我的感觉ruby比较灵活,python比较严谨,不同性格的人可能有不同的选择。



我是猛犸

2008-06-02 21:10:48 我是猛犸

这个就叫典藏贴么



一夜春雨

2008-06-04 17:22:51 一夜春雨

支持python,现在的python版本和package太多了,而且没有很好的中文文档,初学者用起来相当的痛苦.



松茸

2008-06-04 17:29:50 松茸 (中华田园老公)

=。=
Python绝对是最易学的编程语言了



洗头用飘柔

2008-06-05 15:44:31 洗头用飘柔 (洗头用飘柔)

学习中,看高手过招,对小弟很有帮助啊,我每天到这里来转转的.也希望各位高手能够多贴一些自已项目中的实践经验,供大家学习学习,小弟先在此代表所有的菜鸟们谢过啦.......



2008-06-11 23:41:26 Evan

拜读



Cheney|彩泥

2008-06-11 23:51:45 Cheney|彩泥 (我们都曾SB过)

"比如rails在大访问量下的性能怎样,还不是太清楚。"

参考这俩月的twitter.com



henryhuang

2008-06-12 23:16:28 henryhuang

twitter可能是架构的问题。



2008-06-22 23:13:47 才富人生

我是初学者,希望能和大家共同进步



flmn

2008-06-23 13:14:26 flmn (每天进步一点点)

我工作上这段在用python开发,说说自己的感受。

首先,对python的总体评价,是非常正面的。

以前用C++开发,用过python和twisted后,再也不想去碰C++了,用python真是太方便了。开发效率大幅提高,生活质量也跟着提高了……

但是,作为一个严肃开发者,python语法还有有点太不严谨了,很多东西,实现起来的逻辑不统一,可以说,没有一个统一的哲学,当然了,造成这种现象的原因肯定是两个字:历史。又要兼容又要发展,最后形成的东西,对于初次接触的人来说,肯定不爽。

我用过c++/java/c#,感觉他们的设计在哲学上比较统一,尤其是后面两个比较年轻的,更是很典范。C++也很古老,但是他的哲学还是很统一,所以,光用历史来说python也是有点开脱的嫌疑。

python3000不知道能有何改观,我没深入研究它的路线图,但是听说解决了一些历史问题,期待着它……

说到web开发,python这块我在看django,感觉他很干净,很内聚,很舒服,公司在用turbogears,我感觉,很恶心,乱七八糟的。我自己的开发逻辑,宁可功能少点,也不能把软件做得乱七八糟。



flmn

2008-06-23 13:18:17 flmn (每天进步一点点)

如果真是做我自己的网站,我会考虑php的框架symfony,在试用过程中,我觉得它的开发者为广大开发者想了很多,感觉比django成熟,它也从django借鉴了不少东西,当还还借鉴了ror。为什么选symfony呢,因为:php的主机so便宜,python的主机so难觅。



2008-06-23 16:43:57 0XCAFEBABE

php的主机so便宜,python的主机so难觅。
GAE免费的



2008-06-30 14:12:11 hash

新东西,总有过程。。。



棉花球

2008-07-23 20:35:13 棉花球

学过JSP,发现做网站自己运营的话快速开发很重要,自学ROR,读英文很吃力的话是不是很难入门?



上海胖子Anson

2008-08-11 21:37:50 上海胖子Anson

我感觉java更适合大兵团作战,python适合特种部队。呵呵。



2008-08-11 21:48:23 mlzboy

mark一下



james

2008-08-14 19:26:18 james

引用====================
2008-08-11 21:37:50 上海胖子Anson (上海)
我感觉java更适合大兵团作战,python适合特种部队。呵呵。
========================
赞同。



氷の鋭

2008-08-14 22:41:31 氷の鋭 (神不为者,人为之)

引用====================
  2008-08-11 21:37:50 上海胖子Anson (上海)
  我感觉java更适合大兵团作战,python适合特种部队。呵呵。
  ========================

听上去怎么这么像 量产机 和 主角机... MS 和 高达...



Avant-Contra

2008-08-15 00:17:10 Avant-Contra (http://null-media-art.ning.com)

woh~



2009-05-01 05:54:53 arroverflow

-----------
感觉Ruby比Python的语言一致性好,纯面向对象。
----------
我更想说那是纯面向class。。。
,靠,挖坟了。。



[已注销]

2009-05-01 19:51:53 [已注销]

普遍认为YARV的质量将超过CPython



42

2009-05-02 02:47:49 42 (rm -rf /)

什么叫选择?



2009-05-07 18:56:40 arroverflow

"普遍认为YARV的质量将超过CPython"

??



[已注销]

2009-05-07 20:56:55 [已注销]

YARV被ruby社区寄予的希望是很高的





这个小组的成员也喜欢去   · · · · · · 

Django
Django (1031)
Vim
Vim (2585)
Google App Engine
Google App Engine (931)
Linux
Linux (3549)
ubuntu
ubuntu (3758)
twisted
twisted (106)