Gutmans, godfather of the PHP language, shot Java: the battle for Web has been lost

Source: Internet
Author: User
Thanks to CharlesLiu for posting news source: AndiGutmans, one of the major language developers after CSDNPHP3, 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 the JVM is not at all correct and should fully embrace the Standard Dynamic Language. By

Thanks to Charles Liu for posting news source: one of the major language developers after csdn php 3, Andi Gutmans, one of the founders of Zend, recently bluntly criticized the Java language in his blog. He pointed out that the current Java vendor's attempt to provide dynamic language implementation on the JVM is not at all correct and should fully embrace the Standard Dynamic Language. By

Thanks to Charles Liu for delivery
News source: CSDN
Major issues after PHP 3LanguageOne Developer, Andi Gutmans, one of the founders of Zend, recently bluntly criticized JavaLanguage. He pointed out that currently Java vendors are trying to provide dynamicLanguageThere is no way to achieve it. We should fully embrace the standard dynamics.Language.

Due to the special position of Gutmans, his long articleAlreadyIt has aroused strong controversy in the technical field. For more information, see Topic 1 and 2 on the TSS.

The following is a compilation version of the full text, which basically reflects the original appearance. The comparison between multi-threaded (JVM) and multi-process (LAMP) in multi-core environments is as follows:LanguageEcosystem and Open SourceLanguageAnd Java vendorsLanguageCompared with technology, it seems very valuable.

Major issues after PHP 3LanguageOne Developer, Andi Gutmans, one of the founders of Zend, recently bluntly criticized JavaLanguage. He pointed out that currently Java vendors are trying to provide dynamicLanguageThere is no way to achieve it. We should fully embrace the standard dynamics.Language.

Due to the special position of Gutmans, his long articleAlreadyIt has aroused strong controversy in the technical field. For more information, see Topic 1 and 2 on the TSS.

The following is a compilation version of the full text, which basically reflects the original appearance. The comparison between multi-threaded (JVM) and multi-process (LAMP) in multi-core environments is as follows:LanguageEcosystem and Open SourceLanguageAnd Java vendorsLanguageCompared with technology, it seems very valuable.

For translation questions, please advise.

--------------------------------------------------------------------------------

Gutmans recalled a large enterprise-level project that he participated in several years ago Based on IBM Websphere. Both developers and architects in the project team are outstanding, but the best of them talked to Andi about PHP and dynamicLanguageStill regard it as a toy.Language. At that time, it was the dynamicLanguageTypical mentality. However, they ignore the Web, so Java EE is not designed to be Web-centric and focuses on enterprise integration, transaction management, and other backend processing. Although Java EE supports Web development through servlet and JSP, the large companies that master standard development ignore the RESTful nature of Web, still moving towards the general platform.

At the same timeLanguageThe LAMP architecture above the library and tool ecosystem has become the most popular development platform for Web applications. The most commonLanguageIt is PHP. Because PHP focuses on Web development and continues to evolve, it is simply tailored to the Web Model (paradigm) and can quickly and easily solve common Web problems, therefore, the largest market share was obtained. According to a survey by Ajaxian.com, about 50% of RIA developers use PHP. Due to the popularity of various PHP programs such as Wordpress, Drupal, mediaWiki, osCommerce, and SugarCRM, this trend is even more obvious.

As most business applications, such as CRM, ERP, reporting, and document management, are turning to the Web, the large Java vendors are aware that, java has little influence on the formation and development of the Web model. Therefore, they began to support various standard and non-standard Java Web frameworks (JSF, Struts, Spring MVC, etc.) to adapt Java to the Web. Although some of these frameworks have achieved some success, they cannot solve the main problem of Java on the Web: due to strict typing and architecture complexity, development time and developer skill requirements are higher, that is, the total cost is not satisfactory.

In addition, big Java vendors want to take up everything. On the one hand, they want to integrate into the Web, and on the other hand they refuse to give up on themselves.AlreadyBillions of transactions built on Java. Even dynamicLanguageThe widespread popularity of does not significantly change their behavior patterns. However, as Microsoft is more ambitiousLanguageThe emergence of the runtime environment. NET has changed.

Success statusLanguagePHP, Perl, Python, and Ruby are both written in C and fully utilize C.LanguageExtensive and in-depth database ecosystem. And they are all community-driven, and there is nothing positive about them.LanguageRegulation and development will not be blocked by the company's politics. TheseLanguageAll are developed by users themselves. They have only one purpose: to quickly get the job done. ThereforeLanguageImportant improvements may be added when the minor version is updated. This agile nature is necessary to adapt to the rapid changes of Web applications.

In addition, the LAMP deployment method has significant advantages. In a multi-process architecture, Web servers and dynamicLanguageFaults in Software generally do not cause the website to collapse. Although a process crashes, other Web-requested processes can continue to run. This is in stark contrast to software failures, including crashes and deadlocks, in a multi-threaded environment such as JVM. In addition, the ability to recycle processes after a specific time can prevent memory leakage and memory fragmentation. These two common memory problems make the software performance lower over time. When software is updated on LAMP, it can be easily and incrementally pushed to the server without lengthy build and packaging. Although sometimes this may cause non-standard and non-strict problems, developers and operators will have a much better time to do so as long as they are correctly implemented.

In contrast, Java vendors are stuck in binding too tightly to a variety of JavaLanguageSupports a small number of JVMs. They did not turn to the loose coupling model of LAMP and Java technology that could give their customers the best of both worlds. Instead, they suffered losses, fearing that they would lose control of the customers and competing to provide dynamic information on the JVM.Language. Both Microsoft and competitors in Java are implementing their own dynamic language strategy.

Sun is currently investing in JRuby and Jython support for its Java EE solution. IBM Websphere has recognized that the Java EE platform is ineffective in running modern Web applications and has invested heavily in Project Zero, this project aims to enable IBM to have a place in the Web 2.0 world. Currently, it supports Groovy and PHP. BEA also has some incubator projects, but after Oracle's merger, the results of these projects are unknown. The Project Zero chief architect is the first IBM company to publicly acknowledge that Java can now be considered as a systemLanguageIt is not suitable for one of the few people who build RESTful Web applications. Building a RESTful Web application is the goal of Project Zero. It took more than 10 years for Java bastion hosts to acknowledge that Java's poor return on Web investment. The current trend will allow more customers to make more informed choices. DynamicLanguageIt will be greatly improved. Same as the mainframe, JavaAlreadyYe Mao in enterprise IT and key business applications will not disappear soon. However, in Web applications, JavaLanguageIt is likely that the market share will drop sharply.

The problem is that non-Microsoft Web market will adopt DynamicLanguageJVM implementation, or to accommodate theseLanguageThe LAMP architecture implemented by the de facto standard. Although I think customers will be attracted by the former, the mainstream market will choose LAMP. The reason is:

1. The standard implementation is updated quickly, while the JVM version is always lagging behind, resulting in compatibility issues. This is similar to the problem that Mono cannot keep up with. NET.

2. The JVM was not initially designed to support dynamicLanguageTherefore, in the visible future, it is very challenging to meet actual needs. Dynamic features such as closures, indirect method calls, and type juggling are not easy to solve, as can be seen from the comparison between JRuby and Ruby C. In addition, whether the hardware manufacturers are interested in keeping up with us remains to be observed. Open-source technology does not have this problem.

3. the scalability of modern Web requires more and more processing strength on the Web layer. The C-based architecture is more likely to have the most effective interoperability with the underlying operating system (originally primitives), providing an architecture with high efficiency and low memory usage to meet this requirement. High-performance Web servers such as lighttpd, Zeus, IIS 7, high-performance cache systems such as memcached used by the largest websites such as Facebook, and other performance-critical subsystems such as memory management are examples.

4. multi-core systems are very suitable for the multi-process mode of LAMP architecture. As the chip industry now focuses on multi-core rather than hyper-Threading Technology, the advantages of a multi-threaded environment such as JVM cannot be fully utilized in today's hardware. The multi-process approach provides more stability and reliability.

5. Thanks to LAMP's simplicity, it has a very low entry threshold for developers and provides great scalability, including large-scale product systems such as Yahoo and Facebook.

All in all, it becomes increasingly clear that dynamicLanguageIt will gradually become the standard for Web development. Microsoft and Java vendors are aware of this trend and are now investing heavily in their respective software platforms to provide solutions. HoweverLanguageThe Community is developed beyond the. net clr and Java JVM software platforms.LanguageCopying data to their own platforms will lead the way, and they will be in a difficult situation. Some vendorsAlreadyAware of this situation, we adopt some mixed strategies to provide dynamicLanguageAlthough it has not been fully integrated with its solution. Microsoft's investment in PHP is the same. Sun also began to provide native Ruby and PHP implementations for customers. I believe thatLanguageThe olive branch may attract some Java customers, but it cannot keep up with the native development trends of open-source communities.LanguageThe pace of implementation. JVM DynamicsLanguageImplementation is not enough for Java vendors to keep pace with the times. They need to fully embrace the community-driven dynamics of native fact standards.Language.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.