来自编码器';从另一个角度来看,我应该选择python而不是php,因为两者都可以完成这项工作?

来自编码器';从另一个角度来看,我应该选择python而不是php,因为两者都可以完成这项工作?,php,python,linux,theory,Php,Python,Linux,Theory,我以前从未使用过python。我已经使用php大约5年了。我计划学习python,但我还不确定是为了什么。如果我能想出一个用python更好的项目,我会用它来学习 编辑:作为一个重要的注意事项,我的意思是严格针对linux,而不是多平台。 编辑2:我希望得到客观的答案,比如一个特定的项目,而不是一个一般的项目领域,等等。Python更适合于实际上不属于PHP专业领域的任何东西,即构建网站 如果您想要可以处理的编程项目列表,请参阅以下线程: 要在任意时间段内维护的项目 我不得不维护PHP代码,事实

我以前从未使用过python。我已经使用php大约5年了。我计划学习python,但我还不确定是为了什么。如果我能想出一个用python更好的项目,我会用它来学习

编辑:作为一个重要的注意事项,我的意思是严格针对linux,而不是多平台。
编辑2:我希望得到客观的答案,比如一个特定的项目,而不是一个一般的项目领域,等等。

Python更适合于实际上不属于PHP专业领域的任何东西,即构建网站

如果您想要可以处理的编程项目列表,请参阅以下线程:

要在任意时间段内维护的项目

我不得不维护PHP代码,事实上,你可以将HTML和代码混合在一起,这让PHP变成了一场噩梦

Python具有更高的抽象级别,使可维护代码更易于编写,更重要的是便于维护读取


当然,这是一个相当主观的问题。

任何需要后台处理的东西,或任何不只是向用户显示页面的大量代码。Python作为一种脚本语言非常好,编写命令行Python脚本是司空见惯的;编写PHP脚本来执行命令行工作是很少见的。

我将纯粹基于编程的简单性和良好设计实践的鼓励来回答这个问题

我学会了使用Perl编程,多年来一直使用CGI编写web应用程序,这从一开始就不令人愉快。我总是发现Perl很乏味,很容易出错

当我开始更认真地开发web应用程序时,我发现了PHP。从Perl到PHP是一个自然的过程,因为它们共享许多相同的方法和语法。我喜欢PHP的安装和广泛使用,并且比Perl更容易编写代码。除此之外,与Perl一样,PHP使人们很容易以错误的方式进行操作,并开创了一个编写糟糕且不安全的web应用程序的新时代

现在。。。四年前,我发现了,当时还处于婴儿期,它改变了我的生活。我以此作为学习Python的动机,一次也没有回头。我现在什么都用Python:

  • 系统编程(服务器) 配置、监控、警报)
  • 网络编程(路由器/交换机) 配置自动化、审核、, 语法检查)
  • Web应用程序(自解释)

Python的易用性、优雅的语法,以及它在默认情况下鼓励最佳实践的事实,使我对它产生了兴趣。给蟒蛇一次机会,你不会后悔的

PHP用于网站。Python几乎可以用于其他任何东西,比如命令行工具、长时间运行的脚本、守护进程等等。如果您正在编写一个PHP脚本,并且正在获取posix扩展中的函数、共享内存或其他低级内容,那么这通常是Python更适合的迹象。这并不是说PHP做不到,而是Python做得更好,错误更少

特别是当您冒险进入网站的后台守护程序时,您会想看看Python。PHP在长时间运行的进程(如守护进程)中存在一些垃圾收集问题。此外,Python中的一些功能更简单、更清晰(例如重定向STDIN、STDOUT和STDERR.PHP会错过posix_dup2())。此外,Python还有线程:-)

我现在唯一一次在我的网站上使用PHP后台守护程序,就是当它们可以重用大量代码时(比如使用CakePHP之类的MVC框架)


Python的另一个优点是它有很多很多库,因为为C库创建Python包装器相当容易。因此,Python拥有PHP所没有的库(OpenGL、多媒体等)。因此,如果您进入这些领域,Python将成为首选。

我使用php的原因如下:

  • 我正在使用的解决我问题的软件就是用它编写的(比如,不要尝试编写所有的程序,有时候你有很多好的php代码)
  • 我需要/想要在很多不同的服务器配置中运行(很多人使用共享主机,不能安装/不支持python,但php是任何web主机公司的默认配置) 当我可以选择时(我有服务器环境控制,我不介意因子2),我选择Python。仅仅因为你能用php写好代码并不意味着你应该用php写好代码。我怀念一种健壮的语言,它具有良好的异常处理和许多其他优点。该语言是干净的,如果你想学习Python,你甚至可以免费使用Google App Engine

    您可以使用PHP编写几乎所有用Python编写的内容。但是我不喜欢PHP,因为很多时候你使用一个特性,你知道你必须配置你的PHP.ini,或者在这个特性遇到很多麻烦之后使用一个模糊的函数

    依我所知,至少在我的经验中,PHP是你习惯的东西。Python是你刚刚爱上的东西:因为它很管用


    我知道最后几段可能是个人观点,但前两个因素不是。在这种情况下,只需选择您认为值得使用的语言。

    我的公司去年签订了构建一个web应用程序的合同,客户指定应该使用Flex来完成。现在,这个应用程序应该是一个web应用程序,但我们有一个独特的机会来尝试一些新的东西

    我们当时完全不知道自己在做什么,但这是一次很好的学习经历。我的建议是在有机会的时候尝试新的东西,犯错误,继续学习

    可能更难