Is PHP a scripting language or a high-level language?

I tend to get a few questions from people on whether PHP is a scripting language or a proper high level language.

The term High Level Language refers to the higher level of abstraction from machine language. Rather than dealing with registers, memory addresses and call stacks, high-level languages deal with variables, arrays and complex arithmetic or boolean expressions.

In addition, they have no opcodes that can directly compile the language into machine code, unlike low-level languages like Assembly language. Other features such as string handling routines, object-oriented language features and file input/output may also be present. In general, high-level languages make complex programming simpler, while low-level languages tend to produce more efficient code. In a high-level language, complex elements can be broken up into simpler, though still fairly complex, elements for which the language provides abstractions, keeping programmers from having to “reinvent the wheel”. Therefore, PHP is a high level language and it is completely unrelated to whether or not you use it to develop desktop applications.

PHP is a language that is used primary for web development but this does not mean that this is the only use that it can have. You can develop PHP programs that run on a console and also desktop applications with a complete GUI. For more information, check out the official site and this tutorial for a quick introduction. So, you are in the wrong, believing that it is simply a web language.

Finally, you can create web applications using PHP. You may want to have a serious look into the language and especially with the release of PHP5, sky is the limit. Remember that in any computer lanuage you can possibly do more than you think that you can.