
最近关于 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 quickma 2017-07-25 09:34:29 +08:00 首先,不是所有的工程都追求性能的 其次,性能问题不是语言问题,是代码者问题 再次,深度学习玩不起还用不起框架吗,重点是没法赚钱 最后,小公司就老实用 Java 吧,好招人也好写。 |
12 ansheng 2017-07-25 09:36:43 +08:00 说性能差,是因为你代码写的有问题,没事儿别哔哔,好好撸你的代码 |
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 要注意不要过早优化,我感觉你“平时用 python 写写项目”的瓶颈并不是 python,可能是服务器网速什么的,instgram 的用户和日请求可以说世界级别的了吧,基本都是 python 驱动的。等到了 python 成为瓶颈的时候在考虑优化也不迟。 python 优势在于快速成型,有大量的库可以用。写开源项目就比较鼓励组合使用现有的库。python 处理 word 啦,markdown,网络啊,跟 linux 有关的东西啦,基本都有现成的可以用,而且安装非常方便。 要说 PHP 嘛其实也差不多,语言就是个工具,当你有了一把锤子,你眼中所有的问题都会变成钉子。 |
17 jtsai 2017-07-25 09:55:47 +08:00 你所指的 "干什么" 是能用 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 在现在这种硬件不值钱的时代,人工效率明显更重要,性能不够加机器,还不够上集群,还不够关掉 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 论性能 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 RealLiuSha 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 |
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 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 首先,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 作为瑞士军刀的 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 |