Why Developers Love and Hate PHP_PHP Tutorial
Why developers love and hate PHP
The respected server-side scripting language PHP is best known for its use in web development. First released by Rasmus Lerdorf in 1995, it has been influenced by WordPress and Facebook. According to W3Techs, the server-side programming language of 82% of websites is PHP. The language lags slightly behind Java in the ranking of programming language popularity, falling to sixth place in the competitor Tiobe rankings. As a high-performance upgraded version, PHP 7 is expected to be released in 2015.
However, like any language, it has its supporters and detractors. Here's why supporters support PHP and dissenters denounce it.
Good: popular, quick to get started
“PHP is currently the most popular web development language,” said Andi Gutmans, CEO of PHP tool provider Zend Technologies. Josh Lockhart, a developer at New Media Campings and a writer, emphasized PHP's small learning curve, ease of deployment, and rapid development iterations. Lockhart said, "PHP is one of the most accessible web development languages, and it is installed on most servers (including most shared hosts). It is relatively easy to learn because of excellent online documentation and up-to-date online resources."
Good: easy to find a job
"PHP helps you make money and get a job on the server side," Gutmans said. A quick search of the Dice.com technology jobs site last week turned up 3,366 PHP-related jobs. It's tame compared to the 17,418 Java jobs, just behind Perl (4,300) and Python 5,429), but higher than Ruby (2,973) and even Objective-C (985). Lockhart regards PHP as one of the most frequently used languages, although it is somewhat conservative compared with languages such as Ruby, Python, Go and Rust.
Okay: continue to develop
The language boasts modern features like closures and namespaces, as well as performance and modern frameworks. As Gutmans points out, "Some people who want to leave don't have the necessary education on what PHP has to offer." Lockhart said developers are realizing that PHP has powerful modern features and a suitable object-oriented programming model. The upcoming version 7 provides huge performance improvements on applications. Lockhart pointed out that Facebook’s enhancements to PHP include the HHVM virtual machine and Hack language Note 2].
Bad: Complaints about design, lack of focus
Blogger Eevee said in his 2012 open letter against the language "PHP: Irregular Bad Design", "In fact, every feature in PHP is more or less irregular." Eevee not only gives bad reviews to the language, but also to the framework and ecosystem. According to the blogger, the language is not predictable and consistent, but full of surprises and inconsistencies. Among critics, PHP has been called opaque, had no default stack trace, suffered from complex, poorly functioning types, and had "no clear design philosophy." Early PHP was inspired by Perl; with 'out' The huge stdlib of parameters comes from C; the object-oriented part imitates C++ and Java design. ”
Lockhart admitted that Eevee’s anti-PHP remarks were “exaggerated.” Despite being a PHP supporter, Lockhart was gracious enough to list the criticism when asked:
- The language is inconsistent, especially function names and argument order. "This is easily fixed, so it's not a big issue."
- PHP still has a lot of legacy baggage, like global variables, magic references, etc. "These bad practices are slowly being pruned from the language, but until they disappear, they will encourage ignorant developers to persist in bad practices."
- PHP is not as focused as other languages, which Lockhart attributes to "committee-driven, long-term piecemealism."
- Note 1: Zend Technologies is an Internet infrastructure software company. Zend Technologies is best known for its two founders: Andi Gutmans and Zeev Suraski, who, together with other Israeli programmers, developed the PHP language pioneered by Rasmus Lerdorf. http://zh.wikipedia.org/wiki/Zend_Technologies
- Note 2: Hack, an open source scripting language, runs on the HHVM virtual machine. The main developer is Facebook. Officially released on March 20, 2014. Before launch, Facebook had been using and testing it extensively on its website. http://zh.wikipedia.org/wiki/Hack_(%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80)


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

AI Hentai Generator
Generate AI Hentai for free.

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

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

In this chapter, we are going to learn the following topics related to routing ?

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Validator can be created by adding the following two lines in the controller.
