文/黄小天、李亚洲 (选自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 有更好的工作前景和技术资源。

python和php-PHP和Python如何选择?或许可以考虑这三个问题相关推荐

  1. Python培训教程分享:Python中选择结构是什么

    越来越多的人开始报名学习Python技术,那么学习Python技术不是一两天就能学会的,本期小编为大家推荐的Python培训教程主要讲的是"Python中选择结构是什么",下面来看 ...

  2. Python编程比较好的机构怎么选择

    想要进入到IT行业,很多人的首要选择都是学习Python编程语言,因为Python编程语言入门是相对比较简单的,但是想要学好Python技术,找一个好的Python培训机构是非常重要的,那么Pytho ...

  3. python selenium 下拉列表_从下拉列表中选择python selenium选项

    我试图使用下面的代码使用selenium(python)从网页上的下拉列表中选择一个选项.在from selenium import webdriver from selenium.webdriver ...

  4. sas和python哪个更容易_我该选择谁?SAS VS Python

    很多入门数据分析和数据挖掘的人士都在纠结我到底应该选择哪款软件?今天我们来比较一下老牌软件SAS和新起之秀Python在各方面的性能. 2016-8-19 10:37:21 上传 下载附件 (10.0 ...

  5. 想学python有什么用-我们为什么要选择学习python?学习python有什么用?

    原标题:我们为什么要选择学习python?学习python有什么用? 从网页编程到时髦的人工智能,机器学习,这个享有"瑞士军刀(万能工具)"盛誉的Python语言,你学会了吗?科多 ...

  6. 开课吧python好吗-如何选择python培训机构?开课吧python培训怎么样?

    如何选择python培训机构?开课吧python培训怎么样? 如何选择python培训机构?开课吧Python培训怎么样?我们先来说一下如何选择python培训机构,小编在这里建议你要从多方面进行考虑 ...

  7. python 3.5 3.6 3.7_选择 Python3.6 还是 Python 3.7

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 选择 Python3.6 还是 Python 3.7 Python 3.7 已经发布了, 又有新版本玩喽!!但是有选择症的你,怎么办呢?像追剧一样,赶快升 ...

  8. 微课|中学生可以这样学Python(例8.21):选择法排序

    适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第8章  常用算法的Python实现 例8.21  选择法排序 京东购买链接:https://it ...

  9. python有什么用-我们为什么要选择学习python?学习python有什么用?

    原标题:我们为什么要选择学习python?学习python有什么用? 从网页编程到时髦的人工智能,机器学习,这个享有"瑞士军刀(万能工具)"盛誉的Python语言,你学会了吗?科多 ...

  10. python和java的区别-Python和Java的区别有哪些?如何选择?

    原标题:Python和Java的区别有哪些?如何选择? 随着人工智能AI的发展越来越快速,很多人对于Python开发技术也是越来越重视,也正因如此,不少人拿着Java和Python进行比较,认为Pyt ...

最新文章

  1. 【AI学习篇】实战深度学习(3):深度学习的数据表示
  2. 谈谈自己对java的学习看法
  3. BCGControlBar教程:Outlook Bars
  4. RabbitMQ 添加用户(入门试炼_第2篇)
  5. 美团和支付宝大战在所难免
  6. 启动Eclipse中Tomcat遇见的错误一
  7. Javascript学习数据结构--集合(Set实现)
  8. 计算机考试忘记备注班级了,2012年计算机二级Access第二十五套上机试题及答案详解...
  9. delphi tpanel 内凹效果_别墅装修公司前十名|别墅装修效果图|现代精致简约
  10. C# 联合查询_c# 之linq——小白入门级
  11. Sql 语句:显示 Sql Server 中所有表中的信息
  12. 情侣的网站代码java_GitHub - Mutiantian/lovers-website: 程序员的情侣网站 (programmer's website of lovers)...
  13. 华为路由器交换机基本配置方法
  14. 5分钟学会马尔科夫模型
  15. Windows快捷命令
  16. MATLAB线性回归方程与非线性回归方程的相关计算
  17. 每日一练20210814
  18. HDMI EDID概念梳理
  19. B站离线多机房架构实践
  20. 视频直播之webp礼物解决方案

热门文章

  1. ibatis基础(三):查询指定id的单个对象
  2. 最短路径算法——Dijkstra and Floyd算法
  3. 国际财务报告准则 IFRS 与信息系统
  4. ChartPart 图表显示
  5. 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 有损脑健康的七种坏习惯...
  6. 一些有用的ABAP程序和函数组
  7. matplotlib学习日记(九)-图形样式
  8. 标准模板库(STL)学习指南之vector向量
  9. scikit-learn Adaboost类库使用小结
  10. 【CSS中width、height的默认值】