I've been developing websites in (classic) ASP for over 6 years now, it is a great language but sadly outdated thanks to ASP.NET.
With the need to change to a modern programming language I immediately looked into ASP.NET, frustrating is one word which quickly pops into my head. I was very quickly annoyed at the two tiers that ASP.NET has.
If you want to quickly produce a dynamic page which displays some content from a database then it is a simple case of drag-and-drop and enter some settings and you're done. Sadly though as soon as you want to "break the mould" of what is available in the "drag-and-drop" facility, things become a lot more difficult.
Eventually after hours of playing around with ASP.NET I had had enough and stopped working with it.
So then I looked into PHP. I see PHP as the free version of ASP, designed for Linux servers (although it will go onto Windows). Swapping over to PHP was easy, within a week I was building fully dynamic websites. Unlike swapping from ASP to ASP.NET, ASP to PHP was easy because it only required learning new syntax, the programming "style" was exactly the same. Also because PHP has been constantly updated over the years (whereas ASP was stopped years ago) there are lots of great functions within PHP which I can now utilise, like image manipulation (previously in ASP I had to purchase ASPjpeg to resize images).
PHP isn't without its faults however. When using it there is the feel that it has been built on for years and some inconsistencies emerge, for instance; to replace some text in a string you use the function "str_replace()" however to calculate the length of a string you use "strlen()". Why not "str_len" or have "strreplace"?!?! Also some functions are completely over the top, for instance "mysql_real_escape_string()", this is used to make a text string safe to insert into an SQL statement (whereby removing SQL-Injection hacking) however surely it would have been nicer to call the function "mysql_str_safe()" or even "mysql_safe()"!!!
So far the only thing I have found which PHP doesn't do is building of PDF's, however I was able to simply use a free PHP Object class instead, there are also add-ons you can buy to build PDF's also.
So to conclude, the transition from ASP to PHP has so far been very good, enjoyable in fact. I look forward to spending many years coding in PHP (in a sad geeky way!)