Loading...

Write A Blog Engine? Maybe.

September 21, 2007 Tagged as: best-practices php web-developemnt

I just read an article entitled Want to Learn Web Programming? Write A Blog Engine. I'll admit that I learned a lot about web development through working on my own blog engine. I never actually released it live, but it was educational for me. However, I think there are some caveats that need to be considered when making a broad statement. Note: I'm not disagreeing with the author (Abhijit Nadgouda) at all, but there's just a bit more to consider.

First, let me tell you how I got into web development. I've always liked writing code, but school was boring me, and so there wasn't a lot of growth. While doing an aggressive job search for a sysadmin job (which I had real world experience with), I sent my resume to a recruiter who forwarded it on to a company seeking a web developer. I didn't think I had a chance in hell, mostly because I hadn't done anything but dabble in PHP. However, after a second interview, the company took a chance and hired me. I'll admit that it was probably rough rolling for them for at least the first six months while I learned to work as a developer (culture as well as routine).

On the other hand, I have a very good friend (we'll call him Mike) who's been dabbling in PHP (much more than my "dabbling") for quite a while. Mike started writing a comment system for his existing Blogger weblog. It was rather robust, and I am still impressed. He didn't want to learn SQL, so he stores everything in flat text. Having worked with PHP, I know that flat text files are pretty gutsy. However, after looking at his code, it's noticeable that he cut his teeth on an incredibly high level language. He "dabbles" in other languages, but he's pretty skilled at bending PHP to his will. He lacks one very important attribute to his code though: structure.

When I started my first development job, there was software rot. The software itself was organic, which fit its description well, as it felt like working with a large shrub that never had a good gardener. I had the opportunity to assist in the re-write of the entire system. There were implementation problems, there were structure changes, and there were TONS of architecture meetings (even if it was only two developers). This was quite some feat, considering PHP doesn't lend itself to great coding styles.

Now we come to the whole "Write a Blog To Learn Web Programming," there's more to consider. When you start off writing your blog, start bookmarking sites that you find helpful, and if it's a blog, add it to the RSS reader of your choice. Read general programming blogs, read up on other languages. If you write a blog engine in PHP, and then think you know what it takes to do anything in PHP, you'd better think again. It's a starting point, but the world of web development is far from CRUD applications. There's XML processing, RSS syndication, screen scraping, and the like. Creating a blog engine in a vacuum leads to steaming piles of Wordpress.

Make your blog, but then make something else, and realize that you learned very little from making your blog.

3 Oct 2007 - Update: I recently did a review of a few PHP web frameworks that we were investigating at work. My kneejerk reaction was to develop with each one, and see which one provided what I would need for the work application. What did I develop? An identical blog application in each one. So I'll reiterate that the concept of writing a blog application will give you a good overview, but I'm certainly no PHP web application framework expert now.