I'm primarily a Classic ASP specialist, and for years I've been hearing in blogs and tweets about how awful Classic ASP is. And now I've started doing a serious amount of PHP work professionally, here we go again with the moaning and groaning of how awful PHP is. I refuse to call the _language_itself_ awful just because I encountered frustrations when working on someone's website. Instead I place the blame on the original developer because they did things such as:
- keeping their code really sloppy and unreadable
- not leaving comments explaining what the code does
- using ambiguous variable names that don't have any relevance at all to their purpose
- poorly named functions and classes
- jamming 7000+ lines of code into a single database stored procedure (with similar problems as described above)
- hardcoding things that should have been database driven with an administrative control panel
- OVERKILL on object oriented coding, thus sending you all over the damn place to fix something that could have been much shorter and simpler
- too many layers of technologies working together to accomplish something simple, so to fix, you have to read an page which uses a DLL, which calls a stored procedure, which queries a view, which queries another view, which queries another view, which queries a table, which triggers a......
This kinda stuff can happen in any language, and in time, you'll find another language to complain about. 5 or 10 years from now you'll be touting that Java sucks! Don't hate the code. Hate the coder who fled the scene of the incident and left you with a mess to deal with.