But, what if it were the insane parts that made PHP successful? PHP is basically a shell script hooked up to a web server, with '$_REQUEST' flowing in one way, and 'echo' flowing out the other way. Its over-simplified architecture is exactly why beginners like it so much.
I don't think that's the insane part. When I think of 'insanity' and 'PHP' together what usually comes to mind is: ambiguous semantics for common operations, dubious security practices, irritating syntax, inscrutable runtime.
There are some nice ideas in there, though. I dislike PHP-the-language as much as the next guy but sometimes you just need a three page website that you can hand off to a junior developer or web designer. If there is a language that does this, without being PHP, that would be awesome, but I don't think there is so I completely understand why somebody would just write three .php files rather than... install ruby, passenger, configure nginx, some supervisor script, etc. etc.
I think that Google Apps for Business + GAE services complement PHP nicely--now you can use that shell scripting core to tie together your data with some powerful APIs and basically have no operational worries. We'll see what they do with it. Maybe the next Facebook will start out as a three page website on AppEngine.
The simple architecture is actually what PHP got right. For comparison, if you were using mod_python with the default settings, you needed to restart apache whenever you changed a file.
The insane part of PHP is the actual language. It's an overgrown template language. Half the functions are based on C, half the functions are based on Perl. There's no regularity or consistency.
I don't know. Other languages have become successful following that same path. See objective-c as a perfect example, though in obj-c's case, it only became popular because of the platform it was used on.
The benefit there is understanding. With PHP, knowing the C functions mean I understand how the PHP function works. The same with obj-c, I can drop down into C and work there. And the change in syntax, the way things works, helps me understand what is going on. Again, knowing C, I can do things in obj-c without needing to learn the obj-c part.
Maybe I'm one of the few, but context matters more than consistency. Maybe that's why I like vim.
There may be some insane parts contributing to the success but I can not even imagine a world in that all of them would contribute to the success.
PHP: a fractal of bad design [1] lists many - really many - broken things for which at least I am unable to see how the behavior could not cause headaches let alone contribute to the success of PHP. Go ahead and read it - it is long but entertaining.