首先,定义“更好”吗?这是一个令人难以置信的主观术语,完全取决于您要寻找的内容。你的意思是更快吗?使用更广泛?更轻松?提供更大的就业前景?框架和库的可用性更高?我可以继续。
PYTHON
Python的优势是什么?
大量内置和第三方库/模块,专门用于Web开发和服务器管理(服务器管理也适用于Web开发)。
这些第三方库设计合理,维护良好,易于安装且功能强大。
易于发展。如果您曾经用Python编程过,那么您会知道它很容易。
Django非常强大。它有助于替换JavaScript和PHP。
[观点]就我个人而言,我讨厌PHP和JavaScript。它们令人沮丧地使用,并且两者都容易受到漏洞的影响。 PHP更多是因为该语言存在缺陷; JavaScript是由于“地狱般的怪异”规范中的缺陷导致对JS引擎应如何实现的解释不佳。
完全面向对象。
非常适合数据处理和机器学习(如果您要在平台上提供针对性的广告,这可能很重要)。
使用正确的框架和模块(作为标准组件包括在内),您可以与数据库服务器正确,良好地集成,并自动为您的站点生成查询。
例如如果用户正在其帐户中搜索特定的许可证密钥,则该框架通过将用户的操作转换为SQL查询来进行处理。
例如#2:如果管理员正在通过电子邮件地址搜索客户,则该框架会将其转换为SQL查询,然后将结果转换回并以CSS格式的HTML显示。
Python的弱点是什么?
慢的。好像真的很慢。比Python迷们喜欢承认的慢。正如Oluwasegun所说,PHP的速度提高了3倍(有时更多,有时更少)。
当您将其用于开发时,您无法像使用Python那样真正地想到它:您使用的是框架(例如Django)。因此,仅学习Python是不够的,您还必须学习框架。
Python远远没有像PHP那样广泛使用,因此它的可使用性因素,特别是在Web开发方面,受到了更大的限制。我听说有统计数据,所有网站中约有80%使用PHP-我无法验证该统计数据,但这并不令我感到惊讶。
这种情况与缓慢并存,但是需要单独解决:资源使用。 Python占用的资源比PHP多得多。您可能会想,如果它利用了大量可用资源,实际上可能会有助于加快速度……不,不,不是。
[意见] Python的OOP方面太糟糕了。如果您曾经用Java,C#或C ++之类的语言完成过任何OOP,您就会理解我为什么讨厌它。任何依赖于此和super()的语言都做得不好。它使您的代码看起来像混乱,混淆了整个过程,并使开发人员容易出错。只是没有必要-语言的整个感觉(就像我在网站上的其他地方所说的那样)就像是用盲目鱼用锤子将它固定住一样。作为事后的想法。你猜怎么着?它是!好吧,这不是用锤子,鱼来拴住的。但这是事后的想法,最初并不是要成为该语言的一部分(最初并没有包括在内)。
这是对OOP的不良且严格的实施。再次,意见。有些人喜欢它,但通常他们会说C和C ++既困难又令人困惑。
总而言之,这不是很糟糕吧?我个人认为,从可雇佣性的角度来看,与PHP相比,上述最大的问题是“市场份额”。
的PHP
PHP的优势是什么?
非常快。
完全面向对象。
在绝大多数后端网络服务中使用,并在网站的“幕后”功能中使用。
与SQL Server以及几乎所有版本的SQL Server很好地集成。
自动生成对数据库的查询(有关示例,请参见“ Python”部分的示例)
专为网络使用而设计的多种内置功能。
许多PHP Web API可用,可以进一步扩展功能。
其中许多是专门为PHP设计的,不能与Python和Django一起使用。
例如许多电子商务API
PHP的弱点是什么?
好家伙。有一些真正的悍马:
[意见]语法简陋。是的,这是一种意见,但这是一个非常广泛共享的意见。我曾经与之交谈过的每一个PHP程序员也都持有这种观点。如果您还不熟悉它,请查看。
SQL注入攻击。请参阅下面的链接,以详细了解其含义,发生的原因以及如何
使用PHP解决它:
防止PHP应用程序中的SQL注入漏洞并加以修复
远程执行代码:
PHP应用程序中的错误可能会接受用户输入并将其评估为PHP代码。
跨站点脚本(XSS [X =交叉]):
存储的XSS和反射的XSS
身份验证绕过-从技术上讲是开发人员错误,但是语言本身使其确实非常容易犯此错误。
我可以继续讲更多,但是这里有一个链接:
https://www.wordfence.com/learn/understanding-php-vulnerabilities/
[意见] OOP与Python一样糟糕。由于语法的原因,可能会更糟。它仍然使用这个(但实际上是$ this)
总而言之,这些漏洞非常可怕,但主要是由于开发人员错误造成的。很好地了解PHP,不仅要研究“我如何开发PHP”,而且要研究“ PHP开发陷阱”和“ PHP漏洞”,所以这不是问题。
现在都在一起了
那么,这里得出的最终结论是什么?嗯,尽管Python爱好者死了很多,但由于存在通用的纯PHP API和PHP在业界的主导地位,Python无法完全替代PHP。
我知道我已经有很长一段时间了,但这是我的最后一点,并且很重要的要指出:开发人员应该选择“一种最好的语言,因为它是最好的”这一想法是现代教育体系的重大失败。和初级[年轻]开发人员。为了真正精通网络,应用或软件等任何开发领域,您需要了解多种语言。可靠地采用也是如此。
结束语:当我刚开始从事该行业时,我记得当我问起这个过程时,我印象深刻,而工作中的开发人员告诉我,他们知道Assembly,C,C ++,C#,JavaScript,二进制和十六进制。
我现在对印象不太深刻,因为我知道C,C ++。一些C#(了解更多),JavaScript,Python,Java,HTML,CSS,一些PHP(了解更多),SQL,二进制,十六进制……我觉得我很想念一些,但我想不起来了。他们仍然比我更富有经验和精通,但我现在知道,了解很多语言只是正常现象,这是需要做的事情。
因此,总而言之,不是关于哪个更好,而是关于在何时何地使用它们。而且,对于Web开发,您应该了解以下BARE MINIMUM:
的HTML
的CSS
的JavaScript
的PHP
JSON(替换XML)
SQL(MySQL,Oracle,MS SQL是3种主要方法)-提防不同的“风味”
Python
以上是绝对不可协商的职业。 (可选)也可以学习Java。对于网络应用程序很有用。
编辑:缺乏偏见的证明?我同样讨厌Python和PHP。例如,实际上我真的不喜欢他们两个。