Recently, I reread a few articles about how terrible PHP is. I read them early on in the summer, when I started my first real programming job, working in - you guessed it - PHP! A friend of mine (who's currently working on his PhD in CS, go Ed!) warned me that my coding skill would decrease as I worked with PHP. I was a bit worried. I wanted to be a good programmer*.
After four and a half months of intense learning, coding, and reading, I came back. Were the articles right? Did my coding skill die? I think I'm getting ahead of myself.
Reading the comments (always a delight) lead me to two articles that disagreed on different fronts. The first agrees. PHP is annoyingly bad, but we use it anyway because it's so easy to use. The other article takes a different approach: rather than focusing how irritatingly bad PHP is, it looks at what us web developers really need. According to the author, PHP's the only language/framework that's got it where it counts.
All of the articles above are good reads, written by smart people, but I can't help but feel that all of them are missing the point. I do my work in PHP, get the job done. Awesome. Here's the problem: for the past few weeks, I've been working on something that shouldn't exist. Our next project deals with an API. This API is so horribly bad that I have to write another layer around it so that our devs don't go insane dealing with Codethulu. An API for an API, if you will.
This sort of thing shouldn't happen. As my professor says "You can be profane in any language." We should worry less about strange things happening with equality operators and more on creating good code. Not just creating good code by ourselves, but setting an example for our teams, talking to our bosses about why outsourcing is (usually) bad, and contributing to open source projects so that noobs like me can learn what good code is.
*whatever that is.