大量应用python的website我知道的

作者:outlier

链接:https://www.zhihu.com/question/20128336/answer/14066704

来源:知乎

著作权归作者所有,转载请联系作者获得授权。

大量应用python的website我知道的有instagr.am(django),reddit(pylons),quora(pylons),dropbox,friendfeed(tornado),当然还有豆瓣.

目前知道的还真没有比较成功的电商采用python,我觉得原因如下:

1.现在的电商都是N年前开发的,当时的python比现在更小众.他们没注意到python.像京东的.net,都是一些历史遗留问题.

2.电商的团队,通常擅长的是运营和市场方面,很少有电商团队里面有geek,geek也很难融入到电商的那种氛围中去,对于国内的电商团队,他们不大关注技术层面的问题.而国内玩python的大多是geek.

3.淘宝/阿里系的示范作用,阿里系用java构建的web很成功.很多电商团队对于技术选型很保守,所以通常就选择了java的方案.

然后谈python做web的优缺点:

先说缺点,

跟php和java相比,最大的问题还是太小众了,你招不到合适的开发者;

另外就是VM性能太差,跟JVM完全不是一个档次;

还有就是多核多线程的问题,python的GIL真的很烂.

还有就是类型检查,现在我写python遇到最多的error就是类型错误了.

优点:

代码量少,开发效率高.

入门快.web框架多,简单易学.

有wsgi,可以各种折腾app server.

社区环境好,有各种开源解决方案.

编辑于 2013-01-04收起评论取消感谢分享

收藏没有帮助举报作者保留权利

狼大人

既然提到 VM 性能差,有什么好的解决办法?

0赞5 年前回复举报

Astrum

拼写错误那里有误,无论是IDE还是vim插件,纠正语法错误都是基础功能

至于VM性能,大多数优化良好的网站的瓶颈都在数据库性能上,实在是遇到语言性能瓶颈也可以通过用C/C++编写模块嵌入来解决

0赞5 年前回复举报

outlier(作者)

虽然有pyflakes之类的,但还是有一些问题,你不部署是发现不了的.

你通过c/c++编写模块解决了,虽然这是python的特性,但我觉得但就python这个语言来说,他的VM性能的确有缺陷,就好像我说一辆车动力差,你非说这车扩展性好,你换个发动机就好了....

0赞5 年前回复举报

outlier(作者)

@狼大人,jython是个解决方案,这也是python的优势,社区的支持太多了

0赞5 年前回复举报

Astrum

你说的其他问题其他语言也没办法在开发阶段解决吧。而且python工程的部署本身就不复杂,很多框架都附带测试功能,这不能算是一个问题

就问题来说,他是就python开发整体而言,为什么不能引入其他性能良好接口方便规范的组件?这本来就是python作为'胶水'语言开发便捷之处

0赞5 年前回复举报

Astrum

说实在不大看好jython,ironpython的发展,pypy才是未来的希望吧

0赞5 年前回复举报

outlier(作者)

就说一个问题,python的vm性能怎么样,别找借口

0赞5 年前回复举报

Astrum

从来没有说python的vm性能很好,但这不是用python作web开发的缺点。只是反驳这一点,你干嘛一直盯着vm不放。

0赞5 年前回复举报

outlier(作者)

python的vm性能在做web应用的时候的确是个很大的缺点,比如很多人在请求一个动态生成的大文件的时候,你就会发现内存被使用过多,而由于VM的效率问题,导致请求关闭的时候内存没有被及时回收,最后造成大量内存被占用,swap过大.极大的影响web性能.

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 158,308评论 24 688
  • 公司被罚了300万,松彬提出了退股,公司他主外,这次被罚他风控没做好,通道没协商好,公司本来运营还好,现在资...
    冷雨叶阅读 191评论 0 0
  • 算起来今天是我在简书写文章的第三天。 与简书的认识,是偶然,我在豆瓣里的一篇写时间管理的文章里知道了它,当时那篇文...
    丢了朵朵阅读 255评论 0 4
  • 和阿哲在一起一个多月了,对于到底哪一天在一起的我们居然记的是不同日子。因为他说过自己是一个记不住日子的迷糊人...
    L的鬼迷心窍阅读 286评论 0 1