Welcome Guest ( Log In | Register )



2 Pages V   1 2 >  
Reply to this topicStart new topic
> Poll / Debate: Is Php A Programming Language Or A Scripting Language?
Is PHP a programming language or a scripting language?
Is PHP a programming language or a scripting language?
It's a programming language [ 1 ] ** [9.09%]
It's a scripting language [ 3 ] ** [27.27%]
It's a mix of both [ 7 ] ** [63.64%]
Total Votes: 11
Guests cannot vote 
dserban
post Aug 15 2007, 08:30 AM
Post #1


Premium Member
Group Icon

Group: [HOSTED]
Posts: 286
Joined: 17-June 07
Member No.: 22,702



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>

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>

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>

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>


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


This post has been edited by pyost: Aug 15 2007, 10:33 AM
Go to the top of the page
 
+Quote Post
Jeigh
post Aug 15 2007, 10:15 AM
Post #2


Whitest Black Mage
Group Icon

Group: [MODERATOR]
Posts: 1,352
Joined: 20-May 05
From: NB, Canada
Member No.: 5,281



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.
Go to the top of the page
 
+Quote Post
TavoxPeru
post Aug 15 2007, 10:26 AM
Post #3


Super Member
Group Icon

Group: [HOSTED]
Posts: 763
Joined: 8-April 06
From: Lima - Peru
Member No.: 12,579



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,
Go to the top of the page
 
+Quote Post
Ronel
post Aug 15 2007, 10:28 AM
Post #4


Member - Active Contributor
Group Icon

Group: Members
Posts: 76
Joined: 6-August 07
From: Philippines
Member No.: 23,872



QUOTE(TavoxPeru @ Aug 15 2007, 06:26 PM) *
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,


I think its very true!

And it thinks me of installing it right now!
Go to the top of the page
 
+Quote Post
wutske
post Aug 16 2007, 11:38 AM
Post #5


Way Out Of Control - You need a life :)
Group Icon

Group: [HOSTED]
Posts: 1,048
Joined: 2-August 05
From: Kapellen (Antwerp, Belgium)
Member No.: 7,585



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.
Go to the top of the page
 
+Quote Post
dserban
post Aug 16 2007, 11:53 AM
Post #6


Premium Member
Group Icon

Group: [HOSTED]
Posts: 286
Joined: 17-June 07
Member No.: 22,702



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.
Go to the top of the page
 
+Quote Post
Jeigh
post Aug 16 2007, 01:03 PM
Post #7


Whitest Black Mage
Group Icon

Group: [MODERATOR]
Posts: 1,352
Joined: 20-May 05
From: NB, Canada
Member No.: 5,281



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 tongue.gif
Go to the top of the page
 
+Quote Post
turbopowerdmaxst...
post Aug 16 2007, 01:48 PM
Post #8


Premium Member
Group Icon

Group: [HOSTED]
Posts: 392
Joined: 16-February 06
From: Kolkata, India
Member No.: 11,322



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

Go to the top of the page
 
+Quote Post
TavoxPeru
post Aug 17 2007, 05:42 PM
Post #9


Super Member
Group Icon

Group: [HOSTED]
Posts: 763
Joined: 8-April 06
From: Lima - Peru
Member No.: 12,579



QUOTE(wutske @ Aug 16 2007, 06:38 AM) *
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.

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,

Go to the top of the page
 
+Quote Post
sublimino
post Aug 31 2007, 07:59 PM
Post #10


Newbie [ Level 1 ]
Group Icon

Group: Members
Posts: 9
Joined: 31-August 07
Member No.: 24,503



its a hypertext processor doncha know smile.gif
Go to the top of the page
 
+Quote Post

2 Pages V   1 2 >
Reply to this topicStart new topic

Collapse

> Similar Topics

Topics Topics
  1. Where Do I Find Some Free Php Scripts For Quiz / Poll?(3)
  2. Your Favorite Php Framework?(0)
  3. Php Script Help(1)


 



- Lo-Fi Version Time is now: 11th October 2008 - 03:05 PM