Quora - Python 驱动
写这个主要是因为我做自己的这个网站用的就是 Python 技术(基于简洁的 web.py 框架)。虽然 Python 只是业余爱好,不怎么熟悉(每次写代码都得上网查好多资料,包括语法),但是很喜欢它。这几天发现最近很火的新问答网站 Quora 也是用 Python 做的,它自己网站上有一个问题就是――
Quora 是使用什么语言和框架做的?
What languages and frameworks were used to code Quora?
创始人 Charlie 的回复:
后端使用 Python 语言,Pylons 框架,但是框架一多半被自己的系统替换(LiveNode/webnode2)前端 JavaScript 基于 jQuery用 Thrift 做后端服务器之间通信Comet Server 使用 Tornadohosting 主要使用 Amazon EC2, S3目前数据库使用 MySQL,memcached 做缓存,还有两个用 C++ 写的服务一起作为 data store版本控制用 Git这个组合看起来不错!(其实我就是看着酷,其中有好多技术都从来没有尝试过。) 有人接着问:
为什么 Quora 选择 Python 作为开发语言
Why did Quora choose Python for its development?. 下文只是简单整理,不是翻译。
创始人 Adam 的回复里,提到两个创始人正好都比较熟悉 Python. 另外他说明了排除其它语言的过程:
PHP 根本不考虑。Facebook 陷进去无法脱身,不代表它是目前最好的选择,由此得到的经验是编程语言的选择非常重要而且改变的代价非常大。Adam 此处给了其它几个链接,其中有指出 PHP 一大堆弱点的,也包括一个问题 "Do Facebook engineers enjoy programming in PHP?". 我很赞同 Facebook 的工程师说的,familiarity breeds contempt. 没有完美的语言,每一种语言都有长有短,当把它用到极限的时候,短处就变得很显眼并让人烦恼。我个人认为 PHP 也仍然是不差的选择。
C# - 看起来不错但是 -
他们不想把基础搭建在微软的技术平台上。SQL Server 很好,不过 Quora 需要一大堆开源软件,这些代码即使支持 .NET, 也支持得比较差。不想冒险使用 Mono,因为不知道它能撑多久,而且据说有性能问题Java 程序因为一些原因很容易变得更长,写起来比 Python 痛苦多了。
Scala 太新,也是一种冒险,另外虽然不像 Java 那么差,它也天生继承 JVM 的一些弱点。
Python 虽然有性能问题,但是 Quora 一些性能很关键的代码都用 C++ 写(Python 的优势,Java 做起来相对困难)。至于类型检查的缺乏,Quora 通过完善的单元测试来弥补。
Quora 另一位创始人 Charlie 加了几点:
创立 Quora 的时候,Python 有许多很好的 web frameworkPython 的数据结构跟 JavaScript 映射很好,这样 CS 之间交互数据很方便Python 代码更易读Python 在各方面有很多成熟的 library还有一个问题:
为什么 Quora 要用 Pylons 做开发
Why did Quora choose to develop in Pylons?. Charlie 说他们想把 Pylons 的很多东西替换成自己的,比如他们不需要模版和 ORM. 在这方面,Pylons 比 Django 之类的要好。
说到这个,我个人也很不喜欢 ORM,比如 Hibernate, 比如 RoR 的 ActionRecord. 如果认真做一个网站,不使用 ORM 不会让你的速度变慢多少。而使用了 ORM 必然会有额外的负担,数据库也更加不透明,定制变得更困难。
希望 Python 这个语言发展得越来越好,如链接中 Adam 所说的。
建议继续学习:
- 配置Nginx+uwsgi更方便地部署python应用 (阅读:105407)
- 如何成为Python高手 (阅读:53413)
- python实现自动登录discuz论坛 (阅读:31597)
- python编程细节──遍历dict的两种方法比较 (阅读:19007)
- 每个程序员都应该学习使用Python或Ruby (阅读:16278)
- 30分钟3300%性能提升――python+memcached网页优化小记 (阅读:12142)
- 使用python爬虫抓站的一些技巧总结:进阶篇 (阅读:12124)
- 我的PHP,Python和Ruby之路 (阅读:11854)
- Python处理MP3的歌词和图片 (阅读:8331)
- 关于使用python开发web应用的几个库总结 (阅读:7449)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:qingbo.blog 来源: qingbo.blog
- 标签: Python Quora
- 发布时间:2011-01-18 22:09:30
- [44] 界面设计速成
- [42] Oracle MTS模式下 进程地址与会话信
- [41] android 开发入门
- [41] 如何拿下简短的域名
- [41] 图书馆的世界纪录
- [39] IOS安全–浅谈关于IOS加固的几种方法
- [39] 视觉调整-设计师 vs. 逻辑
- [37] 【社会化设计】自我(self)部分――欢迎区
- [37] 程序员技术练级攻略
- [35] 读书笔记-壹百度:百度十年千倍的29条法则