7 ms·
This is the wrong way to think about it. Just because people can hop on one leg across the finish line doesn't mean that's a smart way to run a race. Ask yours
by cageface 15y ago
This is the wrong way to think about it. Just because people can hop on one leg across the finish line doesn't mean that's a smart way to run a race.
Ask yourself this: would the Instagram team have been as successful had they chosen PHP? I think not.
Javascript is different because we're stuck with it for historical reasons but there are so many better choices on the back end that there is absolutely no excuse to start new work in PHP. Similar negligence would be considered unprofessional in any other engineering discipline.
- rimantas 15y ago> Instagram team have been as successful had they chosen > PHP? I think not. Can you elaborate, why you think so? PHP worked OK for Facebook and Wikipedia.
- cageface 15y agoThe time you don't waste fighting with the language and coding around its deficiencies is time you can spend improving existing features and adding new ones. If you're trying to run a lean startup with only three backend people like Instagram these effects are very important. Those three engineers could have coded something similar in PHP but I'll guarantee you it wouldn't have been as good. Facebook can afford to throw money at the problem and nobody's really trying to compete with Wikipedia so they can get away with it.
- sanswork 15y agoI've developed large applications in PHP for years. Currently we're using other languages at my current company for a couple of reasons. They could have coded the exact same thing in PHP and I doubt it would have taken them any longer. The language isn't great but I never found myself truly fighting it just displeased with some of the syntax. Facebook started with PHP they weren't always the massive company they are today and managed to displace other entrenched social networks.
- knieveltech 15y agoTime savings? How's downloading the entire feature set for content creation, categorization,user management & authentication, and menuing in 45 seconds stack up to arsing around in a text editor setting up your file structure for a new development project?
- rimantas 15y ago> fighting with the language and coding around its > deficiencies That's still too vague. Sure PHP has it warts, but I don't recall anything I could call "fighting with the language". Yep, stack/needle mess and inconsistency in naming is annoying, but not exactly a huge time waster.
- wauter 15y ago> Facebook can afford to throw money at the problem Aaah the good old circular reasoning of dismissing the big guy - they did get big enough to be able to afford money by using PHP too you know.
- weego 15y agoThis sounds very much like the new version of "I can tell it's a rails app by how it looks". The idea that the server tier language has a direct effect on the user at the level of code quality we are discussing is naive at best and trollish at worst.
- cageface 15y agoAre you seriously arguing that all backend languages are essentially interchangeable? Give competent team A six months to build something in PHP and competent team B six months to build something in any of the better options and team B will build a better product every time.
- ErrantX 15y agoDo you have any evidence to back up this assertion? Because I would imagine it depended a lot on the skill of the teams in question - and if evenly matched they would produce similar quality.
- tolliator 15y agoWhat in the world does language in which the site was made in has to do with success? They were never acquired for technology - in fact, go read about their setup on HA, it's very standard stuff. If you build a product that gets traction and solid user base with some viral aspect in step 2, you will sell - even if your app/site were made in QBasic.
- cageface 15y agoThis kind of careless, selfish attitude really pisses me off. If I walked into a doctor's office for an operation, saw a tray full of old rusty instruments, was told by the doctor that they were "good enough" and that I should just worry about the result then I would not only walk out of that office but also file a complaint with the hospital. If you're selling your services as a professional to clients you owe them the best work you can do. There are legitimate reasons to prefer Python or Ruby or Scala or whatever but if you're just too damn lazy to stop using PHP then you're essentially guilty of professional malpractice.
- tolliator 15y agoAre you serious? PHP is not "tray full of old rusty instruments". Please give me one concrete example what is wrong with a blog running on PHP. Or a small store? How is the END result differ between say Magento or something running on Django? Could you tell the difference? No, you could not. And while the PHP version would have been up and ready, you would still try to figure out how to properly run WSGI server in shared hosting. Good luck with your endeavors.
- polemic 15y agoYou're missing the point. PHP works. A priori arguments from faults in the language don't explain its success. Replaying that old record doesn't add anything to What We Already Know. Also: I didn't say that Javascript is different - I'm talking about the curmudgeons in comp.lang.js who argue that the practical benefits of using a JS library are outweighed by their flaws. This is clearly dis-proven by their popularity and demonstrable economic benefit. As for PHP, this remains true.
- foolinator 15y agoI know why it's successful. I remember when PHP was becoming popular. It allowed for inroads to code from front end designers who hated coding in Flash at a time when academia-based Java people were running all the big websites. If you wanted to hack up and put up a website, you can do so in a few minutes with a LAMP stack where a Java stack needed some lessons in Java. Same is pretty much true today, but it's 10 languages instead of Java. You know, Java was the same way. It was originally made in the 90s as a language made for embedded devices (toasters, refrigerators, etc). No one expected it to be a web language. But Java offered something that was attractive to C++ coders: garbage collection. that made learning the language a lot easier. C++ people joked about Java never becoming popular. It crashed a lot! (core dumps - a common issue in PHP) PHP reminds me a lot of what Java was 10 years ago. It's not as well put together as Java was. And it too took about 8-10 years to introduce templating. My point: 1) PHP is popular because it has a more welcoming barrier of entry into coding. 2) PHP's problems appear the same to me as Java's problems 10 years ago. That's all. Not saying one is better than another. Use whatever the fuck you want. I use both so as long as my employer pays me. Tell me to code mindfuck and I will. As I get older, I think I hate them all.
- pestaa 15y ago> Tell me to code mindfuck and I will. I believe you referred to brainfuck, just for the record. > As I get older, I think I hate them all. There is some deep pessimism in the software world that I feel constructive. When engineers talk about how much they hate the tools even they don't have to use, I think it shows the care they have toward the profession.
- knieveltech 15y ago"there are so many better choices" This is absolutely true, assuming you're working on a blue-sky project or some niche purpose-built app. For the rest of the web, other available languages are (currently) missing one or more of the following: - A wide selection of CMS's to choose from - A wide selection of CRM's to choose from - A wide selection of development frameworks to choose from - commodity hosting environments ready to roll with little or no server configuration required Declaring the choice of PHP over some other back-end language negligent in all cases is misguided.
- JohnnyFlash 15y agoI would have thought Instagram would have been popular no matter what they used. People liked the product and functionality. They don't give two hoots about what is powering it.
- smokinn 15y agoAsk yourself this: would the Instagram team have been as successful had they chosen PHP? I think not. Why not? You do realize the "team", facebook, that acquired them (worth many multiples of them at the time of acquisition) is a PHP-based company right?
- gbog 15y agoThe interesting thing to ask should be if Facebook or Wikipedia's engineers would use PHP if they had to start from scratch. I used PHP for a big project before for legacy reasons but I wouldn't choose it for anything new even with a machine gun pointed to my manly parts. Neither would I use Java or VB for that matter.
- dpritchett 15y agoFacebook and Wikipedia (and Wordpress) were born outside the software engineering establishment using lowest common denominator tools [1]. There's a reason for that: LAMP/WAMP has an extremely lower barrier to entry. A billion monkeys banging away on typewriters can make world-beating products, even if they don't compare to the works of Shakespeare in terms of literary quality. Once these products prove themselves in the market then "professionals" are brought in to handle them, and these people probably know and like more refined tools such as Python or Java or something. It doesn't matter what language these new caretakers would choose for a rewrite though; PHP gave their system its first breath and that's how it stays long past the point in the lifecycle where PHP is a competitive advantage. [1] http://en.wikipedia.org/wiki/MediaWiki#History http://en.wikipedia.org/wiki/MediaWiki#History
- prodigal_erik 15y agoPretty sure they would agree. The Quora and Asana founders seized on the opportunity to leave it behind, and what I've heard from Facebook staff is that they've managed to live with PHP. I can't remember anyone saying they like it. http://www.quora.com/Quora-Infrastructure/Why-did-Quora-choose-Python-for-its-development http://www.quora.com/Quora-Infrastructure/Why-did-Quora-choo...
- ErrantX 15y agoAsk yourself this: would the Instagram team have been as successful had they chosen PHP? They absolutely would. Building an actual application is a hard problem; a lot harder than the kinks of individual programming languages. Whichever tools you choose it is never going to be an easy ride. Anyone who has written, deployed or maintained a large scale application of the sort listed there knows this. It's the step after ranting about how bad X language is.
- bmj 15y agoI think we're a bit spoiled these days. Five or ten years ago, we didn't have Ruby (or at least a mature RoR), Django, Clojure, or Scala (to name a few), so PHP was a pretty decent option for someone trying to get something out there efficiently. These days, there are lots of interesting platform choices (all with different barriers for entry), so many "serious" developers have moved in different directions.
- cageface 15y agoBuilding an actual application is a hard problem. It is. Which is why you can't afford to have the challenges of building something non-trivial compounded by the frustration of working in a broken language. If you're just slapping together another spaghetti CRUD app maybe you don't suffer enough to care. I wonder if people in other engineering disciplines defend broken practices so irrationally. I suspect they don't have the luxury.
- ErrantX 15y agoPHP has its frustrations. It's not outright broken. But my point was that all other programming languages suffer their own "broken" problems. I managed a team working in Ruby not long ago; they had no end of gripes and frustrations. The key point is that compared to the challenge of building a complex application, those "difficulties" are trivial. And once you are at that stage, anyway, you're so used to the way your chosen language works it doesn't matter. These are not constraints on what the language can achieve or do and simply require knowing about them so that you don't paint yourself into a corner. Because application design is a hard problem it doesn't matter, given a relatively skilled team, what language is chosen. This is identical in other engineering disciplines; a friend of mine works in motor design (electrical motor) and is constantly griping about nuances in the tools and equipment. Same issues.
- rmc 15y agoAsk yourself this: would the Instagram team have been as successful had they chosen PHP? I think not. Instagram was only succesful (i.e. bought) because they had something (lotsa users' photo habits) that someone with lotsa money (facebook) wanted.
- bradleyland 15y ago> Ask yourself this: would the Instagram team have been as successful had they chosen PHP? I think not. I chuckled a little bit when I read this. I like video games, so I'll make a video game analogy. I'm playing a lot of BF3 right now, so let's run with that. A website called Symthic publishes a list of damage and ballistics information [1] for all the weapons in BF3. They also publishes TTK (time-to-kill) information [2] for all the weapons. With these two pieces of information, it is possible to empirically determine the "best" weapons in the game for a given scenario; that is close-quarters, mid-range, or long-range engagements. Yet I can equip the perfect weapon for a given scenario and still go 2/12 [kills/deaths] -- or worse -- in a round. No one is scratching their head after reading the above. The answer is obvious. Even given the best weapon, my skills (or lack thereof) relative to the other players in the game result in a net negative kill/death ratio. Programming languages are no different. PHP may not scratch your itch, but if you collect a group of talented, motivated PHP programmers, you're likely to end up with a working product. The end-user doesn't really care if the application was written with PHP, Python, Ruby, Haskell, Lua, Scala, Java... They don't care. They care that it solves their problem. They care that it makes them feel good to use the product. In today's development landscape, these goals can be achieved with a staggering number of languages. Some won't look as pretty on the back end, and some may not be as hip as another, but to focus on that aspect is to miss a large part of the point. If you want to build successful software, the tools you use should be mid-pack on your list of priorities. 1 - http://symthic.com/?s=bf3 http://symthic.com/?s=bf3 2 - http://symthic.com/?s=bf3&sb=timetokill http://symthic.com/?s=bf3&sb=timetokill
- cageface 15y agoIn every field of human endeavor where competition is extremely intense you'll find professionals optimizing their gear down to the last trivial detail. I very much doubt at professional gaming tournaments you'll find serious contestants using anything but the optimal weapons. Nobody's saying you can't build app X in PHP, but it's likely that your competitor using a better language will get there first. If you disagree with this, take it up with Paul Graham. The idea that a good tool can give you a competitive advantage underlies many of his essays on startups and software development.
- steve-howard 15y ago> there is absolutely no excuse to start new work in PHP. I hate PHP myself, but as far as my personal projects go, PHP is perfect for cheap shared web hosting. Some fairly basic and crappy functionality to prevent users from stomping on each other's files is included. Something that can reasonably replace PHP in that role would be what it took to phase it out of my personal use, and what people choose for their own work affects their choices on all work.
- ing33k 15y ago90 % of end users wont be even knowing if they used Python/ Django or anything.