编程.jpg
文/黄小天、李亚洲 (选自Hackernoon 机器之心编译)
2017 年可谓是网页应用与 API 之年,开发者不用每次重新发明轮子,而是利用脚手架和第三方库就能确保项目在几天内实时部署。
尽管 RESTful API 和
跨平台库已经使网页开发容易起来,但依然没有解决阻碍并隔分开发者、
管理者和
消费者的由来已久的问题:PHP vs. Python,到底该选哪种语言?
PHP vs. Python ?
出于研发和项目预算的考虑,这一问题仍然是一个重要的讨论点。然而,这个问题对于想要在网页开发中做大的初学者来说也尤其重要。PHP 和 Python 是当今最为流行的网页开发语言,编写了互联网之中绝大多数网站。
相比于经验丰富的开发人员,初学者的需求相当不同。老练的开发人员学起新语言来几乎毫不费力。与之相反,初学者则需要渡过两个难关:
他们不得不
理解编程结构并学习实现它们;也不得不掌握对初学者毫无
意义的句法。
一个相关的问题是开发老手的偏见。与 PHP 开发人员交谈,他们会说没有比 PHP 更好的语言。与 Python 开发人员交谈,情况也是一样。通常来讲,很少有开发人员会夸赞其不用的语言。
因此,本文不会提及 PHP 和 Python 各自的优缺点,而是探讨初学者首次选择语言时所要考虑的三个问题。余文将围绕着 PHP 和 Python 集中探讨这 3 个问题。
流行热度
毫无疑问 PHP 和 Python 都很流行。即使 PHP 和 Python 并不支持某个项目,某些
项目经理和客户依然优先考虑使用它们。PHP 更是以压倒性的优势主导互联网市场 80% 的份额。
一些著名网站比如维基百科、Flickr、
Tumblr、雅虎都由 Python 编写而成。而此后,社交巨头 Facebook 开始转向 PHP 框架,它可以并入 Facebook 平台和
APP 开发所需的一切功能。
当谷歌使用 Python 编写其一些知名项目之后,Python 奠定了其流行地位。随之 Python 逐渐流行起来,现在很多巨头公司诸如
YouTube、Reddit、Pinterest、
Instagram 和 Spotify 都(部分或完全地)用其编写产品平台。
因此,在流行热度方面,PHP 与 Python 之间难分伯仲。每一天这两种语言都在编写着大量新项目。
可用框架和
CMS
一个框架是由社区贡献和维护的代码编写,它允许开发者快速上手应用而无须从头开始。典型框架包含数百个功能,开发者可以调用它们从而为应用添加具体功能而无须重新发明轮子。
PHP 提供了大量框架,开发者可以用它们创建通用和行业具体应用。PHP 框架比如 Laravel 和 Symfony 编写了数百万人使用的流行应用。PHP 开发者拥有由热情的社区人员维护的成熟框架的优势。
Python 确实提供了像 PHP 框架那样的选择。虽然用途广泛且强大,但 Python 框架的选项相比于 PHP 还是有限。Django 和 Flask 就是用户构建网页应用时的两个特殊选择。Python 框架数量有所增长,这是因为它逐渐成为主流项目的语言选择。
CMS 的内容管理系统是一个软件平台,为项目提供了极为灵活的基础。无论是简单的博客、电子商务店还是公司门户,CMS 能提供综合的解决方案,保证开发者和终端用户能够专注于
商业案例,而非从头开始建立平台。
世界上最流行的 CMS、
WordPress 都是 PHP 建立的。同样,世界上两大开源电子商务平台 Magento 和 WooCommerce 都是用 PHP 建立的。另外,Python 构建了有限的几个 Django 支持的 CMS。
在特殊情况下,PHP 有明显的优势,因为它拥有每个人所需要的一些东西。在许多情况下,PHP 在框架和 CMS 上提供更多、更通用的选择以匹配项目要求。
学习曲线
这是此篇文章的首要前提。学习曲线定义了掌握特定语言的难易程度。在
编程语言中,学习曲线几乎趋于流畅,然后使用工具将设计转变为功能性代码。
在此,Python 相比 PHP 稍有优势。对新手而言,Python 代码更易读,也因此易于理解。PHP 一直都比较难,不受新手喜欢。但也因为规则困难,也很少有错。
在格式上 Python 容错度很高,代码不会因为一些小
错误而崩溃。因此对初学者来说很有激励性。这也是为什么许多学校优先选择 Python 作为编程入门语言。
PHP 社区也在尽量使得该语言变得对初学者友好。通过课程与教程,PHP 专家正在让它变得和 Python 一样易于理解。
结语
选择首门编程语言是最困难的决定之一,PHP 和 Python 都值得我们关注。两种语言都提供了许多学习机会,包括用户友好的语法检查工具,使学习过程变得容易并获得扎实的语言基础。
我建议初学者两个语言都尝试下,然后根据个人目标、所在产业选择一个。虽然 Python 最易掌握,但 PHP 有更好的工作前景和技术资源。
www.baby555.cn