Are Ruby Python a threat to PHP

Web

Conclusion

With all of the techniques mentioned here, very good web applications can be developed today. Much more important than one or the other plus point in comparison is that the language has to fit the company, its employees, its application environment and its development model. If you attach importance to the proper modeling of the business logic, the use of enterprise application servers and the mature integration of legacy applications, you should definitely include Java in the shortlist, if only because of the convincing tools. If the focus is more on GUI presentation and rapid development, the classic scripting techniques such as PHP, Python or Ruby should be considered. Which of the latter is preferred is more a matter of taste and requires individual considerations. (ue / sh)

Java

PHP

python

Ruby

Development effort

0

++

++

++

Expandability

++

+

+

+

Serviceability

+

0

++

++

robustness

+

0

+

0

Execution speed

+

+

0

-

Scalability

++

+

0

0

Monitoring

++

0

0

0

Runtime environment

++

+

+

+

Hosting market

0

++

0

0

Tool support

++

+

0

0

Required know-how

0

++

++

++

Personnel market

+

++

0

0

• Monitoring: There are various tools and procedures for monitoring web applications during runtime. With the Java Management Extensions (JMX), Java offers one of the leading concepts in the industry.

• Robustness: A web application has to answer a large number of queries at the same time. With this task you cannot tolerate that a program gets stuck frequently.

• Scalability: Can a program designed for 1000 users handle 10,000 with manageable changes? If so, the program is scalable, so it can be adapted to growing resource requirements without sacrificing performance.

• Widgets: Widgets are the building blocks of a graphical user interface with which the user can control the program, for example via buttons. They are also often called controls, beans or javabeans.

Anyone who compares techniques for creating web applications has to set priorities. The reason for this is that there is not one tool environment for all areas of application. The bandwidth of web applications ranges from monolithic, quickly clicked and short-lived applications through well-structured, long-lived programs to business-critical applications in which the coupling with legacy systems plays an important role.

One possibility to bring some orientation into a comparison, for example, is to differentiate according to the meaning of the surface area and that of the business logic. There are web applications with very pronounced, complicated business logic, such as web services, that manage completely without an interface. The complete opposite are web applications without a lot of business logic, where the focus is largely on a sophisticated graphical user interface.

The article compares well-known web development techniques based on the criteria of development effort, expandability and flexibility, ease of maintenance, robustness, execution speed, scalability, monitoring, runtime environment, tool support and the required know-how.