[Navigation Bar]  
 
 

    

[OpenSUSE powered]
[BUSH powered]
[vi powered]
[XML] [RSS]
The Lone Coder
Reflections for the Unsung Linux Saviours
by Ken O. Burtch
 
[Lone Coder]

 "The Need for Speed: PHP Roadblocks to Serious Web Development"

"Source control is bad."

I raised an eyebrow in surprise. The web developer who stood opposite me was explaining why he didn't want to install any source control tools. When several programmers work jointly on the same program, software like CVS and Subversion log changes and report possible conflicts. I asked him why he believed source control tools were bad.

"Logging changes takes time!" he complained. "So does reviewing and resolving conflicts." That cost him time at the end of the day when he submitted changes. CVS cost him time with his wife. "It is better," he said, "to simply retype anything that is damaged."

He went on to complain that his projects were becoming more and more difficult to maintain. He was a stanuch supporter of PHP. "It's great that I can save time by not declaring variables," he said. "Sure, it takes hours to debug situations where two programmers use the same variable name. But think of the reduced overhead on the server!"

Although PHP was "great", he couldn't understand why he seemed to be losing control of his projects. The larger they got, the harder they were to maintain.

He maximized his typing speed and server performance by turning off all his debugging, team development and scaling features. Why was he surprised that his projects were hard to maintain?

It was as if a fisherman complained that fish weren't biting because there was no worm on his hook. "But worms cost money and take time to put on the hook!" In the modern era of cheap and powerful servers, optimzing a server using PHP and turning off the features that are there to help you may save a few microseconds but add hours.

Some programmers take pride in performance, a circumstantial proof of their skill. Bugs, if the client doesn't see them, don't count. And as long as it's the client paying the developers for their debugging time, he saw no reason to consider high-reliability template systems like BUSH.

Some programmers just want to soak the client with a lot of debugging. At a previous job I held a few years ago, the company I worked for hired a consultant to recommend a file server for them. I suggested Linux running Samba. The consultant said that Linux was a toy and that they needed a serious system: Windows NT 4. (Those of you who know of NT 4 remember NT 4 had a bug which crashed the computers after a certain number of days because the clock overflowed.)

When I asked the consultant about his choice, he said, "Oh, Linux was defintely the way to go. But I don't make a commission on free software."

The expert, hired for his advice, used the wrong product in order to make more money.

The failure of PHP to work satisfactory for large web sites was one of the reasons I developed BUSH, my Business Shell. Yes, BUSH is based on a language designed for team development and large-scale projects. You can turn many of BUSH's helpful features off to reduce your typing and risk making your project unmaintainable. But I wouldn't recommend it unless you fully understand the short-term time savings and the long-term costs.

If you're going to use PHP, ask yourself if it's really worth it to disable the "slow" features that cost you microseconds by save you hours. Forget soaking the client for big debugging money--don't you have somewhere else you need to be?

Talk back on the Linux Cafe.

September 13, 2005 

Read More:  The Search for The Hatchet Man --> 

  • December - SparForte 1.3 Preview
  • November - Potato Chip Technology
  • August - Unit Tests : An Pound of Prevention?
  • July - What's that Bug? Common Niagara Critters
  • May - Spectacular Failures: Firefox 4 and LibreOffice
  • April - BYOD: The End of Silly IT Contracts?
 
     

« Truth Humility Communication Nobility Freedom Purity Excellence Right Support Courage Compassion Quality Honesty Trust Cooperation Challenge Education »
PegaSoft Canada - A Linux Association Since 1994