It seems that PHP is getting hoter and hoter, and my website is also very written in PHP, I knew it is free compared with .net. But what else make it so popular?
It's interpreted so there's no compilation stage, there's a massive function library filled with robust string handling functions other languages lack or implement poorly, the lack of variable typing and use of associative arrays makes it easier to integrate and/or talk to SQL, it's C syntax so the learning curve coming from other languages is minimal... but most importantly: It's available on most any webhost be it windows, OSX or *nix (as a rule .net is windows only, there's mono for *nix but it lags behind on features), it can run as an apache module, it's easier to get working than PERL (IMHO), and... best of all... IT HAS THE BEST DOCUMENTATION OF ANY LANGUAGE I'VE DEALT WITH IN OVER THREE DECADES OF PROGRAMMING!!! -- and that's including comparing it to some of the quite spectacular dead tree references Borland used to ship with their stuff. Like any language it has it's faults -- objects as shoe-horned in any old way, there's lots of bad or outdated advice in circulation, the lack of typecasting can lead to unexpected results that wouldn't even make it past the compiler in other languages, it's a bit cryptic thanks to the C syntax, as an interpreter it is slow on general purpose computing, making it best used as 'glue' between your markup and your databases or static files (hence the robust string handling), allows 'scripting' style structures of opening and closing <?php ?> for no good reason on every line resulting in often hard to read and slower running code (though one could also argue said construct makes it easier for people coming from HTML to learn)... ... and to compare to other languages, PERL is a pain in the ass with websites since by default you can usually only run it from cgi-bin unless you have access to apache's config files, which you often don't... and is even more cryptic. (PHP started out as an extension to perl to 'clean up' the language)... really PERL belongs in the past or restricted to use for system level code instead of web stuff. Python is an ugly confusing language that I really should like with the strict formatting rules, but it just doesn't fly with me... Ruby is piss poor slow and takes everything wrong with PERL and doubles it... Compiled languages like C or Pascal have a deeper development curve with the need to compile after even the smallest change, and once compiled they're not really portable... Java for all the talk of 'virtual machines' is just a JIT compiler at best, and overglorified bytecode interpreter at worst... and takes everything wrong with C++ and runs with it. Also, most of your .net languages trick people into thinking they can make websites using a WYSIWYG, which is much like the Dreamweaver idiocy or other nube predation that just leads people down the garden path. The drag and drop components piss all over the markup in much the same way as ASP did before it, with idiotic nonsense like wrapping every page in a form whether it's using forms or not, adding fictional made up tags to the markup, and on the whole resulting in websites that there isn't enough money to pay me to maintain. But to keep that in perspective, I'd sooner hand assemble 8k of Z80 Machine Language than try and debug 50 lines of C code. YMMV.
Having been a Perl programmer since 1995 and also working as a core developer I feel obligated to comment on this paragraph. First off, Perl became popular AS a CGI due to it's simplicity over C/C++ for creating web sites. Perl is NOT CGI...but like all languages can be used as CGI. Over 12 years ago most web server configurations would only execute CGI scripts via the cgi-bin directory. In 2012 EVERY web host is configured to run CGI by default anywhere. This actually has nothing to do with the language as suggested by you. PHP never started out as an extension to Perl. In fact, PHP was originally created with Perl when it stood for Personal Home Page. The original purpose of PHP was to simply create a light language that is specific to Web 'Development'. It later grew in to it's own language thus now standing for Hypertext Preprocessor. Perl doesn't belong in the past. #1 it was never intended to be a Web Development language. Unless you follow the Perl community you probably have no idea where the language is today dealing with Web Development. Catalyst is one of the major Perl web frameworks. And in my opinion..Catalyst is absolutely wonderful to create web applications with. It makes url rerouting absolutely easy with the ability to use regex in subroutine names for mapping urls. Perl also has CPAN which consists of reusable modules accumulated over 15 years of maturity. The fact that Perl forces you to scope variables and use strict guidelines is a Positive not a Negative. When you don't comply with programming standards that is when your code becomes buggy and insecure. This is the main problem with PHP. It's very lenient and allows for poor programming practices. Your view on the Perl language comes strictly from someone who has obviously never learned the language and the benefit. I can only agree with you that Perl tends to look more cryptic and at the first glance of code you may not understand what is going on unless you are educated with the language.