Why are PHPers despised by Javaers?
I recently read a topic on Zhihu
"Why do Java programmers often look down on PHP programmers at work?"
I have been working in the industry for many years and have used back-end languages ASP, ASP.NET, Java, PHP, Node.js, and Python. If you insist on asking me Which language is good for me? I would say, "Everything that Brother Hong says is right, and everything that Brother Hong advocates must be adhered to. Only by truly understanding Brother Hong's thoughts can we penetrate everything and get out of the void." Don't talk casually. Let's first talk about my views on Java.
Java is like a heavy weapon in my opinion, and the types of weapons are as rich as the arsenal shown by the old agent to the new agent in Kingsman. As far as open source projects on Github are concerned, there is much more.
So what’s the explanation behind it? Let us raise a few questions.
Why is Java so heavy-duty? Why is Java open-minded?
In fact, Java existed as a solution for large servers at the beginning, so it faced relatively heavy enterprise-level needs (typical bank projects, real estate projects). Compare Taobao and ECShop, although the lowest level needs They are all mall-type websites, but the demand for the latter is obviously much thinner. Then it can also be said that Java solves more problems in disguise, and naturally it can be said that Java's thinking is broadened.
Java My intuitive feeling in team collaboration is libraries and standards. Java has countless real-life standard libraries and standards. And a problem that many people don't think is critical is that Java has a good IDE. When writing a program on Eclipse, errors will pop up in time. Most errors will be reported when basic compilation cannot be run. In the early years, the learning of PHP was basically only Notepad, DW and other tools, and PHP in the early years also did not support complex OO features, so Java was slightly better in terms of engineering quality.
At this point you have to say that was in the early years. Now PHP supports many OO features. PHP is the best language in the world and there is no one. However, from a human perspective, most veterans who have been in the industry for a long time are still stuck. In the early years of PHP, the level of the team and newcomers could not be improved as a whole (the experts and geniuses were in the minority after all). So far, I have never seen anyone insist on promoting any standards or frameworks in the PHP circle (the Java circle is basically shouting every day, and if you catch up with the rise of JavaEye, you can feel it more clearly), everyone is With the all-purpose "scaffolding" in use, everyone is looking for CMS-type programs that can quickly realize their needs.
So PHP is useless? Of course not. If you have used SSH to develop and look at the implementation mechanism of ThinkPHP, you will feel that as long as it is a WEB framework, the problems to be solved are always limited. In the early years, ThinkPHP's controllers were named with the Action suffix. Even the author bluntly said that they borrowed from Struts. The variable attribute output in the template can be represented by .
. The .
characters in PHP are actually string connectors. To represent attributes, it is ->
(Many PHP primitives are C-like).
So can we use ThinkPHP to quickly solve development problems? Of course not.
Although ThinkPHP provides strong DEBUG output and G method to calculate the output operation time for performance debugging, this is still not enough. Just imagine how many external interfaces we have to call every day (SMS sending, WeChat integration, map class and other APIs) output), when the number of users increases sharply, and multiple MySQLs need to be connected to load (ThinkPHP has soft load support), how to output all errors and performance problems with one click? You heard it right, it’s just one click, and whether it’s a test or production environment, whether traveling or in the office, you can pick up your phone to diagnose everything at any time (I dare to say this only after I actually searched for this kind of platform on Baidu) .
If you always pay attention to IT communities such as Open Source China, you must know that there are many such platforms, but the first problem you encounter after installing many products is that they are not free, and even the most basic testing is not free. Only the most basic functions. Is there any free one available? There is no need to apply, because you can choose to use the SaaS product provided by OneAPM. Currently, projects that use Java as a business processing back-end language can already perform performance diagnosis together with PHP and other display-side languages.
We can also compare and analyze foreign products. First of all, OneAPM is very automated during the installation process. Moreover, during the access process, technical support will also conduct one-click remote troubleshooting of the environment, and the environment can be diagnosed quickly. problems in.
The following is an introduction to how to use OneAPM to diagnose various problems in the code online
- 1. Comprehensive performance
- 2. Slow log
- 3. Code-level positioning
- 4. Multi-day comparison of database transactions
- 5. Free alarms are also provided (can support WeChat) Oh)
- 6. Migration to Alibaba Cloud is also supported
For more information, see the official DEMO:
https://user.oneapm.com/account/demo.do
Well, it’s all free, and there’s a paid version if your team is already in the product stable phase.
Now that quick performance analysis has been solved, can we sit back and relax? By the way, the problem has just begun. To untie the bell, you have to tie it. Let’s see how to face the pit we dug. Of course, I will introduce some good weapons first.
- chrome
- plug-in xdebug
- php Use eclipse to install xdebug
Why use Eclipse? By the way, if you don’t want to be looked down upon, you must be a full stack, and you also have to write Java, right?
Open the browser and click green on the bug to start the bug catching journey.
Do you still care about being despised by other languages at this time? If so, you must not have read the beginning of this article carefully. In addition, I look forward to participating in the geek community with everyone next time and sharing more geek programming experiences! ! !
OneAPM is an emerging leader in the field of application performance management, helping business users and developers easily achieve: real-time capture of slow program codes and SQL statements. To read more technical articles, please visit the OneAPM official blog.
The above introduces why PHPer is despised by Javaers? , including relevant content, I hope it will be helpful to friends who are interested in PHP tutorials.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

ThinkPHP6 routing parameters are processed in Chinese and complete acquisition. In the ThinkPHP6 framework, URL parameters containing special characters (such as Chinese and punctuation marks) are often processed...

In PHP8, match expressions are a new control structure that returns different results based on the value of the expression. 1) It is similar to a switch statement, but returns a value instead of an execution statement block. 2) The match expression is strictly compared (===), which improves security. 3) It avoids possible break omissions in switch statements and enhances the simplicity and readability of the code.
