Is PHP a good first language?


Sometimes I’ve seen people say PHP is a bad first language, because it teaches bad programming habits. But is this actually true at all? Often those who say that don’t really like PHP themselves either, many times because of equally untrue reasons.

I think PHP is a perfectly good first programming language – I would even go as far as say it’s possibly the ideal first language if you are interested in web development.

What makes a good first programming language?

When I began programming back in.. uh.. I think somewhere in the ’90s, I started with C. There weren’t really any other languages than C and Turbo Pascal that a young wannabe-programmer might have known of back then, at least where I grew up.

C is a lousy first language.

  • C has a lot of difficult to understand concepts like pointers
  • You have to write a lot code to do anything
  • Want something outside the console? Not going to happen any soon.

Because of the above reasons, C is not a very good language to begin your programming studies with.

But why?

If you aren’t really interested in programming, like I was, you will not get much incentive to continue. You get some console prompts – really boring stuff today. We can easily flip around those above three points and come up with…

A good first language should:

  • Not require complicated things to get going
  • Be powerful – provide high level functions to do things with less code
  • Be able to provide something concrete to show you your progress

So we can say that a good language should be simple to use, but powerful and have real functionality – ie. not a toy-language – and encourage the fresh developer to continue by easily letting them do something useful and cool!

PHP is nearly perfect

With the points made, I would say PHP is definitely a nearly perfect language for people looking to get into web development.

PHP is not a complex language. It’s quite easy to use and understand, but it still has the features of a “real” programming language like Object Oriented Programming. It can be an easy beginner’s language, but it also provides you room for learning new things.

PHP has a huge library of built in functions and classes that make almost all tasks very easy to do. Read the contents of a file? Sure – $myvar = file_get_contents(‘myfile.txt’); – Now, do it in C…

And thanks to the above points and the fact that you can embed PHP in HTML, it’s very easy to make something that you can feel proud of. Just throw together some HTML and PHP, host it and you can show everyone what cool stuff you’ve made.

And finally, PHP is a very popular language! If you learn PHP, you can be sure that you can find employment coding it.

Reasons to not choose PHP

Often people say that PHP makes it easy to write bad code, which makes it a bad first language.

What’s wrong with writing bad code, if you’ve just began your programmer’s career? Isn’t that what beginners do – and it’s perfectly fine.

Some other arguments include PHP’s poor decisions in the past, such as enabling magic quotes (which automatically escape post, get and cookie vars with backslashes, sometimes leading to confusion) and register globals (get, post, cookie and some other vars get automatically registered on the global scope) by default. These two are also often used as general attacks on PHP – which I really don’t understand. Sure, they aren’t exactly good things, but you can disable them.

Some also say that PHP’s builtin functions don’t really follow any conventions, which is not true at all. It may not follow a specific convention 100% strictly, but it does not make it a worse language as it’s more than enough similar for most parts.

Learn PHP!

I would encourage any new programmer to pick up PHP. It’s great, despite what people say about it.