As another startup in Atlanta trying to hire <i>good</i> PHP developers, I can sympathize entirely with MailChimp on this one. I have been searching for months for local PHP developers with <i>experience</i> doing TDD or other agile/modern practices and it is extremely difficult. If you are one, please feel free to contact me.<p>I think good TDD/agile/architecture cultures are more prevalent in ruby/python but as those languages have become more mainstream the quality of the average dev in those environments has dropped quickly. A few years ago only really good devs ventured into ruby stuff. Now everyone is trying it as the tools have made the language much more accessible for the average developer. I am seeing more and more programming mistakes in the ruby code I dive into than I used to.<p>Language choice doesn't matter too much from a technical perspective. It matters from a practical perspective. Consider the jQuery/prototypejs war. Prototypejs was technically superior for a long time, yet due to jQuery's more accessible plugin culture and prettier web site they were over time able to build a more robust community and took the mindshare lead in the js space. I still think one of the core reasons ruby/rails and python/django got big is that for a long time there was only one major framework available for the language and this caused a better community than the php landscape, which pre-dated frameworks by a long time (this happened to perl as well). So there wasn't "one true way" in php to build apps quickly, and this hurt the php community when rails got big. I think as a community we lost a lot of talent to ruby/rails in the last few years.<p>Bottom line is that accessibility, pervasiveness and low-learning-curve are critical to the initial and continued success of any platform, whether it's a language (ruby > php > perl), OS (ios > android > rim), etc.<p>Language advances in PHP (circular gc, traits, closures, etc) have brought php's language capabilities forward enough that it's a respectable platform for sticking with. However, you can't fix the community really since it's so fragmented. Fortunately some frameworks are getting enough traction to have rich ecosystems, and that's definitely a great thing for the language and the community.
My main beef with PHP is that the most deployed applications that use it are some of the most difficult to manage and messy pieces of code that I've ever seen.<p>I'm talking about Wordpress and vBulletin.<p>While MVC isn't the only valid design pattern, some varient of it is rather nice when working with websites and these two seem to ignore it through and through. Testing? What's that?<p>I know that better can be written in PHP, but for apps that I've had to deal with, PHP normally looks like an overpowered scripting language that's just a mess. I'll stay with Rails and Sinatra when I can.
For many years now, more and more code has been moving to the client side. At this point, for me, PHP is just the glue between the database and the client side code. There's nothing left to hate. Move on already.
This was on HN already 9 months ago <a href="http://www.hnsearch.com/search#request/submissions&q=ewww&sortby=points+desc" rel="nofollow">http://www.hnsearch.com/search#request/submissions&q=eww...</a>
PHP is what I've started with and after many projects in Python and Java I still come back to it whenever I need to get stuff done. I mean look at the array functions (<a href="http://www.php.net/manual/en/book.array.php" rel="nofollow">http://www.php.net/manual/en/book.array.php</a>)! Some consider this bad design, but I love this about PHP.
At least it's not ColdFusion... I'm convinced some websites out there use fake .cfm file extensions as a joke. No way they're actually <i>using</i> ColdFusion!
This seems to be a common essay from well-established companies who use PHP and then write "oh gosh we use PHP!"<p>The key here, as it states, is that they "built their own framework/libraries", which essentially means <i>nothing</i> to indie-devs and other small non-well-established companies who want to build something...<p>So the trend is simply this:<p>1) We use PHP because it's what we know, easy to get started with etc.<p>2) It gets us by while we build our business<p>3) Profit! Re-factor our codebase, in PHP!<p>Thus, the blog post should read: "Hey Mailchimp is doing awesomely, so we refactored our PHP codebase with our very own custom framework!"<p>It's not that PHP is <i>all</i> bad; it just lost the "framework wars" IMO, and I think when companies come out and state things like this, it kinda proves it...
If you're in Atlanta you're near Georgia Tech. They're pumping out CS graduates, have undergraduate students looking for experience, and also have a pretty good internship program. It is not Silicon Valley but you're better situated than a lot of other places.
Damn, long thread. I use Java, PHP, and Ruby: whever gets the job done in the given problem domain. Not a fan of a technical monoculture at all. PHP has been the language that is fashionable to hate for years now, but I still love it for web apps.
PHP started at a time when web development was not considered "serious programming". I mean, people switched to it from building GUI or console apps on C/C++ and Perl. It was fast, efficient, had convenient hashtables and defaults in place, and it was better than writing simple HTML files, but it was still considered "scripting". Nowadays, web apps are a lot more complicated, but web development is still messy: as HTML always stands in the way, it's still hard to abstract the whole web development process without restricting yourself to a specific mode of development and its limitations.
It's hilarious how most PHP programmers think they are exceptional compared to the rest. While most of them rarely code in any other language besides PHP/ActionScript/JavaScript/ASP. And virtually none of them read a serious algorithms book.
Java and JVM as reliable platform +1 just go whatever language you want Scala, Haskell, Ruby... here language doesn't matter. If you want to create custom web based application (not RIA one ofc) go django or rails, now it's more matter of taste both choices will give you a lot benefits, and ofc you can run it ontop of JVM. But if you considering building anything today on PHP (when you have sooooooooo fucking many better platforms) you are incompetent and plain stupid, because it will be a big technical debpt for the whole project.