Cranky Ol' PHP'er Syndrome (COPS) Defined
Time for a little humor. :-) I thought I was the only one, but apparently there are more like me. As its not just me, I’m defining a new disease that is rare, but does effect some PHP programmers. Cranky Ol’ PHP’er Syndrome, or COPS.
Symptoms include consistently throwing out all but fringe tools when you start a new project. I consider Phing, SimpleTest, and PHPT to be ”fringe” because hardly anyone uses them within the community. Generally, sufferers have been in the PHP community for awhile, but have ample exposure to other languages. Exposure to the other languages seems to be a trigger for this disease, but its not yet known if it is the cause.
General symptoms include heckling of “experts” in public places; general dislike of any code written by “monkeys” (i.e., code not written by yourself or someone who shares your disease); or a lot of unfinished projects since every one you start requires you writing all of the tools around it from scratch.
Two other common early warning signs are purchases of books or perusal of websites of other languages. As stated above, exposure to other programming languages appears to be a trigger. If you’ve been programming longer than PHP has been around, you may have be a carrier for COPS and not even realize it. Avoiding use of languages used prior to starting PHP may be enough to manage your disease. If you started programming with PHP, be careful when exposing yourself to new languages. Exposure to 1.2 - 1.4 new languages per 12 month rolling period is generally acceptable, but exposure any higher than 1.5 new languages puts you at severe risk. Exposure to other dynamic languages should be avoided at all costs as it leads to feature-lust, a retrovirus that has been linked to COPS.
Unfortunately, there is no known cure. Sufferers of COPS have been known to start other projects to try to rid themselves of excessive crankiness. Forking existing projects is generally not advised, as legacy code is a known contributor to COPS. Unsubscribing from mailing lists has also been known to help. For those, such as myself, who can’t bring themselves to do that, liberal use of “mark all as read” has also helped in some studies.
In the some cases, using Java for extended periods (also known as Java-therapy) has helped, but in the most severe cases, using Java can cause even further COPS symptoms. If you feel you are suffering from COPS, avoid Jython and JRuby at all costs, as exposure to them may make the symptoms worse.
Avoid using fully integrated development environments as well, and revert to a plain text editor. If this does not work, using command scripts such as echo, cat, and sed may be necessary to help reconnect you with your primal programmer.
In the most severe cases, using a red marker to desecrate books such as Design Patterns, Patterns of Enterprise Application Architecture, and Refactoring have helped. (Note: please avoid libraries while undergoing this treatment)
This disease, though chronic, is not fatal. Many have sought treatment, while some have embraced it as a new way of life. A select few have gone so far as to join religious sects and try to convert fellow PHP programmers. Others who have chosen not to seek treatment and instead taken up the roll of “fool on the hill”, silently observing the community.