- 浏览: 13580 次
最新评论
Python,简单的力量
2010年08月01日
Python诞生已有20年的历史,目前国内的Python发展状况如何?与其他语言(平台)相比,Python有哪些显而易见的优点?豆瓣应用Python进行Web开发有哪些成功经验可以借鉴?带着这些问题,51CTO记者在Qcon 2010会场有幸采访到豆瓣网首席架构师洪强宁先生,由他来向我们讲解Python的Web开发之道。
Python正在成为一门主流语言
Python在国内的兴起已经有近五年的时间,在2004年底豆瓣刚刚开始起步的时候,国内Python用户已经初步形成一个小圈子,集中在CPUG社区(CPUG是中国第一个正式成立的Python社区,聚集了大量Python爱好者,为Python的普及和推广起到重要作用);现在,GPUG的老用户散布在国内各大软件公司,在他们的推动下,现在国内非常多的软件公司在使用Python。
除了社区的推动,榜样的力量也很重要。随着豆瓣的成功,了解Python、学习和应用Python的人也越来越多,它已经不再是几年前的一门小众语言。洪强宁说:“Python在国内的使用已经像前几年在国外的发展一样,逐渐成为一门主流的语言”。
Python简单的力量
近年,Python的应用范围越来越广,也吸引了.NET和Java平台的注意,比如.NET平台上的IronPython和JVM上的Jython。Python的哪些特性吸引了这些平台对它的引入?
“因为Python的简单,它比Java简单,比C#简单”,洪强宁说道:无论在JVM平台还是.NET平台,用Jython和IronPython来做开发,从开发效率上讲,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进行开发的网站,豆瓣有效的程序开发配置和版本控制值得我们学习。
豆瓣的主要开发环境配置就是SVN+Trac+Bitten。豆瓣的版本管理系统使用的是Subversion(SVN),使用Trac来管理协同开发,同时使用Trac的Bitten插件进行持续集成。
在开发模式方面,由于是Always Beta,豆瓣采用的方式是:站点运行在主分支上,开发者在开发新功能时会建立一个子分支,新功能开发并测试完成后,会更新服务器的主分支版本,之后上线。
在开发框架方面,豆瓣主要使用Quixote(被称之为“堂吉诃德”,一个轻量级的Python Web框架,简单、高效,代码简洁);后台运行的Web服务主要使用Web.py(web.py也是一个Python的Web框架,简单且功能强大)。
后记
最近有一本新书叫《豆瓣,流行的秘密》,我想,豆瓣的流行不仅是依靠成功的产品,对于开发人员而言,产品的背后是实现它的技术――Python。在此次Qcon大会上,洪强宁先生与参会者分享了Python于Web 2.0网站的应用,强调了Python简单的特性。对于技术而言,简单也是一种力量。
关于Python
Python语言的历史可以参考51CTO的Python创始人小传《Guido Rossum:打造Google第三大开发语言》
关于Subversion
Subversion(简称SVN)是一款开源的版本控制管理系统,被认为是CVS的替代者。Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。
关于Trac
Trac是一个开源软件平台,集成了Wiki和问题跟踪管理系统。Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件。Trac采用Python语言开发的,因此Trac的在运行的时候,需要有Python环境的支持。
关于Quixote
Quixote是一个Python的Web框架,它基于简单灵活的方案设计,可以进行快速地开发项目,而且使用很多Python第三方模块。通过恰当地配置,可以让Quixote发挥巨大能量,这使得它可以被用于大规模系统当中。
发表评论
-
meego开发的学习路线
2012-01-20 12:17 596meego开发的学习路线 201 ... -
如何编写PHP扩展
2012-01-20 12:17 751如何编写PHP扩展 2010年0 ... -
Vim Setting
2012-01-20 12:17 1097Vim Setting 2010年12月05日 ... -
转载 gcc一般用法
2012-01-20 12:17 685转载 gcc一般用法 2011年01月13日 生成特定格 ... -
自己动手编写嵌入式Bootloader之(3)
2012-01-20 12:17 636自己动手编写嵌入式Bootloader之(3) 2011年0 ... -
python
2012-01-19 16:59 1296python 2011年10月10日 dive into ... -
实例教程:1小时学会Python
2012-01-19 16:59 727实例教程:1小时学会Pytho ... -
python sys
2012-01-19 16:59 706python sys 2011年05月09日 ... -
乡土菜
2012-01-17 06:44 784乡土菜 2011年12月18日 涓 -
vc socket api建立TCP连接(包括域名解析)并收发数据的代码模板
2012-01-16 05:25 1786vc socket api建立TCP连接( ... -
使用NSStream来实现Socket
2012-01-16 05:25 715使用NSStream来实现Socket 2011年03月03 ... -
select函数
2012-01-16 05:25 680select函数 2011年12月31日 原文:http ... -
《ASCE1885的网络编程》---Winsock APIの套接口I/O处理函数
2012-01-16 05:25 1031《ASCE1885的网络编程》---Winsock APIの套 ... -
C# Socket通信三大问题详解
2012-01-16 05:25 1169C# Socket通信三大问题详解 2009年09月20日 ...
相关推荐
矩阵力量:线性代数全彩图解微课Python编程.docx
千锋教育 Python 视频教程 www.qfedu.com/video 做真实的自己-用良心做教育 python 入门配套教程百度云分享 Python 由于其简单,快速,库丰富的特点在国内使用的越来越广泛。最 近几年它出现了爆发式的增长,而且与...
作为Python编程中非常重要的应用,Python在网络编程方面提供非常强大的支持,而Violent Python则更是彰显了脚本的力量
【Python实战应用案例代码】-漫威电影宇宙英雄综合实力对比分析.zip
Pixie 一个小巧,快速,充满魔法力量的原生lisp
从绘制蟒蛇、理解天天向上的力量到机器学习、网络爬虫,从文本进度条、统计名著人物重要性到图像手绘效果、雷达图绘制,绝大多数实例为作者原创,将随着内容深入不断激发读者学习Python语言的热情,因为“编程是件很...
从绘制蟒蛇、理解天天向上的力量到机器学习、网络爬虫,从文本进度条、统计名著人物重要性到图像手绘效果、雷达图绘制,绝大多数实例为作者原创,将随着内容深入不断激发读者学习Python语言的热情,因为“编程是件很...
这是一个水文水资源学上的三层蒸发模式的蓄满产流模型(新安江模型)的python计算程序,本程序的运行需要结合本人上传的PEdata.xlsx文件,该excel文件包含了计算蓄满产流所需要的降水、蒸发能力数据。
创作背景:当前的数学教育环境下,更强调的是数学素养的提升,本程序提供了一个免费的数学益智小游戏的学习和训练平台,旨在提升当今青少年对数学知识的热爱,为社会的和谐共同发展贡献一份微弱的力量。希望用户能...
simple-captcha-solver, 在 python 中,简单的CAPTCHA解算器 python 中简单的解算器免责声明这是一个很简单的解决方案,非常具体和easy-to-solve验证,像这里建议的 。 用力量找到更复杂的东西。这个想法在本例中,...
矩阵力量:线性代数全彩图解微课Python编程.pptx
一、温度转换、蟒蛇绘制;二、天天向上的力量、文本进度条;三、七段数码管的绘制;四、文本词频统计、Python之禅;附带有实验代码和分析
无论是使用Windows、MacOS、Linux还是Raspberry PI,您都可以释放Python和PyGames的力量来创建漂亮的游戏。这本书还包括完整的代码列表和解释“砖”,“蛇”和“入侵者”-三个完全工作的游戏。这些可以让你开始自己...
Python撞球游戏源码,打砖块游戏源代码,说法不一样,其实是一款游戏了,还有人叫“乒乓球游戏”,下面就是球拍,可以左右移动接球,然后向球撞击砖块或墙壁,根据角度和力量大小,砖块消失的数量和位置不同,以前的...
博主还是一名小学生,代码很啦,不要在意,但也很好看了。 在编程的世界里,我们总是追求创新和美丽。当传统的节日氛围与编程的创意相结合,会迸发出怎样的...让我们一起用编程的力量,为春节增添一份别样的色彩吧!
" "欢迎对此页面进行补充和修正,也请关注计划中的其它页面,为啄木鸟贡 " "献您的一份力量。 " "近期活跃条目: Python 图书概览 Python数据库开发概要 " "Python 语言研究 " {swordsp/COTW/Header}e 1. 概述 ...
【第1部分】云端系统之基础 【PYC01】云端开发基础 PYC01V01 单元开篇 HD PYC01V01 单元开篇 SHD PYC01V02 云端开发全栈技术简介 HD PYC01V02 云端开发全栈技术简介 SHD ...Python开发工具的选择 SHD
OpenAI是人工智能领域的领先公司。随着ChatGPT、DALL-E、GPT-3、Whisper等软件的公开发布,该公司席卷了整个人工...在本文中,我们将讨论如何利用Python中的OpenAI API来利用 AI 的力量并让您的日常任务变得更加轻松。
PixieDust PixieDust是适用于Python或Scala笔记本的生产力工具,开发人员可以使用该工具将业务逻辑封装到易于客户使用的东西中。 现已提供新书:周到的数据PixieDust ...如果您想贡献力量,请加入我们。 为什么
目前正在开发的一款化工流程软件,代码开源给大家,希望大家为了中国软件国产化贡献力量