django学习系列——python和php对比

时间:2023-12-19 15:34:02

python 和 php 我都是使用过,这里不想做一个非常理性的分析,只是根据自己的经验谈一下感想。

在web开发方面,无疑 php 更甚一筹。

从某种角度来说,php 就是专门为 web 定制的语言。 他没有强制的变量类型,文件结构也很松散, 不需要再代码中手动导入各种类库,开发非常快速方便,稳定性也非常好。 python 则不然, 它需要手动定义很多参数, 大多数时候,需要一个类似 uwsgi 的 中间服务器 和 nginx,apache等更专业的web服务器通讯。虽然 uwsgi 也可以作为 web 服务器使用,却很少人这样使用。由于强制类型和严格的格式书写的关系,它在开发和维护的成本都比较高。

在开发模块和中间件以及开源软件上,python各甚一筹。

php 的劣势在于,它的各种模块不够丰富灵活,只能通过加载php扩展来实现,过于笨重;它的语言也不够严谨,不是一个开发基础模块很好的选择。 所以可以看到,市面上,许多基础的开源软件都是使用更为严谨的语言来开发的,如 python, java, node.js 等,这些开源软件有 sqlmap( python), elasticsearch( java ) 等。 python 有大量的各种模块可以使用,使得可以灵活的开发出各种软件。

在人工智能方面,python各甚一筹。

tensorflow 百分之40%的语言是用 python 完成,重要性可见一斑。

在兼容性方面,php更甚一筹。

php 无疑有更好的向后兼容性,即使现在最新版本已经达到 php7.2, 但是将php5 甚至 php4 的项目迁移到上面的时候,也不会出现非常大的不兼容。 完善的文档还会提示你,使用哪些函数更好,哪些函数以后会被弃用。 这无疑极大的减少了开发者的维护成本。

python 则不然,python2 和 3 在类库 上有极大的不同,python2的项目迁移到 python3上需要极大的成本。

结尾和关于写一个学习django源码系列的专题想法

django 是一个 python 的 web 框架。 对比 php 的 codeigniter 框架,可以发现。 同为MVC 模型,它的代码风格是不一样的,复杂度是更高的。 所以,作为一个学习的材料。我可以通过 django 更好的了解 python 中的一些设计思想。