每种语言的设计都是在赌一个未来。
C++在赌:硬件价格居高不下,体积无法减少。社会将面临大量需求改动较少,且复用量极大的任务,比如cg渲染,大型IT互联网企业。
Java在赌:未来大型非IT企业云集,项目繁杂,沟通成本上升,很多问题不是雇人买硬件就能解决的而是软件架构的管理规范不够高效。
Python在赌:中小企业占据大量市场份额,企业难以形成规模,硬件价格走低,程序员工资高起。最终各行各业由于顾不起高薪程序员只能自学编程来解决日常IT问题。
不得不说其他语言的设计都误判了一个方向,那就是程序员工资的急剧攀升,导致的企业用工成本的增加。
如果程序员一天100块,而硬件一台电脑十万块。那么Python就是鸡肋。而现实正好相反,大多数程序员半个月的工资就能买一台电脑,大多数程序员几个月的工资就能把电脑配置拉满。
很多企业的IT困局并不是买不起硬件的算力,而是顾不起高薪的程序员。而Python几乎是解决这种问题唯一的办法。让非IT从业者用调包的方式来完成较为基础的代码编写。
再有一点就是中国人适合学Python,因为中国人个人主义比欧美更加浓厚,很喜欢一个人造核弹。大家都知道中国人在单人项目的胜率较高,而团队协作上的项目胜率较低。这也非常适合Python。而Python是少数可以一己之力构建项目的语言。其他的语言基本都需要团队合作。
很多时候项目做不起来不是因为买不起硬件,不会写代码,而是大家谁都不服谁。
Python并不是完美的语言,但它比较符合市场规律。如今不像以前,实业众多,而IT寡头。现在是实业寡头,然后一堆做IT的芝麻公司。
芝麻公司就几个员工,你指望他们用C++和Java?很多时候程序员的工资就是小企业大半年的利润,小企业主为了做业务不得不亲自上场学习Python。
最后回到题主说的量化,量化用什么语言都可以,但由于Python学的人多,开发成本较低,而且量化需要处理的数据并不像电商那么多。我下过全球的日频数据,总共也就20多个G的时间序列。实在不行用点多进程提速一下就完全足够了。神经网络可以直接调用cuda和pytorch。
其他语言不是不好,而是普通人都知道自己卷入大厂的可能性较小,大多数只能在芝麻企业混。所以还是学点实在的东西。
不是量化使用了Python,而是单纯Python好学,简单,容易招到人。如果世面上有一大堆月薪3000的007优秀C++工程师,那么其他语言都会是鸡肋。