Archive for August, 2009

PHP vs. Perl vs. Java – a student’s question.

Monday, August 17th, 2009

Once and a while, I get a question from a student about PHP and programming that I use in a blog post … here we go again:

… you mentioned that you used to use mostly Java but have switched to mostly PHP. Would you recommend learning PHP as a primary method of creating dynamic web pages or is its strength in data base manipulation. I was learning Perl form processing which led me to your site when I was having trouble with mySQL, and I noticed PHP is very similar (at least in the basics) as Perl. Do you have much experience in using Perl to help create web pages and would you recommend using it at all?

About PHP vs. PERL vs. Java:

PHP is the way to go. Perl is a good language but it was not designed initially for web development – that functionality was added later.

Whereas PHP (which borrows from Perl btw) was designed specifically for web development, and so Perl is just clunkier compared to PHP when it comes to creating dynamic web sites.

I’ve used Perl in the past, mostly creating simple string parsing scripts and other little things. But I would NOT call myself an Perl programmer – so take that into consideration.

That said, I’ve always liked a common strategy used in Perl, where they generate static pages from dynamic code. For example, in our web designers directory, I used a Perl based directory script that uses that strategy.

… What’s interesting is that it generates the directory pages as static HTML pages. The advantage of this is that the directory itself is more portable and much less resource intensive because for the most part, the directory is just of pages that people just read … no need for them to be dynamically generated every time a user request it.

(more…)

What makes a professional programmer?

Tuesday, August 11th, 2009

I recently got an email question put to me by someone wanting to know what makes a professional programmer:

Since I have started my career, I have been working for managers who really don’t know how to program. I have been improving myself through tutorials and books. However, I still don’t know whether i’m a good programmer or just better than the guys i’m working with.

Can you tell me what makes a good programmer? Better yet, please tell me what level should a PHP programmer be at after three years of development?

The short answer:

A good programmer is able to put out clean code that works and is easy to update. Simplicity is a sign of professionalism in any profession or discipline.

In the same email, he continues to ask:

Can you give me a list of books or subjects I should know by now (three years of development). Any advice you give would be much appreciated.

Beyond PHP basics (and the core functionality), I would suggest that PHP programmers should work to learn the following:

  1. Object Oriented PHP
  2. Learn about design patterns. Important ones include: MVC, decorators and factories.
  3. Learn an MVC framework like the Zend Framework or PHPCake etc …
  4. Get deeper into PHP; understand how it works under the hood. This will help you later on when trying to decided how to most effectively build applications.

Notes:

Like any other language, PHP sometimes gives you a few ways to do the same thing. It makes sense to learn the advantages and disadvantages of each for the sake of optimized code. For example, PHP provides a few different ways to interface with MySQL … you have the classic libs but you also have new object oriented methods.

When it comes to learning design patterns, it might be easier to learn a PHP framework at the same time. Why? Many of these frameworks often times provide great examples of popular design patterns.

Final comment:

Though the above is ideal, I’ve have seen many PHP programmers who don’t have half the skills I mention above, but were still effective programmers who got the job done.

Stefan Mischook

www.killerphp.com

Top of page  go to top of page