I'm a programmer by trade and I'm rather good at it. This is a rant, it goes technical half way through.
I've been coding the new game archive (codename 2km2kt but it will still be 1km1kt when it's finished) and I don't like the way the framework is coming together. It's too difficult to find the holes. PHP has a shallow learning curve, is easy to deploy and can be found on every server in the world. It's also a lame dog.
I'm talking to OUR GLORIOUS BENEFACTOR to see if I can choose a different language that isn't sodding PHP.
Technical bit
I am a Microsoft stack Dev by day: SQL Server back end with Linq2SQL as an ORM, C# .NET front and middle tier, dependency injection with structuremap, inversion of control everywhere, clever caching models, fast "baked" pages, jquery and ajax with JSON. It's all pretty standard. We unit test the front (jasmine) and back (nUnit) and have an integration system with 3rd parties that's self aware. When we do a release to live, we're sure of the code quality and bugs are normally niggly little things and normally in javascript.
PHP is awful. Not being compiled means that you don't find out if there's a glaring bug until you try and use it. I've been using Selenium to test the front end at work and on the 2km2kt prototype and that picks up a lot of things I break but the PHP lets too many easy bugs through. I need have Selenium tests for things that shouldn't need them. Debugging is a pain, interactive debuggers for PHP are light years behind what Visual Studio gives (I've tried JetBrains's's tools and eclipse) and in the end PHP not being compiled is filthy. It doesn't help you.
Frameworks are all very heavy. Codeigniter, Zend, these are all things that wrap up what C#.NET has.
So, I would like to move to MySQL back end (which is all good, don't mind that) with an ORM wrapper (perhaps nHibernate), C# backend and nice MVC pages with Razer or use Nancy. I can then use all the stuff we do at work with nUnit, build processes and so on. Then I can make progress, rather than being up to my eyes with rubbish. The servers 1km1kt are Linux, which is ok because there is the mono project that allows you to run C# on servers.
End
Half of the reason that I find it difficult to make progress on 2km2kt is that PHP and MySQL is such a pile of crap. I find myself thinking "I could have done this in 5 minutes in C# with LINQ and an ORM" and that's just annoying. That's why there's no new archive. Yet. I'm not giving up but I think it's wise to look at what is going on and change it.