// you’re reading...

Personal

Looking back at working with PHP

About 4 months ago I have started learning PHP, as my web development job was going to require it. I have never done any PHP programming before, and now that the work-term is over, I wanted to look back and reflect on what I have learned. In short, the experience was packed with large projects, technical difficulties, new syntax and tools, but I walked away feeling empty. Sure, PHP has now made its way on my resume with a solid background, but personally I just did not feel the same as the term I got to work with Ruby.

Even though I had no experience with PHP or Oracle, I was fairly familiar with Ruby and MySQL. My job offer relied on the claim that such web development is logistically similar, having substituted Ruby documentation for PHP. It is true that once you know a programming language, it is easy to pick another one up – I climbed the learning curve in a week and was asking for bigger projects. I think that is where my disappoitment was – I was too quick to familiarize myself with what was supposed to be new.

This co-op term was by no means a loss. I was previously denied a job offer due to my lack of practical PHP experience. Employers want student hires to have the fastest running start possible. Do not get discouraged though, and just try to relate your existing experience to the new requirements. Most programming languages borrow parts from each other, so it is easy to pick up on a schematically similar tool. IFs and LOOPs are the same, even if you write them differently.

PHP itself is useful to know, as most of the web still runs on it. And while it will probably not be my programming language of choice, it is just so much easier to maintain and use someone else’s code now.

Though I wanted to learn something fundamentally new. Ruby was a blast as it was the first time I have jumped into serious Object Oriented design. It was the first time I have seen such clean style of code. It was the first time I have started making web applications. For me, Ruby was a lot of firsts. I have learned so much, and was able to translate that knowledge to similar situations, such as this PHP project. But the PHP experience was just that – new application of old experience, nothing excitingly new.

I am not sure about other developers, but right now I would jump at an opportunity to learn something brand new, over doing more of the same, even with a pay raise.

For those looking to pick up a new language to learn, I suggest to diversify and try something new. If you are familiar with procedural compiler languages like C or C++, try going for an Object Oriented interpreter such as Ruby or PHP. If you are familiar with both, consider functional programming – it will offer you a new perspective.

Read more

Discussion

  1. Posted by Andrew Ingram | December 25, 2006, 6:45 pm

    Studying Comp Sci at uni, I had to primarily learn Java, but we were given random projects in other languages too (learning the language wasn’t part of the assessment, we just had to if we wanted to get any marks). So we picked up C, ML, Prolog and Matlab remarkably quickly. I’m convinced that it only takes a couple of hours to get a working knowledge of a language, maybe a few weeks to get to grips with any API you might have to use regularly. Mastering all the quirks of a language can take. years though.

    Now i’m having to apply for jobs that require PHP experience and i’m thinking of just trying to justify that I can learn a language quickly enough should I get to interview

    Reply to comment

  2. Posted by Tony | December 25, 2006, 7:02 pm

    Andrew, that is exactly what I have done – applied to jobs if I thought I could do them. Some are skeptical, others are more realistic – depends who interviews you (HR, Manager, Developer, etc). So far I have not perfectly matched for any co-op job requirement, but I demonstrated that I could easily pick up on any missing skill.

    Good luck!

    Reply to comment

  3. Posted by Craige | December 25, 2006, 9:26 pm

    Personally, I like PHP. It is the first programming language I ever touched, and I do not think I will ever part with it. I understand it has its pitfalls, but there is something about it that has me hooked.

    I am hoping, as are many people, that PHP 6 will bring a number of new features into the world of PHP that only a year ago seemed like pure fantasy. I am particularly hoping for further expansion of the object oriented side of the language. It has come along way since PHP4, but it still has a way to go yet.

    Reply to comment

  4. Posted by Tony | December 25, 2006, 9:58 pm

    Craige – you should still try out different languages, just to see how they are different. If you settle for your “first programming language”, then you are doing just that – “settling”, not choosing your best.

    Similarly I choose Mac OS X as my favourite OS because I have also used Windows, various distros of Linux, and Solaris. If you settle for Windows because “it does everything I know of (yes, because that’s the only system you’ve used) and others use it..” – you simply give up control of making your own choice.

    It is through differences that you really understand the systems involved, and that is why in my above post I urge to diversify and to try something new.

    Reply to comment

  5. Posted by Craige | December 26, 2006, 2:00 pm

    Oh, yes. I am not just sticking with PHP. I am learning C++, and Java now, and I plan to learn Ruby and Perl within a couple years. I’m just saying I don’t think I’d ever leave PHP. Maybe I’m wrong though, maybe I will sometime stop using it as my main language. Nobody can say for sure.

    Reply to comment

  6. Posted by wtd | December 26, 2006, 8:57 pm

    You don’t learn to use many different tools so you can choose one and declare it the best. You learn to use many different tools so you don’t have to choose.

    Reply to comment

  7. Posted by CJ | December 26, 2006, 9:13 pm

    For anyone wanting to get practical experience with PHP and Oracle, try the free version of the Oracle Database from http://www.oracle.com/technology/products/database/xe/index.html
    It installs/deinstalls extremely easily. PHP can also be installed quickly on top, either using the free Zend Core for Oracle stack (http://www.oracle.com/technology/tech/php/zendcore/index.html) or from the standard PHP distributions.

    – cj

    Reply to comment

Post a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>