Dear PHP,
We have known each other for about seven years now. We had a lot of good times together. You were my introduction into web based programming and rescued me from that c++ monster I was seeing before. You taught me the ways of the web and your great website documentation and comment system helped me through some tricky times.
It is sad that we have grown apart recently, but unfortunately; you just aren't right for me. Lets face it, you lack direction in your life. Your naming conventions are a strange mix of underscores and non-underscores which lack any constancy. Your object support is close to nonexistent. You lack consistency in your methods signatures as well like with strpos ( string $haystack, mixed $needle [, int $offset] ) and in_array ( mixed $needle, array $haystack [, bool $strict] ); should they not have the same order of parameters for constancy sake?
I am sick of fighting with you. Yesterday, when we tried to create a webservice it just ended in a terrible fight with me deciding that upgrading my OS and installing mono would probably be simpler. Adding new language features is always a fight and I usually have to be the one to solve it by recompiling you entirely which is consuming my life.
As you know .NET and I have been hanging out a lot recently and a relationship has formed. I hate to leave you but .NET does so much more for me. Its builtin input validation helps keeps me secure from the xss attacks you are plagued with. The builtin controls save me time from those mundane tasks. The great objectification of the language(s) saves me time and increases the quality of my code. Being able to unit test everything simply and easily is something that your community does not even know about. The best thing about .NET is that it has a great IDE... something you just don't have.
We had a good run and some good times together but it is time for us to go separate ways. I am sure we will run into each other in the future and I hope we can still be friends. I am sure you will find another programmer who is meant for you as you are a good language. You are just not right for me and my needs.
Best wishes,
Dave