我知道这是一个热门的问题,需要得到^^ 从我的观点来看,使用Java与PHP,现在是系统资源(硬件,软件等)的问题。
对于Java,您必须在服务器上部署J2EE Stack(JDK,AppServer等)(~200M),对于PHP,您需要部署LAMP系统(~100M)。 在我看来,由于Web应用程序中的面向对象编程,使用Java,但今天我们有很多面向对象的Web语言(Ruby,Python,PHP)。
那么何时为新项目选择Java或PHP?也许是社区的差异?
我知道stackoverflow不是为了讨论而做的,但它是一个(好的)问题需要答案(对我和其他人而言)^^。
答案 0 :(得分:14)
你们在谈论什么......
好吧JAVA有一些优点,但它也有一些缺点。现在使用PHP它完全相同,它有一些优点,但它也有一些缺点。
那些说PHP没有良好的OO环境的人,也是javascript!这真的是所有Web 2.0项目的核心; JavaScript的。今天的后端正变得越来越成为前端的资源。你现在可以在PHP 5.3中做些什么 - 在某种程度上你可以在PHP 5.3中做。如果你是一个优秀的开发人员,你将足够聪明地抽象你的设计,使其可维护,如果你很聪明,你可以匹配,甚至改善PHP中的对象共享,大多数网络“设计师”不知道 - 或敢我说,理解。请O'Reilly ON JAVA!查看此文章。
我用Java和PHP开发。我总是将PHP用于我的服务器端,我将使用Java进行Android开发和桌面开发。 (顺便说一句,我在java中为后端开发开发了,但是在JAVA中做一些事情需要两倍的时间才能在PHP中完成。这就是为什么我坚持使用PHP。
我一直听到PHP的spagetti代码问题。是啊。也许5年前!如果你的项目结束就像这样,那么这个人,或者你,是一个可怜的程序员,你应该坚持画漂亮的图片。将逻辑与表示分开很容易,将业务逻辑与数据层分离也很简单。在编码之前先想想。不要只打开记事本并开始输入。计划!没有计划,计划失败的人! Jacco,你有钱!
我认为大学学生一直在构建代码,我认为,“最终会以这个人结束的人会后悔的”。如果学生只是计划并记录了他将要做的事情,那么每件事情都会被组织起来并准备好进行扩展 - 如果他足够好的话。
这两种技术都很棒,您应该使用对您或您的开发人员来说更舒适的技术。如果你走的路上你认为一个比另一个好,你对这项技术一无所知,那么猜猜是什么?无论你做什么,你的项目结果都会被遗漏,你最终还是要再做一次。
答案 1 :(得分:7)
通常会考虑其他限制因素。像
这样的事情仅举几例。
如果将它们与上述相比较,硬件和软件便宜,因此它们往往不那么重要。
答案 2 :(得分:2)
我对J2EE和PHP进行了非科学的性能比较。比较是在各种负载条件下查看每个系统的用户体验。
我发现PHP的响应时间非常慢,CPU的速度非常快。我知道有一些编译器可能会有所帮助,但我想对快速开发系统的性能进行开箱即用的比较。
您可以在此处阅读完整的详细信息:PHP vs J2EE: a Practical Approach
答案 3 :(得分:1)
这取决于你在做什么。在不分析项目要求的情况下选择语言/框架是一个坏主意。
答案 4 :(得分:1)
选择一种语言取决于你想做什么,但我非常确定不同的硬盘空间要求将是你决定中最不重要的方面。
这是一个可能的提示:如果要在桌面应用程序中重用您的工作(或部分工作),请使用Java。除了网络编程之外,PHP几乎不存在。
答案 5 :(得分:0)
我真的不认为这是一个可以客观地回答的问题。最后,它是关于人和他们感到更舒服的。这就是为什么Facebook开发了一个PHP to C++ compiler(Java的性能优势也可能变得更小),而不仅仅是聘请C ++开发人员来完成这项工作。
另一方面,Java平台提供了一些有趣的新方法,如Grails (基本上是围绕Spring的Groovy Wrapper)和Lift。这使得前端开发变得更快更容易(我仍然发现这对普通Java来说真的很痛苦)并且您可以将其他语言带来的好处与您现有的Java代码库和专业知识结合起来(顺便说一句。大多数提到的框架不需要一个J2EE运行时环境,一个简单的Tomcat安装,大约有5M,安装的JRE就足够了)。所以它不仅仅是Java编程语言了。
如果您真的无法做出决定,只需运行PHP in Java(适用于Ruby,Python,Javascript ...)。
答案 6 :(得分:0)
我并不真正同意语言的选择与系统资源有关。
硬件价格便宜,而且我们还没有像以前那样密切关注系统资源。不要误解我:我们仍然需要注意,但人们正在考虑节省一些空间的时间已经结束了(幸运)。
如果您的主要关注点是性能,那么运行JVM或解释语言可能不是最佳选择。
我认为这与语言本身的方向无关。好的,我知道,PHP is not object oriented但是,您现在可以使用它编写OO代码。你会发现几乎任何语言的血统网页框架。
我同意他的名单上的Jacco。
另一个方面确实是语言所指的文化。
PHP适用于脚本小子。 Java是严肃的,穿西装的商业开发人员。当然,我们都有许多反例,但仍然如此。 Java主要由大公司采用,现在由.Net竞争。这有很好的理由,其中很多很多更容易在PHP中编写糟糕的代码而不是Java(以及几乎任何其他语言)。另一方面,Java并不完全是面向自由的。
如果你的项目是严格个人的,你可以选择更适合自己口味的东西。如果您打算以团队形式发展,那么语言的选择将影响其总体情绪/思维方式。
我最后会向我添加一些重要的参数:有趣和优雅
这可能是一个品味问题,但我在python中编码比在C#编写更有趣。
答案 7 :(得分:0)
PHP在Web开发中赢得了前端。因为它具有更小的开发时间,使得物品更便宜和更便宜。 PHP将在移动应用开发中失败。没有办法用PHP开发移动应用程序前端。而且由于它与java和其他静态语言的性能差距,PHP将失去后端的战斗。 Java很老,但它有一个非常年轻和专业的社区。查看这些名称:lucene,weka,hadoop,scala,cassandra,hbase,php为后端服务提供了什么????????