AndiGutmans, one of the major PHP language developers and one of the founders of Zend, recently bluntly criticized the Java language in the blog. He pointed out that the current Java vendor's attempt to provide dynamic language implementation on JVM is totally wrong. Java has lost the Web development language war, and PHP is the de facto standard and winner. Gutmans's
One of the major PHP language developers and one of the founders of Zend, Andi Gutmans, recently bluntly criticized the Java language in the blog. He pointed out that the current Java vendor's attempt to provide dynamic language implementation on JVM is totally wrong. Java has lost the Web development language war, and PHP is the de facto standard and winner. Gutmans's
One of the major PHP language developers and one of the founders of Zend, Andi Gutmans, recently bluntly criticized the Java language in the blog. He pointed out that the current Java vendor's attempt to provide dynamic language implementation on JVM is totally wrong. Java has lost the Web development language war, and PHP is the de facto standard and winner.
Gutmans's article has aroused strong controversy in the technical field and has different opinions on it. Here I will explain my views on PHP and Java.
I used to compare the similarities and differences between PHP and Java in Perl, PHP, ASP, and JSP. In short, PHP is a script language for interpretation and execution, similar to the C language, the syntax is easy to learn and use. non-professionals who do not know the computer can also use PHP after learning. java needs to be compiled into a Class file and then executed on the Java Virtual Machine. Java development requires familiarity with Java syntax and some core architectures to implement a reusable and cross-platform software, java is much harder to learn than PHP.
In fact, Java has obvious advantages over PHP in terms of technical architecture. Java uses an object-oriented system design method, while PHP uses a process-oriented development method. PHP can only implement a simple distributed two-or three-tier architecture, while JAVA can implement multi-tier architecture. The database layer (persistence layer), application (business) logic layer, and representation logic layer are separated from each other, and now different layers have supported some mature development frameworks. For example, Struts uses Java web development technology to implement the MVC design pattern. In the business logic layer, there are also Spring frameworks, and the database persistence layer has Hibernate and other frameworks. These frameworks allow developers to efficiently, reasonably, and scientifically construct multi-layer commercial applications. In terms of mathematical operations and database access speed, Java has better performance than PHP. in fact, Java has almost become the only choice for large cross-platform enterprise application systems (Microsoft. NET does not support cross-platform), but Java is facing the danger of being marginalized by PHP in terms of Web site application development. Almost all virtual hosts support PHP + MySQL, there are few Java-supported websites. There are countless PHP resources on the Internet, and many famous large websites (such as Facebook and Mediawiki) are based on PHP, there are few successful Java websites. Why?
The concept of Java is "writing once and running everywhere". The architecture of Java under the application framework is unparalleled, far better than any other language. The Java framework facilitates large-scale collaborative programming development, the system is easy to maintain and reusable. PHP is easy to learn by yourself, so that the hot standby can quickly and concisely write code, suitable for rapid development, small and medium application systems, low development costs. PHP is also simpler than Java in debugging and publishing.
Different ideas lead to different results in Web application development in Java and PHP. Although Java's mathematical computing and database access have advantages, the architecture is also quite perfect, however, PHP can easily support high-intensity Web access, quickly develop applications, and support PHP virtual hosts, making it much faster to develop a website using PHP than to develop a website using Java, it is much easier. The advantages of Java are only applicable to the traditional software project-centric development model, while PHP is more suitable for the customer-centric SaaS development model. Therefore, at present, PHP's advantages in Web website development are entirely caused by the particularity of Web website development, which is not determined by the programming language features.
Therefore, PHP has slowly moved Java behind the Web website development language war. If Java wants to catch up with each other in Web website development, it is indeed necessary to listen to Andi Gutmans's opinions, change your mind completely; otherwise, the gap between the two will be farther and farther away.
In addition, although the LAMP (Linux + Apache + Mysql + Php) architecture has dominated the world, there is also a freak in China, it is based on Microsoft's Windows Server + IIS + SqlServer + ASP/ASP. NET architecture, theoretically speaking, Microsoft's architecture can also achieve good performance, but it is a pity that Windows and SqlServer are expensive, and the overall architecture has no performance advantage over LAMP, on the contrary, there are still many disadvantages. Therefore, this set of Microsoft cannot be opened in the international market. Microsoft piracy in China can ignore the cost, while ASP is easier to learn and use than PHP, and even IT practitioners can use IT. Therefore, there is a large market in China. However, with China's increasingly sophisticated protection of intellectual property rights, free LAMP remains the future trend.