6 ms·
PHP and the Lean Startup
- ropman76 15y agoLOL
- listrophy 15y agoYes, I'm a Ruby fanboy, but this is ridiculous. These days, Ruby and Python are the lingue franche of quick web development. PHP had its heyday, and it's still terribly useful for Drupal-y and MediaWiki-y things... but building something from scratch? Not a chance.
- devs1010 15y agoCouldn't agree more
- deleted 15y ago[deleted]
- aGHz 15y ago"The only difference is that today it's organized, tested and validated." Unbelievable. Those are the three reasons developing in PHP was such a pain back in 2000: procedural web code was a pain to keep organized, don't even get me started about testing PHP code back then, and at least the projects I was working on suffered from horrible unvalidated feature creep. Yes, I would say that's the "only" difference. ಠ_ಠ
- Domenic_S 15y agoPeople bag on PHP a lot (was a truer sentence ever written?). But the fact is that it's fast to prototype with, it has a number of mature frameworks available, and time-to-productivity is quick. That's what business people want -- quick and cheap. With proper engineering, PHP can be quick, cheap, AND good (see: Facebook. You want to argue the point, fine, but I don't see you becoming a billionaire on the back of your Haskell application). Like every language, there is an appropriate place for it -- I would probably not write code for the Space Shuttle or a medical device in PHP. But, a great place for a language like PHP is web applications, especially for businesses who have to consider things like hiring people.
- fragsworth 15y ago> With proper engineering, PHP can be quick, cheap, AND good This is true for any language. It is also true for any language that poor engineering can make things really bad. PHP is in a unique position, though - it is so easily accessible to non-engineers that they begin writing applications without the slightest idea what they're getting themselves into. This results in lots of improper engineering, and people blaming the language for the world's problems. Javascript and Actionscript have this problem too. They get a lot less flack, though, because I think client-side scripting isn't held to the same standards.
- Domenic_S 15y agoI agree with all that, and I think the logical question is - isn't the accessibility a good thing? A lower barrier to entry for programming... that sounds like a great thing to me. Like in any industry, some people will improve with time and some will stay n00bish and produce weak code -- but lowering the barrier to entry seems like a good thing to me.
- jayferd 15y agoI don't know about ActionScript, but javascript is actually a pretty beautiful language. It's basically scheme with Java syntax. Also, we're stuck with JS for the time being. PHP is easy to ditch by comparison.
- zbuc 15y agoTry running [] + {}, then {} + [] in a JS interpreter sometime.
- jayferd 15y ago...yeah, it's got its warts (see wtfjs.com), but it's built on a very solid foundation. It does get a bad rap because of the poor (and inconsistent) design of the DOM, but if you play within its rules it can be very expressive and powerful.
- shingen 15y agoThese debates are always silly at best, and painfully indicative at worst. Indicative of what exactly? A certain type of nerd (emphasis that I mean a sub group) that is likely to never accumulate wealth or create anything particularly successful on their own because they're too anal-retentive to understand that success in building a Web app or business is not defined by whether you use PHP or Ruby or Python or even ColdFusion. Unless you think you're the next Facebook or Tumblr, then extreme optimization is necessary. Otherwise, the rest of the discussion is bullshit stacked on top of bullshit. If the common wisdom were followed, Plenty of Fish should have never existed, given their infrastructure and development approach. And Stack Exchange should have never existed with their 'lame' Win stack (popular opinion of the Windows development environment among a certain class of developers =) ). There are a lot of ways to 'skin a cat'. The only thing that matters is whether you can get to the finish line, build something people want to use, and perhaps monetize it so you can keep putting resources into making it better. Who gives a shit what you use to get there, just so long as you get there.
- Domenic_S 15y ago> The only thing that matters is whether you can get to the finish line, build something people want to use, and perhaps monetize it so you can keep putting resources into making it better. Bingo. Everything else is just navel-gazing.
- devs1010 15y agoExcept there is no finish line. I currently work on an application that is 10 years old, where's the finish line? Its not done in PHP, anyways it has parts that were done very sloppily and "against the grain" and the organization is still paying for it with a higher cost of maintenance.
- st0p 15y agoBut did it bring the organization more revenue? In the past I've done some things in PHP that were horrible hacks but did help the whole company forward. Doing them right in the existing code base would mean rewriting a lot. Especially one of those hacks has gotten it's revenge on me when making it more flexible later, but in the meantime it did bring us substantial rewards. To this day i'm still not sure what would be better: telling my boss "sorry, but if we want feature y, it will take 2 months (but it will we done right)" or "yes we can do that in 2 days but don't expect the code to be pretty"
- ricardobeat 15y agoBlah blah blah PHP blah blah startup blah blah blah blah lean blah pivot blah blah we're special blah blah. I don't see how the unstructured development of the past has anything to do with using PHP in startups today. It's not about the language capabilities (90% of business aren't doing anything special in code), but developer speed and happiness. If you're happy with PHP then so be it, but that doesn't make it better.
- dguaraglia 15y agoExactly. The part that bugs me the most about the post is when it says "that's what we PHP guys do well: fail fast, fail cheap". Basically what he is stating is: 1) PHP developers are going to hit a wall earlier than other developers 2) PHP developers are cheap in general. How is that a positive statement, I don't know. There's this stupid belief that by paying less for someone who does "a quick job" you can test a feature and then "build from there". It's bullshit. From my own experience, I've regretted time and again hiring a cowboy (the fact that he was a PHP dev is not unrelated) developer just because we needed something "quick". What was supposed to be a 10-day deliverable turned into a 4-month mess of a codebase that I couldn't wait to rewrite. We ended up being hostage to our own code.
- jayferd 15y agoMaybe it's just me, but I don't think having a crappy development environment is a very good way to build things quickly. Perhaps in the days when there were few stable alternatives, this may have made some sense, but there are so many easy alternatives these days. Perhaps the PHP community is different now from when I left it a few years ago. I'd never go back to that.
- jayferd 15y agoHonest question to the downvoters: All the libraries available at the time I was coding required a day or two of getting lost in documentation before I could use them. Has this changed in the past couple of years?
- zalew 15y agoI'm not a downvoter, but as a Django dev who was forced to grab a quick project in PHP after almost 3yrs not touching it - no, it hasn't changed much. Doc comments and discussion boards are still filled with one gazillion solutions to every simple task, of which most is crap (even when it comes to fresh frameworks). Language features aside, what makes me stay away from PHP is the low quality of it's ecosystem (no offence to the good guys who put quality code out there), especially when you get used to the level of Python solutions and community engagement.
- jayferd 15y ago...anyone? <crickets>
- AlexMuir 15y agoI've just moved from years of PHP to RoR. And there's a lot that I miss about PHP. Deploying Rails Apps is still a motherfucking nightmare - I hanker for the days of just git pulling and changing a couple of config vars. I can google any error message in PHP and find dozens of answers - not so with Rails, where I end up really have to scrabble around for a solution. But there's also a lot to love about RoR. I just needed to calculate the number of business days between two dates - step forward the business_time gem. Five mins later and I've got a stable, tested solution. I've built and sold businesses on PHP, I run some sites on it still. But I've never got into testing with PHP, it just isn't seamless. And because of that, I've always hated going back into the code and improving things later - projects have tended to stagnate. With RoR you have to make an effort NOT to write tests, and making minor tweaks isn't like moonwalking across a minefield. If you just want to whack up a prototype right fucking now then PHP and a Framework are for you. But if you think that you're working on something more than a punt then either put in the effort to write decent tests in PHP, or use a framework that will force you to do so. In summary - PHP and Yii Framework do almost all of what Rails do. It's fast, stable, clean and easily deployed. But the weight of the developer community is now behind Rails. And Ruby is a neat language that I enjoy working with.
- todd3834 15y agoIt feels like the longer you develop web applications the less it matters what language you use. I highly recommend experimenting with as many languages as you can because each one has something unique to offer. You are often able to take lessons you learned using one language while using another. This seems to go a long way with frameworks as well.
- paulhauggis 15y agoI hate Rails. Why? Because of the type of people that make up the community. They defend Rails to the death and won't admit it has any faults. It reminds me of the people that are pro-universal health care. Because of this, I won't use it for any of my projects. I will only start using it when there is no other choice. I use PHP for almost all web development. However, I'm not against using other languages. I admit, PHP has its faults, but it's still a great web dev language. PHP 5+ has really added some great OO functionality.
- pavel_lishin 15y ago> It reminds me of the people that are pro-universal health care. Thank you for lumping all of them together.
- paulhauggis 15y agoWell, it's the truth in my experience. Very rarely will I ever see anyone that is pro UHC tell me the the things that are wrong with it. Same with the people that love ruby. I love PHP, but I freely admit there are issues. I love private care, but I also admit it has problems. It's this sort of intelligent discussions that we need for me to take those sides seriously.
- pavel_lishin 15y agoIt seemed like a very needless comparison, and a politically charged one at that.
- fasteddie31003 15y agoPHP's biggest strength is also it's greatest weakness: flexibility. For a beginning programmer it is great because you can just do simple stuff in minimal number of lines. For advanced programmers it is great because you can build a flexible framework that fits your unique business situations. However, for intermediate programers there is enough flexibility to really write terrible code that somehow works, but could never be maintained.
- tensor 15y agoThe key point of the article seems to be embodied in this quote: So we PHP people are good at failing early, fast and cheap. If you want enterprise grade fail, ask the java guys, if you want scalable fail, ask the c guys. If you want smart fail, ask the clojure guys. But early and cheap, ask us. The claim here is that one can get to a working product using PHP substantially faster than with other languages. However, the article has no data to back this claim up. Indeed, one of the big goals of newer languages like Clojure, Python, and Ruby (the latter two not being explicitly mentioned) is to write code faster and with fewer errors. Java, while verbose, also has strengths: a great many excellent frameworks and libraries. This is also true for web development (e.g. http://www.playframework.org/ http://www.playframework.org/). Including C in the argument is a little strange. As far as I've seen, it's one of the least used languages for deploying web applications these days! In summary, I am wholly unconvinced by the claim of this article. And I say claim as it's missing any substantial argument. Does anyone have any actual data here? There are certainly many case studies for the newer languages and frameworks if you dig a bit. It's an interesting topic.
- billpatrianakos 15y agoArticles like this really make it seem like PHP developers have a big chip on their shoulders from all the trash talking that goes on about PHP. I'm a PHP dev and I have to admit, PHP isn't cool. It's thought of as a language for bad programmers because it's so easy for beginners to pick up. That's precisely the reason why I'm a PHP developer to begin with! And boy have I given ammunition to the side that argues that PHP is a "bad programmers language". But oh well. That's really a good thing that total newbies can pick it up in a week like I did some years back. But really no one cares about your language except other people with chips on their shoulders too. When people use a product they really don't care about the tech specs no matter what the product may be. They care about what it does for them. I can clone Facebook in Runy or Twitter in PHP with both clones being more "optimized" than the original but no one cares. They just want to write on their friend's wall or retweet something so they'll tell me to go to hell with my .235ms improvements in page load times, DB queries, whatever. A truly good developer doesn't waste time convincing people his stack is best. He proves his skill instead by shipping and iterating no matter what the language. The rest is just too-cool-for-PHP bragging (looking your way Ruby guys) and sour grapes (looking at you PHP).