Real World Computing
Three steps to success
The second practical advantage is that object-orientated programming is much more likely to be understood by another programmer. If you name your classes sensibly their purpose becomes obvious. Storing database connection code within a Database class is more obvious and intuitive than storing it in COMMON.PHP. You could in principle name all your traditional code blocks to indicate their purpose (such as DATABASE.PHP), but hardly anybody does so, and if you're willing to do that then why not go one more step to make it a real object?
Finally, adopting this approach makes it much simpler to reuse code across projects. To use my Database class within another project, I can simply copy across the source code: all I need to do is change the specific database connection parameters, including name and password, and the object is ready to be used immediately. Again, if you were really, really organised you could achieve this without using objects, but why bother? I've seen the code used for many real-world sites and reusing it would be next to impossible because the code for database access, for example, is kept in more than one place.
To me, adopting object-orientated principles is a major productivity booster. Without it, I wouldn't have contemplated agreeing to that four-week deadline, but with it I can instantly reuse much of the code I already have (and could actually have the basics of the site in place in a couple of hours).
UltraEdit
However, your efficiency isn't only determined by your coding practices, but also by your choice of development environment. Over the past couple of years, I've been mostly using the Zend IDE, but I really didn't get on with the latest release that's built upon Eclipse - I found it buggy, slow and not focused enough on the day-to-day tasks of programming. I stuck with the old version for a while, but have been searching for a more responsive alternative, and my current IDE of choice is UltraEdit (www.ultraedit.com).
At $49.99 (£25) this is dirt cheap, but also fast, flexible and responsive. It's a general-purpose editing environment that handles PHP alongside an array of other formats, and I've been using it both for PHP coding and web page building as it also handles CSS, HTML and JavaScript, among many other languages. Never satisfied, I'm currently evaluating an alternative called phpDesigner 2008 by Danish company MPSoftware (www.mpsoftware.dk), which costs much the same (€39 or about £30) but, as its name suggests, is focused on PHP development, although it can also handle the same associated technologies as UltraEdit. It's too early to say which of these two excellent IDEs will be the winner, but given that they both cost a fraction of the Zend equivalent, I suspect each will find a place in my toolbox.
Mediator
And talking of Danish companies, Matchware (www.matchware.com) has released a new version of its flagship multimedia-authoring tool, Mediator. At NlightN, we've been using Mediator as our primary development tool for CD-ROM-delivered e-learning applications for many years since it's highly productive and easy to use, while also offering advanced features such as scripting and HTTP requests. With this release, Matchware has sensibly rationalised the product line, combining all the features of the flagship product Mediator EXP into the Pro product. Mediator 9 sees all the rough edges of earlier versions eliminated, as it adopts the Microsoft Fluent interface as seen in Office 2007. The price of £318 (inc VAT) is still a little steep for commercial users, but its only competition, Digital Workshop's Opus Pro, is more expensive still. For CD-ROM development Mediator 9 is the best I've ever used, with its Flash and HTML export functions a welcome bonus.





