PHP在最近一年在编程语言排行榜上下滑的原因是什么

Python020

PHP在最近一年在编程语言排行榜上下滑的原因是什么,第1张

主要从两个方面发表一下个人看法:

行业变迁

最近两年,我们耳熟能详的技术热词比如:云计算、machine learning、TensorFlow、AI……,基本与PHP都没太大的关系,再比如:(自然语言处理)NLP、(物联网)IoT、big data、区块链(blockchain)……,也基本和PHP没太大的关系;难道说PHP技术不行了?那倒也不是,其根本原因在于技术发展日新月异,开发语言也愈加细分,golang主要用于云计算、Python主要用于神经网络与深度学习、大数据与数据可视化分析有R语言,反观PHP,似乎除了web、及部分APP后端开发,其他专业技术领域有点力不从心,尽管它也在一直寻求新的爆发点。

语言特性

在web开发不甚成熟的时代,PHP以其“开发周期短”、“技术门槛低”的优势吸引了一大批开发人员加入,虽然项目可以很快推上线,但由于“弱类型解释语言”的基因缺陷,在性能优化大行其道的今天,PHP需要补足这一先天缺陷(从PHP5~PHP7就可以看出),这也给很多其他开发语言趁势而上的机会,比如go语言。业务量暴增需要程序能适应更高的并发访问以及更低的延迟,go语言天生的并发编程语言特性就恰好解决这一痛点,我所参与的大部分项目都选择go语言进行数据的云同步。再来说说Python,同样是动态解释型语言,Python的技术应用场景相比PHP而言则多出不少,比如GUI程序开发、机器学习、数据抓取与分析……,一旦项目有大量数据抓取的需求,我的第一选择肯定会是Python,因为在同等开发周期内,Python的效率与执行效果是最优的;所以总的来看,性能不及golang纯粹,应用场景不如Python丰富,却也不能否定“PHP是最好的开发语言”。我一般的技术选型如下:web后端与轻量级APP后台任务用PHP,大数据量吞吐与并发数据传输用golang,大数据抓取与分析用Python,我一直认为“术业有专攻”,没有最好的语言,只有最合适的语言,如果能一枪放倒敌人就没必要与其拼刺刀。

有好几次,当我想起来的时候,总是会问自己:我为什么要放弃Go语言?这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。

开门见山地说,我当初放弃Go语言(golang),就是因为两个“不爽”:第一,对Go语言本身不爽;第二,对Go语言社区里的某些人不爽。毫无疑问,这是非常主观的结论。转载

1.1 不允许左花括号另起一行

1.2 编译器莫名其妙地给行尾加上分号

1.3 极度强调编译速度,不惜放弃本应提供的功能

1.4 错误处理机制太原始

1.5 垃圾回收器(GC)不完善、有重大缺陷

1.6 禁止未使用变量和多余import

1.7 创建对象的方式太多令人纠结

1.8 对象没有构造函数和析构函数

1.9 defer语句的语义设定不甚合理

1.10 许多语言内置设施不支持用户定义的类型

1.11 没有泛型支持,常见数据类型接口丑陋

1.12 实现接口不需要明确声明

1.13 省掉小括号却省不掉花括号

1.14 编译生成的可执行文件尺寸非常大

1.15 不支持动态加载类库