PHP和Python如何选择?或许可以考虑这三个问题

PHP和Python如何选择?或许可以考虑这三个问题

PHP和Python如何选择?或许可以考虑这三个问题

文/黄小天、李亚洲 (选自Hackernoon 机器之心编译)

2017 年可谓是网页应用与 API 之年,开发者不用每次重新发明轮子,而是利用脚手架和第三方库就能确保项目在几天内实时部署。

尽管 RESTful API 和跨平台库已经使网页开发容易起来,但依然没有解决阻碍并隔分开发者、管理者和消费者的由来已久的问题:PHP vs. Python,到底该选哪种语言?

PHP vs. Python ?

出于研发和项目预算的考虑,这一问题仍然是一个重要的讨论点。然而,这个问题对于想要在网页开发中做大的初学者来说也尤其重要。PHP 和 Python 是当今最为流行的网页开发语言,编写了互联网之中绝大多数网站。

PHP和Python如何选择?或许可以考虑这三个问题

相比于经验丰富的开发人员,初学者的需求相当不同。老练的开发人员学起新语言来几乎毫不费力。与之相反,初学者则需要渡过两个难关:他们不得不理解编程结构并学习实现它们;也不得不掌握对初学者毫无意义的句法。

一个相关的问题是开发老手的偏见。与 PHP 开发人员交谈,他们会说没有比 PHP 更好的语言。与 Python 开发人员交谈,情况也是一样。通常来讲,很少有开发人员会夸赞其不用的语言。

因此,本文不会提及 PHP 和 Python 各自的优缺点,而是探讨初学者首次选择语言时所要考虑的三个问题。余文将围绕着 PHP 和 Python 集中探讨这 3 个问题。

流行热度

毫无疑问 PHP 和 Python 都很流行。即使 PHP 和 Python 并不支持某个项目,某些项目经理和客户依然优先考虑使用它们。PHP 更是以压倒性的优势主导互联网市场 80% 的份额。

一些著名网站比如维基百科、Flickr、Tumblr、雅虎都由 Python 编写而成。而此后,社交巨头 Facebook 开始转向 PHP 框架,它可以并入 Facebook 平台和 APP 开发所需的一切功能。

PHP和Python如何选择?或许可以考虑这三个问题

当谷歌使用 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 有更好的工作前景和技术资源。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113863.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据结构 哈希表设计

    实验6哈希表设计一、实验目的熟练掌握哈希表的构造方法,深刻理解哈希表与其他结构表的实质性差别。 二、实验内容程序的功能是对一批关键字集合采用除留余数法和线性探测再散列的方法解决冲突来建立相应的哈希表和完成查找过程及平均查找长度的计算。【问题描述】    研究哈希(HAXI)表查找技术的两个重要问题是:构造HAXI函数和处理冲突。现在要求针对某个数据集合中的关键字设

    2022年4月9日
    54
  • 常用的算法和数据结构 面试_数据结构与算法面试题80道

    常用的算法和数据结构 面试_数据结构与算法面试题80道(1)红黑树的了解(平衡树,二叉搜索树),使用场景把数据结构上几种树集中的讨论一下:1.AVLtree定义:最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(logn)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。节点的平衡因子是它的左子树的高度减去它的右子树的高度(有时相反)。…

    2022年8月18日
    6
  • vue devtools如何使用调试_千牛提示opendevtools

    vue devtools如何使用调试_千牛提示opendevtoolsWriteByMonkeyfly以下内容均为原创,如需转载请注明出处。前提今天准备开始学vue.js了,不为别的,只是因为我女朋友毕设项目的前端是使用vue开发的,而我作为一个前端开发却无能为力,你说可不可笑。她需要一个会vue的前端帮她做界面,而我虽然身为一个前端开发,但是并不会vue,所以作为男朋友的我本身就很自责。现阶段的情况是:我只是知道有这些框架,再加上公司的项…

    2022年10月6日
    5
  • java 工厂模式例子_java 工厂模式简单介绍及例子[通俗易懂]

    java 工厂模式例子_java 工厂模式简单介绍及例子[通俗易懂]java中工厂模式在javaee中经常碰见,是一种常见的模式,其可分为三种:静态工厂模式、工厂方法模式、抽象工厂模式。一下做一简单讲述和例子。静态工厂模式:顾名思义就知道他是用静态方法实现的,其创建的对象具有一定的特性,譬如说是某类的派生或者某接口的实现。其比较简单。例子如下Animal类:packagecom.bean;/***动物类*@authorLyonYao**/public…

    2022年7月20日
    13
  • plsqldev8.0下载和注册码「建议收藏」

    plsqldev8.0下载和注册码「建议收藏」[b]关键词:PL/SQL,下载,plsqldev,注册码,plsqldev711,汉化文件[/b]PL/SQLDeveloper是一种集成的开发环境,专门用于开发、测试、调试和优化OraclePL/SQL存储程序单元,比如触发器等。PL/SQLDeveloper功能十分全面,大大缩短了程序员的开发周期。[url]http://www.kutoku.info/software…

    2022年4月25日
    43
  • 驱动程序模型:wddm2.0_编写一个简单的驱动

    驱动程序模型:wddm2.0_编写一个简单的驱动WDF驱动程序开发1.引言设备驱动程序是硬件设备连接到计算机系统的软件接口,任何设备都必须有相应的驱动程序才能在计算机系统上正常工作。设备驱动程序的优劣直接关系到整个系统的性能和稳定性,因此,设计和开发稳定高效的驱动程序具有重要意义。WDF(WindowsDriverFoundation)是微软提出的下一代全新的驱动程序模型,它是在WDM(windowsDriverModel)…

    2022年9月1日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号