bookmark - Poll / Debate: Is Php A Programming Language Or A Scripting Language?

Poll / Debate: Is Php A Programming Language Or A Scripting Language?

 
 Discussion by dserban with 12 Replies.
 Last Update: February 16, 2008, 7:02 am
 
bookmark - Poll / Debate: Is Php A Programming Language Or A Scripting Language?  
    
free web hosting
 
There is an ongoing discussion about the nature of PHP that is taking place in the shoutbox, and I think it should be moved into a topic in its own right.

People seem to be divided into 3 camps.

Some people are saying things like:
"but php is a programming language..."
"it is a full-fledged programming language; it's actually quite similar to c++, and also offers classes, which I consider a powerful feature"

Then again others are saying:
"by official definition I would imagine, I don't like thinking of it as one"
"someone i know is making a php bnc, but in all other cases, Php is scripting to me"

The third group of people chime in with:
"well, sure it's a programming language, but it's still a scripting language. Traditional programming languages allow stand-alone applications, which PHP doesn't yet"

I would like to start this formal discussion with an example of how you can run a PHP piece of code from the command line, outside of the context of a web rendering engine.

When you download and decompress PHP, you end up with a directory that looks like this:
[console]C:\Apache\Apache\php>dir

Directory of C:ApacheApachephp

08/15/2007 11:24 AM <DIR> .
08/15/2007 11:24 AM <DIR> ..
05/23/2006 08:00 AM <DIR> cli
05/23/2006 08:00 AM <DIR> dlls
05/23/2006 08:00 AM <DIR> extensions
02/16/2003 12:02 AM 32,881 install.txt
02/15/2003 11:20 PM 3,276 license.txt
02/15/2003 11:20 PM 36,823 magic.mime
05/23/2006 08:00 AM <DIR> mibs
02/15/2003 11:20 PM 142,387 news.txt
05/23/2006 08:00 AM <DIR> openssl
05/23/2006 08:00 AM <DIR> pdf-related
02/16/2003 12:02 AM 45,056 php.exe
02/15/2003 11:20 PM 3,872 php.gif
02/15/2003 11:20 PM 38,898 php.ini-dist
02/15/2003 11:20 PM 39,502 php.ini-recommended
02/15/2003 11:20 PM 7,952 php4embed.lib
02/15/2003 11:58 PM 1,282,048 php4ts.dll
02/15/2003 11:20 PM 169,956 php4ts.lib
05/23/2006 08:00 AM <DIR> sapi
08/15/2007 11:23 AM 47 standalone.php
07/13/2006 03:58 PM <DIR> uploadtemp
12 File(s) 1,802,698 bytes
10 Dir(s) 278,102,016 bytes free

C:\Apache\Apache\php>[/console]
Please note the existence of the executable php.exe.
I created a little PHP piece of code in a file called standalone.php:
[console]C:\Apache\Apache\php>type standalone.php
<? echo "I am a standalone PHP application." ?>
C:\Apache\Apache\php>[/console]
Let's imagine for a moment that Apache isn't installed on my PC and let's try to execute that PHP piece of code:
[console]C:\Apache\Apache\php>php standalone.php
Content type: text/html
X-Powered-By: PHP/4.3.1

I am a standalone PHP application.
C:\Apache\Apache\php>[/console]
There is a way to suppress the extra fluff at the beginning of the output, by specifying the "-q" (for quiet) flag:
[console]C:\Apache\Apache\php>php -q standalone.php
I am a standalone PHP application.
C:\Apache\Apache\php>[/console]

Edit: I just realized now, after looking over my posting again, that putting stuff inside the console tag interprets the backslash as an escape character, so wherever you see C:ApacheApachephp - it was originally

CODE

C:\Apache\Apache\php

Wed Aug 15, 2007    Reply    New Discussion   


I already knew it had the ability to make standalone software when I said I still don't think of it as a true coding language. The vast majority of people use php solely for scripting and will never create a stand alone php application and in the context that the discussion started I was making a reference to someone who WOULD only be using it for scripting as he had just discovered it and was using it in the backend of his website.

I'm sure others have opinions, but personally I feel it's a mix but still is rarely if ever used for stand alone apps. It shines as script.

Wed Aug 15, 2007    Reply    New Discussion   

I think it is a mix of both, the majority of people use it for web development but you can also create stand alone applications, and remember that with the use of the GTK you can also create graphical applications.

Best regards,

Wed Aug 15, 2007    Reply    New Discussion   

QUOTE (TavoxPeru)

I think it is a mix of both, the majority of people use it for web development but you can also create stand alone applications, and remember that with the use of the GTK you can also create graphical applications.

Best regards,
Link: view Post: 109209


I think its very true!

And it thinks me of installing it right now!

Wed Aug 15, 2007    Reply    New Discussion   


You didn't create a standalone application, you've created a script that is interpreted by another program (php). Thus PHP is a scripting language.
As long as you don't complile prior to running your application, you can say that a language is a scripting language.

Thu Aug 16, 2007    Reply    New Discussion   

Well I think I am going to disagree with your statement. You are narrowing down the criteria too much.

There are two categorizations we are talking about:
1) programming language versus scripting language
2) compiled versus interpreted

In my opinion, those are independent or ... (trying to find a better word to describe it) orthogonal criteria (yes it sounds more like geometry, I know).

You can have:
- compiled programming languages
- interpreted programming languages
- interpreted scripting languages

I'm trying to think of a compiled scripting language, but none comes to mind.

Thu Aug 16, 2007    Reply    New Discussion   

The main difference between a programming language and a scripting language is that the former may be compiled into binary code and executed while the latter needs to be interpreted each time. I guess that makes, PHP a scripting language, no matter how powerful or object oriented it is.

QUOTE

Scripts remain in their original form and are interpreted command-by-command each time they are run.
The name 'script' is derived from the written script of the performing arts, in which dialogue is set down to be interpreted by actors and actresses--the programs.

Source: Wikipedia

Thu Aug 16, 2007    Reply    New Discussion   

QUOTE (wutske)

You didn't create a standalone application, you've created a script that is interpreted by another program (php). Thus PHP is a scripting language.
As long as you don't complile prior to running your application, you can say that a language is a scripting language.
Link: view Post: 109299

Ok, i think it is true in a certain way but i don't completely agree with you because there exists compilers for PHP, the one i remember in this moment is the Roadsend PHP Compiler, this is what it says on its main page:

QUOTE

Roadsend PHP Compiler is a free, open source native compiler for the PHP language. It compiles PHP source code to stand alone, native binaries which do not require an interpreter. Roadsend Compiler can build online web applications with Fast/CGI, offline web applications with an embedded web server (MicroServer), desktop GUI applications with PHP-GTK, and console applications. It is available on Linux, Windows, and FreeBSD.

For more information visit the Roadsend PHP Compiler website.

Best regards,

Fri Aug 17, 2007    Reply    New Discussion   

its a hypertext processor doncha know :blink:

Fri Aug 31, 2007    Reply    New Discussion   

It's a scripting language since it requires an interpreter in order to work. Java is a mix but mainly a programming language because it can be a stand-alone application and an applet.

xboxrulz

Sun Sep 2, 2007    Reply    New Discussion   

I'm going to say PHP itself is a scripting language, however like in the example before me, there are ways to make it become a programming language through applications such as roadsend.

But generally speaking, it comes down to the fact that PHP cannot usually be run without being interpreted. It is read, not compiled.

Tue Sep 11, 2007    Reply    New Discussion   

dserban makes quite a valid point. Prolog, for example, springs to my mind. It is in fact a full featured logic based programming language but it is fully interpreted if I'm not mistaken. I know all the work I've done with it I used it as a live interpreter and never even came across a way to make a pre-compiled application type scenario.

I still say php is barely a programming language though haha, people use it for scripting 99% of the time so to me it'll always be a scripting language that has the ability to be used for more :blink:

Thu Aug 16, 2007    Reply    New Discussion   

I say both. Scripting is also a programming language.

Sat Feb 16, 2008    Reply    New Discussion   

Quickly Post to Poll / Debate: Is Php A Programming Language Or A Scripting Language?  w/o signup Share Info about Poll / Debate: Is Php A Programming Language Or A Scripting Language?  using Facebook, Twitter etc. email your friend about Poll / Debate: Is Php A Programming Language Or A Scripting Language? Print
Reply / Comment Ask a Question? Share / Bookmark E-Mail a Friend Print

Php 101: Php For The Absolute Beginner   Php 101: Php For The Absolute Beginner (2) (7) Does Php Have This? IP Address  Does Php Have This? IP Address