What are PHP, ASP and Java?
Having read the previous posts, you'd be forgiven for thinking that the world wide web is just a collection of interlinking documents.
That's how it started, of course, but now we have much more than that.
What links the static documents stage to a more interesting world wide web, where people can send and receive information, buy products, and generally interact with the web pages they visit, is software especially developed for building web pages.
There are three main contenders in this area:
- PHP (An open source system which stands, confusingly, for PHP Hypertext Preprocessor)
- ASP (Microsoft's 'Active Server Pages', which support various languages, including C# and Visual Basic)
- Server-side Java (another open source system originally developed by Sun)
I'm calling them "systems" rather than "languages" because getting them working is a bit more complicated than writing software and sticking it in a compiler... but that's too much jargon already, please bear with me...
My aim in this article is to explain what these systems do that HTML doesn't, so rather than delve into the individual languages, I'll write some pseudo-code (pretend software code) to explain.
Say, for example, that you wanted the user to tell you their name. In HTML you can ask for their name - the code would look something like this:
<form> What's your name? <input type="text" name="namebox"> ... </form>
But HTML has no way of capturing the name once the user has typed it in, so we need a programming language so do something like this:
User_name = Get_the_user_input("namebox")
Print "Hello " + User_name
User_name is what's called a variable, in other words a placeholder for a value that can be changed at any time.
Get_the_user_input is pseudocode (pretend software code) for however you would retrieve some user input in your language of choice.
Of course, PHP, ASP and Java can do a lot more that retrieve input. They can store information, manipulate information, and output information. And like most computer languages they can make decisions and go around loops. This gives them the ability to do pretty much anything you want a website to do, given careful planning and the time to code.
All three also have the ability to create and manipulate "objects", a special kind of variable designed to mimic objects in the real world, which can have multiple properties and functions, and so can speed up the process of programming... but more on that in another post!