豆瓣网站为什么会选择python而不是ruby

豆瓣网对互联网用户来说是知名的Web 2.0社区,但对开发者而言,更重要的是一个应用Python打造的非常成功的Web 2.0站点。

Python在国内的兴起应该已经有有几年的时间,在2004年底豆瓣刚刚开始起步的时候,国内Python用户已经初步形成一个小圈子,集中在CPUG社区(CPUG是中国第一个正式成立的Python社区,聚集了大量Python爱好者,为Python的普及和推广起到重要作用);现在,GPUG的老用户散布在国内各大软件公司,在他们的推动下,现在国内非常多的软件公司在使用Python。


除了社区的推动,榜样的力量也很重要。随着豆瓣的成功,了解Python、学习和应用Python的人也越来越多,它已经不再是几年前的一门小众语言。

   近年,Python的应用范围越来越广,也吸引了.NET和Java平台的注意,比如.NET平台上的IronPython和JVM上的Jython。Python的哪些特性吸引了这些平台对它的引入?因为Python的简单,它比Java简单,比C#简单。

   在.NET或Java平台,语言上的选择更多的是从性能角度来考虑,Java和C#在性能上的优势Python可能无法追赶,但从实现业务逻辑和功能的角度看,Java和C#可以做的,Python也可以做,而且更加简单。

   Python vs Ruby

Python是一门动态语言,在开发效率上有着先天的优势;但我们也会想到近年大热的Ruby语言,同样具有动态特性,同样长于敏捷,它们两者之间有哪些差别呢?


洪强宁指出,豆瓣在刚开始技术选型时考虑过Ruby,但在当时看来,Python的库要比Ruby更成熟;Ruby强于Rails框架的应用,但涉及到后台计算方面的能力,Python的优势更加明显。Python和Ruby两种语言本身没有好坏之分,两种语言都有非常成功的案例,都能做出好的Web应用,更多的选择还是开发者的个人喜好问题。


豆瓣Python应用开发


豆瓣是一个Web 2.0网站,这类网站的特点就是“Always Beta”,不断有新的产品和功能升级来为用户提供更好的服务。作为使用Python进行开发的网站,豆瓣有效的程序开发配置和版本控制值得我们学习。


在开发模式方面,由于是Always Beta,豆瓣采用的方式是:站点运行在主分支上,开发者在开发新功能时会建立一个子分支,新功能开发并测试完成后,会更新服务器的主分支版本,之后上线。


在开发框架方面,豆瓣主要使用Quixote(被称之为“堂吉诃德”,一个轻量级的Python Web框架,简单、高效,代码简洁);后台运行的Web服务主要使用Web.py(web.py也是一个Python的Web框架,简单且功能强大)。


后记



最近看了一本书叫《豆瓣,流行的秘密》,我想,豆瓣的流行不仅是依靠成功的产品,对于开发人员而言,产品的背后是实现它的技术――Python。    


你可能感兴趣的:(爱好者,Java平台)