Cedric is talking about the killer app phenomenon as it related to programming language. Of course, the term killer app doesn’t quite fit so well with languages, but the abstract concept is “reason it hit a tipping point”.
For Java it wasn’t the Applet as Cedric pointed out. I think it is a mix of:
- No more memory management (language feature)
- C like (not a huge leap)
- JVM worked OK on the server side (although a bit crap at first, ended up becoming top notch)
For PHP though, I think it is much clearer:
- Deployment. PHP was built for the Web. Remember how painful Perl was back then? PHP fit the jump from CGI to “oh, to do rich dynamic stuff we can’t fork() every time”. PHP was easy to setup with Apache, it just worked, and soon it was deployed on all hosting providers. This is why it is still a winner for so many people
- Simple, scripting based: easy to go from Perl to PHP. Easy enough for the people who liked the deployment issue to hack away (e.g. the non CSci folk)