Python VS C++

P
ProtonKing
楼主 (北美华人网)
Python上手快,现成库多,封装干净整洁,写程序快,但运行慢,没有真正的多线程。适合数据分析,上层业务逻辑,胶水,不适合用于高并发后端服务的底层实现。
C++上手慢,现成库虽然也不少,但是用起来麻烦,底层细节暴露给程序员太多,给程序员选择太多,以至于程序员对计算机底层概念不熟悉比如内存,进程,线程,携程,文件系统,等等,很容易误操作。但高并发后端服务的底层实现基本只能用c++。
python 好比速冻饺子,回家热一下就能吃,不用关心饺子皮是用啥面粉做的,馅是什么肉。吃就得了。缺点是就5-6中口味,要多的没有。你让米其林3星主厨来热出来的饺子和从来不做饭的单身汉热出来的,味道差不多。
c++好比自己去店里买一斤面粉,半斤五花肉,几把葱,各种调料,回来自己活面,做肉糜,包。你得知道买啥面,怎么选五花,怎么和面,擀面,调馅。这其中每一步都有无限选择和可能,你水平多高做的饺子就多好吃,水平不行连面粉都能买错。
自己家里随便吃吃,或者下班回家饿昏了,速冻饺子很好,营养口味都帮你调好了,自己折腾纯粹浪费时间,还不一定弄的比买的好吃。你大年三十请一大帮人来吃饺子,有些不吃葱,有些不吃猪肉,有些只吃素,有些喜欢面硬一点,还有小朋友喜欢有动物造型的,最后还要放一个金元宝,这个速冻的很难满足了。
有意思的是,世界上并发最高,最复杂的两个后端服务都是python: 狗的YouTube 和脸的 Instagram,为啥因为这两个都是收购的,被收购的是startup,当然是快糙猛,当用户还不多,速度和生存是第一位的时候,python自然是最好选择。在收购后用户和功能暴增,在不推倒重写的情况下, 狗和脸只能在python这个速冻饺子里面““螺蛳壳里做道场”,现在各自基本上吧python的性能发挥到了极致了,python自己的发明者都看呆了:你们还能这么整?。有点像同样一套武术入门的太祖长拳,6岁小儿都能打完。一般武师打出来,和在乔峰手里打出来,感觉完全不是一回事。
f
facet
业界有个笑话,也是真事,Python 的发明者在狗家迟迟拿不到 Python 的 readability ,很沮丧
3
3906
回复 1楼ProtonKing的帖子
这俩是两手都要抓两手都要硬
半个马和甲
谢谢详细科普。 作为化外人员,我很喜欢F#的观感。 感觉真是简洁漂亮。
最后呼唤/坐等版内大牛马工码婆多多分享各种语言心的和看法。 💗💗



d
dngdnhxqs
谢谢分享 打了这么多字 Python入门挺简单 好多孩子都会
h
hhxx89
这两天终于没啥人打架了 Python和c++又干起来了
h
hhxx89
确实python小娃友好 0基础自学可上手 C++随便个指针调用 都是个坎
J
JackOld999
在我眼里,python 就是个 免费的 matlab
L
Lidl
C++ 快啊

大型工程计算软件, 尤其是 力学, 传热学等工程软件, 都是基于 C++ 和 Fortran 的
还有 游戏软件等

工程科学 是人类文明的基础啊


L
Lidl
人类 文明 最基础 最重要 还是 工程科学啊
特别是 力学, 材料学, 传热学, 热力学。

中国对工程科学的贡献很少
L
Lidl
在我眼里,python 就是个 免费的 matlab
JackOld999 发表于 2022-07-23 02:33

使用的领域不同


t
ted.hanks
有点偏驳。 高并发的server, 比如nginx, apache, pgsql, redis 大多数code是用c 开发的,小部分有C++ 是因为unix的传统; 也是因为c++是更好的c。 纯用c++开发的service, 知道的有envoy,Java有zookeeper, 新的service 很多是用go 的, 比如k8s.
backend 应用层面如果用了async, 其实差的不多,到头来都是用epoll。运行慢就慢,反正DB更慢。
世界上并发最高的难道不是facebook? 那是用Hack开发的, 类似世界上最好的语言php。
p
phlin
在我眼里,python 就是个 免费的 matlab
JackOld999 发表于 2022-07-23 02:33


淨身之勢難言也
我覺得程式語言只到 C
後面都是 更高端的語言
D
DS的LV
使用的领域不同



Lidl 发表于 2022-07-23 02:42

不同类型不好作比较哒,一个编译型,一个不是 昨天看到个帖子,无非隔壁论坛过来的索南想说C++可以鄙视Python 那是不是Assembly也可以鄙视C++ cs鄙视DS呀 就像大妈鄙视索南,毫无来由 黑格尔曰,存在即合理 昏
S
Salad777
专业C++人员应该两个都会,没什么可争的。 如果是教孩子,个人经验,python容易上手,孩子们学的很快,用来实践基本的algorithm还是很容易的。USACO 过Bronze没有问题。 想过silver进gold,还是需要学C++或者java,否则有些case就是速度不够快,即使python 给的运算时间远大于C++。所以孩子们学了两年python后,无论怎么做都过不了silver。我们转教C++,他们学的挺快的,最后用C++过了silver。
z
zhegufei
不同类型不好作比较哒,一个编译型,一个不是 昨天看到个帖子,无非隔壁论坛过来的索南想说C++可以鄙视Python 那是不是Assembly也可以鄙视C++ cs鄙视DS呀 就像大妈鄙视索南,毫无来由 黑格尔曰,存在即合理 昏
DS的LV 发表于 2022-07-23 07:58

无所谓优劣 数值算法用C或者C++吧