Struts vs Zend? Java vs PHP?

时间:2010-02-05 12:17:18

标签: java php

我知道这是一个热门的问题,需要得到^^ 从我的观点来看,使用Java与PHP,现在是系统资源(硬件,软件等)的问题。

对于Java,您必须在服务器上部署J2EE Stack(JDK,AppServer等)(~200M),对于PHP,您需要部署LAMP系统(~100M)。 在我看来,由于Web应用程序中的面向对象编程,使用Java,但今天我们有很多面向对象的Web语言(Ruby,Python,PHP)。

那么何时为新项目选择Java或PHP?也许是社区的差异?

我知道stackoverflow不是为了讨论而做的,但它是一个(好的)问题需要答案(对我和其他人而言)^^。

8 个答案:

答案 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(适用于RubyPythonJavascript ...)。

答案 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为后端服务提供了什么????????