Ashiqur Rahman, Software Technology Lab, Queen's University, Kingston, Canada
Evolution of a programming language is necessary to keep the language useful. Deprecation, removal and feature enhancement are some essential parts of evolution. However, selecting features for evolution is not an easy task. Feature analysis is an approach that can help in this process. It finds usage frequency of different language features in existing source files. In this project, we attempt to analyse the features of PHP, a general purpose web scripting language. PHP is very rich in features, but all are not equally useful, some features have alternative forms, and some are problematic. Therefore, programmers try to avoid unnecessary, confusing and problematic features in their programs. We analyse features of seven different categories. Our analysis finds usage frequency of various features, and shows differences exist in the usage of alternative forms of features, magic methods, magic constants, and functions. Attention of language engineers on those can help to improve the language in its future version.
The report on PHP language feature analysis can be downloaded from PHP Language Feature Analysis.