Wow php…

Tags:

I’ve just started to learn php programming just 30 minutes ago, and I could master basic language constructs within in that time. PHP is a really wonderful language in that it provides with a real interpreter capability such as dynamic type binding and that it has a python like manipulation of list and key/value binding.

Though some idiom like


f$name = array("lee"=>"sung ja", "choi"=>"mi ja", ...);
while (list($key, $value) = each($name)) {
   echo "key:", $key, "<br>";
   echo "value:", $value, "<br>";
}

sucks, it’s a truly nice language.

Especially, the same treatement to arrays and hashtables, builtin support of regular expressions, and way of getting parameters passed by forms is very convenient.

I think that now I understand why people say that ‘php is a very good at rapid site building.’ It’s adopted to web programming perfectly. So there can’t be any easier and faster developement langauge than PHP.

On the contrary, PHP lacks coercion of structured programming, so it is easy to make a site. – Ironical? But it’s true. If you write codes without structure, programming become easy. – Hence, it is manifest that without preliminary knowledge about what is required for maintenance and software reuse, people will write messy codes.

Think about the situation in jsp or asp.net. In those languages, people learn java beans or code-behind techniques before than the others. That means people is forced to design his or her site with reusable classes. Of course, careful inspection of the problem is required to make a really resuable codes. But think about the fact that people in JAVA realm tries to learn design pattern, though he or she is a web programmer. I am positive that the compulsion of structure makes people to become ‘structured programmer.’

I am worried that you might think that I want to say that PHP is not good. That’s not true. As you know, there’s no silver bullet in any problem. I’m just trying to say what are advantages and disadvantages of the design philosophy of PHP.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *