最近关于 Python 成了最热门的语言的言论很多,我却很困惑。
平时项目,我感觉用 PHP 就蛮好,很多项目都直接用了 PHP。 Python 以前我也写过一些 Web 项目,无奈性能太差,就是上了 PyPy,也没见提高到哪里去。而且也就那样了。
再就是用 Python 写一些简单的服务,定时任务,脚本,以及监控任务,感觉还不错。
机器学习和深度学习呢,感觉中小公司没几个能搞搞,至于 AI,更是那些大公司玩得起的。
那么,Python 对于我们这些小公司呢,究竟能用来干些什么?写 Web,API 开发,PHP,Java 能比它做的更好;爬虫呢,又不是每个公司都需要,其他呢? AI 和深度学习我们又玩不起,那么为啥 Python 还这么火?大家都在用 Python 来干嘛呢?
1
default7 2017-07-25 09:14:37 +08:00 via iPhone
Py 不适合做网站的,做网站用 php。
|
2
WinG 2017-07-25 09:17:03 +08:00
本网站就是 Python....(留名看引战)
|
5
sagaxu 2017-07-25 09:18:46 +08:00 via Android
你那些嫌 Python 性能差的 web,日 pv 多少亿?
|
7
pcdRob 2017-07-25 09:21:22 +08:00
那么性能到底有多差呢?
|
9
Rice 2017-07-25 09:28:18 +08:00
爬虫啊、运维啊、自动化工具啊。
|
11
x7395759 2017-07-25 09:34:29 +08:00
首先,不是所有的工程都追求性能的
其次,性能问题不是语言问题,是代码者问题 再次,深度学习玩不起还用不起框架吗,重点是没法赚钱 最后,小公司就老实用 Java 吧,好招人也好写。 |
12
ansheng 2017-07-25 09:36:43 +08:00 3
说性能差,是因为你代码写的有问题,没事儿别哔哔,好好撸你的代码
|
13
assad OP @x7395759
所以我就想知道,Python,究竟火在了哪里? 性能不是语言问题,而是架构问题。 深度学习没有巨大的样本,学习什么呢?中小公司就那么几条数据,学习不来什么,或者没那么好的效果。赚钱,我感觉总能找到的。 现在搞得我是平时写项目,想用 Python,想想,还不如用 PHP 呢。也就是平时写个什么脚本,或者值守任务,才会用 Python,JAVA 我不会的 |
15
king2014 2017-07-25 09:43:06 +08:00
有些场景确实 python 更好,比如爬虫
|
16
scriptB0y 2017-07-25 09:46:04 +08:00 3
要注意不要过早优化,我感觉你“平时用 python 写写项目”的瓶颈并不是 python,可能是服务器网速什么的,instgram 的用户和日请求可以说世界级别的了吧,基本都是 python 驱动的。等到了 python 成为瓶颈的时候在考虑优化也不迟。
python 优势在于快速成型,有大量的库可以用。写开源项目就比较鼓励组合使用现有的库。python 处理 word 啦,markdown,网络啊,跟 linux 有关的东西啦,基本都有现成的可以用,而且安装非常方便。 要说 PHP 嘛其实也差不多,语言就是个工具,当你有了一把锤子,你眼中所有的问题都会变成钉子。 |
17
jtsai 2017-07-25 09:55:47 +08:00 2
你所指的 "干什么" 是能用 python 来找到什么工作。那 python 不如 php。
python 非常适合那些,想学一门编程语言,去快速完成自己想法的人。 不适合那些 想学一名语言,快速找一份工作的人。 |
18
assad OP @sagaxu 性能这个问题嘛,很深
我是从基础性能测试起,就简单的 hello world,Python 我是使用的是 tornado 框架,起四个线程,同样的机器,PHP 用的是 PHP7,框架用简单的 CI 框架。前端 Nginx 代理。 ab 测试,500 个客户端,访问 10000 次 Tornado 并没完成所有的请求处理。出现了一定的失败 PHP 很轻松的完成了。 QPS 也没 PHP 的高 |
21
hellove1985 2017-07-25 10:06:59 +08:00
@assad 请在 tornado 前面也放个 nginx
|
22
assad OP @hellove1985 放了啊,我说了,前端用的 nginx
|
23
viator42 2017-07-25 10:08:18 +08:00
对小公司个人来说机器学习 AI 这些还属于屠龙之技,以后可能大有用处至少现在对于养活自己没啥帮助
|
24
gulangyu 2017-07-25 10:11:27 +08:00 via Android
看到大佬们最近这么热衷于讨论(sibi) Python,作为一个 newbie,我偷偷地看看大家大家怎么说...
|
25
ioth 2017-07-25 10:13:11 +08:00
|
26
ty89 2017-07-25 10:14:40 +08:00
抛开硬件谈性能的都是耍流氓
|
27
EchoUtopia 2017-07-25 10:15:24 +08:00 via iPhone
@assad 四个线程什么鬼
|
28
SuperMild 2017-07-25 10:15:29 +08:00 via iPhone
用 py 第一重视的不是节省计算机的时间,而是节省人写代码的时间。
|
29
assad OP @EchoUtopia 说错了,四个进程,前端用 nginx 反代。我没使用 uwsgi
|
30
araraloren 2017-07-25 10:24:50 +08:00
@king2014 不见得,python 的表达能力不敢恭维,只是库多 新手容易上手罢了,没有多少语言导入个库,写上两句就能爬个东西的。。
|
31
kwdfmzhu 2017-07-25 10:25:34 +08:00
因为 python 能够直接冲到线上改代码...
|
32
Miy4mori 2017-07-25 10:29:37 +08:00 via iPhone
我认为搜索热度高和热门还是有区别的
|
33
zhengxiaowai 2017-07-25 10:32:34 +08:00 2
在现在这种硬件不值钱的时代,人工效率明显更重要,性能不够加机器,还不够上集群,还不够关掉 GC 上 JIT。你要和我说 PHP Web 上性能有多好,我是万万不会相信的,反正不能快过 Node,这是其一。
其二无论大小公司对于快速产出都是很重要的,比起性能什么不知道重要百倍,所有性能好的都是一步一步优化而来。 其三性能测试测试 Hello World 是最笨的做法,然而我见过很多根本不会写 Tornado 人,硬生生写成了同步的 Tornado。 其四一个项目都到了考虑性能的地步,不会单单是由一个东西组成,所以抛开架构谈一个项目的性能问题太过片面。 其五 Python 作为瑞士军刀语言在 Web 只是其中的一部分,虽然是比重比较大的。但是和 PHP 这种除了 Web 很难再其他地方使用的语言没法比较。 其六你对 Python 理解的明显不深刻,虽然 PHP 是世界上最好的语言,比心! |
34
clino 2017-07-25 10:32:51 +08:00
|
35
mooncakejs 2017-07-25 10:35:06 +08:00 via iPhone
@king2014 爬虫现在也不如 js
|
37
geew 2017-07-25 10:42:56 +08:00
|
38
bombless 2017-07-25 10:46:12 +08:00
语言这种东西,顺手就用了
拿 php 来说,不谈它设计的好不好,很多人用的顺手,于是很多人用了,就火起来了 货比三家?不存在的 |
39
Kilerd 2017-07-25 10:54:35 +08:00 via iPhone
sanic / tornado + uvloop 基本可以做到 node-raw 的 2 倍性能?
PHP 吊打 python ???????? |
41
assad OP @Kilerd PHP7 的行能是很强悍的,那 Web Framework Benchmarks 的评测依然是用的 PH5 来测的
|
42
imherer 2017-07-25 11:08:53 +08:00
我也不知道 Python 为啥这么火😂
|
43
Caratpine 2017-07-25 11:10:58 +08:00
楼主做过什么网站啊,影响性能的因素都到语言层了
|
44
fyooo 2017-07-25 11:20:12 +08:00
楼主这样挑起宗教战争是不对的
你切换都 Pypy 的路子是错的,瓶颈不在这。 你试试改用 Tornado+Nginx ? 我 PHP 和 Python 都写过,没有 bias,因为...我根本没有选择权,老板让我写啥就写啥 :doge: |
45
justtery 2017-07-25 11:23:35 +08:00 via Android
python 写后台可以啊,妥妥的没问题啊 牛逼的库就是最近的 sanic 了 python3.5+
|
46
bk201 2017-07-25 11:26:25 +08:00 1
论性能 java,golang 没法黑,乱易写度 php,python 旗鼓相当,但是 php 这语言的语法糖看得我好蛋疼。
|
47
xiqingongzi 2017-07-25 11:37:56 +08:00 via iPhone
运维脚本。
|
48
eoo 2017-07-25 11:43:38 +08:00 via Android
是时候出来拯救世界了,我要创造一个收编全世界最好语言的语言,为此我特此命名为 《火星语》,这样你们就不用引战了。
|
49
ipwx 2017-07-25 11:44:31 +08:00
一群大牛来写个创业项目,说不定就会用上 Python。当然,他们一定不会只用 Python。
大学里面做深度学习的研究员,或者别的科学计算的研究员,也会喜欢 Python 的。毕竟这个时代,做统计推断、数值运算的脚本,不是 Python 就是 R,Matlab 都是上个时代的东西了。 对于普通的网站,而且是一群普通的程序员,Python 自然是比不上工业级别的语言,比如 Java 的。 |
50
aa825aa 2017-07-25 11:45:16 +08:00 via iPhone
我想看看你的 tornado 代码
|
51
codeyung 2017-07-25 11:47:08 +08:00
@assad 说那么多 其实很简单 python 上手简单
而且现成的库有很多 比较方便上手 AI 因为大部分都是 python 搞 python 的多 但是说实话 线上还是 C++ 开发过程用 python 吧 python 就是比较易用但是说网站的话 要是你本身会 php 和 java python 应该不是首选 |
52
sagaxu 2017-07-25 12:13:10 +08:00
@assad PHP7 性能是很强的,不用框架跑 Hello World 非常快,python 跑不过它也有可能。但是跑不过 CI 就不应该了,我记得 Python Flask 跑 Hello World,QPS 是可以轻松突破 10K 的(看 CPU,基本上每核心 5K 左右),不会比 PHP7+CI 慢。即便最慢的 Django,也能轻松跑个大几千的 QPS。tornado 用来做些异步的事情不错,但是同步的事情性能并不高,还增加开发复杂度。
性能对大部分公司来说是个伪命题,能把 Python 单机性能发挥出来,已经日 PV 过亿了,有多少小公司有这个业务量? |
53
ytmsdy 2017-07-25 12:25:53 +08:00
现在工程师的价格比服务器硬件的价格高多了,剩下 1 人 /月,就能租一台过得去的服务器了。
|
54
assad OP 来点实在的,咱用 python 搞起点啥
|
55
lgpqdwjh 2017-07-25 12:42:18 +08:00
不上代码, 扯这么多飞机是什么心态?
你说性能差 麻烦祭出代码和示例 |
56
KgM4gLtF0shViDH3 2017-07-25 12:51:46 +08:00
@assad #3 japronto 写 hello world 每秒 120 万请求。https://github.com/squeaky-pl/japronto,请问 PHP 如何能达到。
|
57
imn1 2017-07-25 12:52:36 +08:00
我当年想用 php5 递归一个 windows 包含朝鲜字符的目录树,愣是没找到解决方案
扔下多年,不知道现在 php7 是否可以 |
58
a1044634486 2017-07-25 12:55:54 +08:00
PY 不是运维必备的吗
|
59
romanticbao 2017-07-25 12:56:08 +08:00
会啥就用啥,达到目的最重要。
|
60
ipconfiger 2017-07-25 12:58:37 +08:00
楼主学东西太功利了, 这样子不好.
|
61
KgM4gLtF0shViDH3 2017-07-25 12:59:09 +08:00 2
|
62
aaronzjw 2017-07-25 13:04:27 +08:00
talk is cheap
|
64
ToBeHacker 2017-07-25 13:08:41 +08:00
性能差这句话可不能随便说啊,这跟你的业务代码,部署方式,架构,硬件兼容性都有关的.
其实现在的脚本语言性能都差不多在同一个数量级. |
65
angelface 2017-07-25 13:10:19 +08:00
写的爽不就行了么
|
66
KgM4gLtF0shViDH3 2017-07-25 13:11:08 +08:00 1
asyncpg
1M rows/s from Postgres to Python |
67
SoulSleep 2017-07-25 13:11:31 +08:00
|
69
shiroming 2017-07-25 13:13:19 +08:00 via Android
只是你不想转 Python 罢了。还有一句 php 是世界上最好的语言 也就够了手动斜眼。
|
71
est 2017-07-25 13:53:35 +08:00
|
72
Crossin 2017-07-25 13:58:19 +08:00
“最近关于 Python 成了最热门的语言的言论很多”,其实都是吹出来的,创业者投资人编故事圈钱,不懂事的媒体和半吊子开发者跟着瞎起哄。
这个理由如何? |
73
fwee 2017-07-25 14:01:32 +08:00
马太效应,和当年 Java 一个道理。
和你说的一样任何语言都可以支撑大访问量,语言并非瓶颈。 而所谓开发效率高在框架面前也被抹平,像是 Rails, Revel,Django 等框架的高度抽象,已经和语法本身关联不大。 所以性能、语法并非关键,语言的使用者传教,导致马太效应 |
74
xiaket 2017-07-25 14:02:24 +08:00
夏虫不可语冰.
|
75
jarlyyn 2017-07-25 14:03:20 +08:00
https://www.techempower.com/benchmarks/#section=data-r14&hw=ph&test=json
最新的网页框架跑分,python 的几个框架把 go 的几个都甩在后面了。 |
77
killerv 2017-07-25 14:20:41 +08:00
90%的公司都遇不到语言的性能瓶颈。
|
78
zhangsen1992 2017-07-25 14:24:48 +08:00
php 有机器学习的相关库,可以搞机器学习 楼主去搞吧
|
79
xvx 2017-07-25 14:25:36 +08:00 via Android
我不喜欢 php 的语法,所以懒得去学。
python 的语法我觉得不错才去自学的。 |
80
art2cat 2017-07-25 14:39:20 +08:00
@jarlyyn 貌似你好像只看了 JSON serialization 的排行,后面还有五个测试排行没看,你的结论有些草率
|
81
keikeizhang 2017-07-25 14:58:39 +08:00
PHP 是世界上最好的语言
|
82
ikeeper 2017-07-25 14:59:55 +08:00
instagram 后台是 python,Facebook Google 多大量使用 python
|
83
assad OP @zhangsen1992 我会 Python,要是搞机器学习,我毫不犹豫,选 python,毕竟库比较丰富嘛
|
85
Betacoefficient 2017-07-25 15:24:38 +08:00
TALK IS CHEAP,SHOW ME YOUR CODE.
只会争吵,而不弄出代码 pk,还叫 coder 么? 我申明我不会 py,刚好在学 py。 print “ hello,world !” |
86
hitrust 2017-07-25 15:38:16 +08:00
你能用好则用,用不好则不用,就是这么简单。非要贬低这个,抬高那个,实际意义不大,实际是往往水平不济,怨这怨那。
|
87
xxxss 2017-07-25 16:10:21 +08:00 3
首先,Python 再火,在 web 开发领域也没有 php 和 java 的多,这个有统计,自己去看。所以你说的没错,php 和 java 干 web 都比 python 好,所以是这个结果。
但是,Python 能用很低的成本迅速完成一些繁琐的任务,这个就是优势啊,既然是小公司,就意味着团队配置是不那么奢侈的,那么一定有很多杂事是需要开发人员自己干的,所以才会有那么多全栈,而这些杂事的,大部分都可以用 Python 迅速趁手的解决。 写个淘宝是用 python 写不了,但用 flask,bottle,web.py 随手写个 simpleserver 是可以的吧。 用 python 写 app 是写不了,但是花两分钟给 app 来几个接口返回个 json 数据比写文档还快呢吧。 用 Python 是写不出个数据库,但是随手写十来行程序迁移个数据库,清理个数据不求人好伐。 用 Python 是没 c 和 java 效率高,但是要把做完的系统部署上线,随手写几个脚本直接代替一个运维工程师的岗位好么 小公司没数据,分分钟写个爬虫从人家家网站偷数据这个事,直接省了小公司几十万买数据的钱好么 老板要一年每周每月的用户数据,Python 是做不了 Hadoop,但是写几个函数从数据库生成各个维度的报表,最后找个前端给 chart 一下给老板看,老板以为不用招数据挖掘工程师了呢 总得来说,就是当你需要啥,用 Python 就能分分钟实现啥,简单,有效。老板本来原来招的工程师,给他们提个需求,这帮孙子就会说“我们需要一个 XX 领域的熟手”,“我们需要招个 XX 师”。自从招了会 Python 的,提个需求,这哥们 5 分钟以后给你出结果了。 老板于是问 Python 工程师:python 工程师这么好用,要不。。。以后我们网站和 app 后台也用 python 吧 Python 工程师回答:可以,你看 instagram,就是用 Python,一共 13 个人,最后 10 亿美金卖给 facebook 了。 老板于是说:艹,那还想啥,赶紧的,Python 了。 |
88
xxxss 2017-07-25 16:27:44 +08:00 2
作为瑞士军刀的 Python,功能多,趁手,只是一方面,要让大家喜欢用,关键是“方便,好用,简单易上手”。这个是核心价值,你拿任何一个其他的竞争对手都不一定比得过,这也是这款工具一直追求的目标。也是这么多年(比 java,ruby,go 都老多了好么)能赖以生存的核心竞争力。
你知道在美国很多用 Python 的都是什么人么? 5 岁的孩子,用来学编程;医生,用来自己写个自己的诊所“挂号预约系统”;会计,用来写自己用的财务系统; 以及物理学家,生物博士,交通规划研究生。。。。用 Python 来处理数据。 因为 Python 太简单,两小时上手,一周就能熟练运用来干自己需要的那些事。从此再也不用关心指针,内存,线程池分配,什么这些狗屎。只用关心我要干嘛就好了。 而中国呢,自从原来那些学不会 C++,Java 学了一年写不出个网站,php 弄个网站就被人 sql 注入的笨蛋们发现他们唯一能学会并且做出活来的语言是 Python 之后,他们就喜欢上了 Python,于是,就有了你这个问题。 |
89
northisland 2017-07-25 16:39:08 +08:00
|
90
jyf 2017-07-25 16:45:08 +08:00
@assad py 有 GIL 你这种测试多线程提升不到 建议用 bjoern 多起几个进程试试 如果觉得 bjoern 作弊 可以用 gunicorn 这种
|
91
RqPS6rhmP3Nyn3Tm 2017-07-25 16:51:24 +08:00 via iPad
因为 Py 写起来真的很爽啊
现有的库多,直接调用不用关心细节,多开心。开发效率贼高 |
92
assad OP 你给我跑个嘛
|
93
tairan2006 2017-07-25 19:17:08 +08:00
Python 性能明显不如 PHP ?是你不会玩吧……
|
94
reAsOn 2017-07-25 19:19:40 +08:00
为什么到现在还有人用 hello world 来表示 web 性能的?
|
95
cjyang1128 2017-07-25 19:40:48 +08:00
没有一楼讲 python 在大数据里面的用途?
|
96
gclove 2017-07-25 19:44:10 +08:00
我觉得这个问题要邀请 @livid 来说一下
你 pypy 都没有使用, 就来测性能这有什么意义 你应该测一下, 比较热门的 Flask 和 Laravel 框架 就拿一个简单的数学问题来说吧 python 2.7 求笛卡尔乘积 from itertools import product print list(product([1,2,3], [4, 5], [6,7])) |
97
eloah 2017-07-25 20:16:55 +08:00
后排提示,点击帖主头像可以看到帖主的 github 和个人博客
Doge |