8 ms·
The Life of a PHP Developer
- Socketubs 12y agoI cry. Sad guys are sad.
- Navarr 12y agoHe's right though - most of the arguments about what PHP is lacking are outdated and obsolete by the massive community undertaking. Most of the modern day arguments are just bikeshedding arguments. (Function names are inconsistent, etc.) which is, yes, stupid that we've managed to maintain mistakes for decades - in the end it doesn't matter. What matters is being able to get things done, and that's something PHP developers are fantastic at - even if some of them output the worst code imaginable.
- pavel_lishin 12y ago> What matters is being able to get things done, and that's something PHP developers are fantastic at - even if some of them output the worst code imaginable. I had a car, once, where the driver's side seatbelt would pop out if I put on the brake, or leaned forward. But hey, what mattered was that the car got me from point A to point B, therefore it was a perfectly great car!
- dreamfactory2 12y agosounds like it was functional, nobody died, and better than any alternatives you had
- pavel_lishin 12y ago> nobody died Thanks to luck more than anything; I used it to regularly commute between Austin and Dallas, a 300 mile drive. The thing is, I didn't have to commute, and I was living in Austin at the time - and I worked from home. I could have elected to get around town via bus (slow, but doable) or bike (with a helmet, almost certainly safer than a seatbelt-less car). I should have sold that damned thing much sooner and replaced it with a moped.
- datashovel 12y agoPerhaps apply for a job as a PHP developer. Pay is good, and so you probably will be able to get a new car :)
- pavel_lishin 12y agoYou joke, but I was working as a PHP developer at the time. :)
- datashovel 12y agoThat's something that's not talked about often enough. Good developers working at bad companies :) In the sense that those companies don't appreciate their developers in the same ways good tech companies do.
- Navarr 12y agoThat is what mattered! The programmer (the driver - you) should have fixed the bug when he noticed it. It wasn't a problem with the language, just the implementation. PHP is not well known for language-level security issues. It's well known for logic-level security issues.
- rootlocus 12y agoI think associating yourself to a technology to the point of "end[ing] up in insular micro-communities" is the wrong approach. People shouldn't define themselves as developers based solely on one language (e.g. "I'm a php [only] developer"). I enjoy working with both low level and high level languages, with some more than with others, but they're merely tools. And no tool is the best tool for every problem.
- metaphorm 12y agothis article didn't even address by far the biggest issue with PHP: there is a massive and divided community that is split between real professionals (the guys who build Facebook, for example) and total amateurs who don't know what they're doing. critiques centered on the weaknesses of the language itself are missing the most important problem with PHP as a technology ecosystem. the technically rigorous, experienced, professional part of the PHP ecosystem is a minority and the signal:noise ratio is horrifically bad. Do you know what happens if you put up an ad on a job board looking for PHP developers? You get flooded with hundreds of amateurs or lackluster freelancers (many of whom have no idea how far away from "good" they are) and a very small amount of responses from good developers. Do you know what happens if you google search technical questions about how to do stuff in PHP? Flooded with blogposts and forum threads filled with actively harmful information instructing you on the wrong way to do things, without having any idea about why its wrong. Other languages don't suffer from these problems to nearly the same degree. There are issues in the Python, Ruby, Javascript, Perl, Java, C#, etc. communities as well. Those problems are not nearly as intractable and damaging though. The communities of other languages have better signal:noise ratios and its really evident as soon as you try to do any hiring. It makes a difference.
- baggachipz 12y agoThe signal:noise ratio is better in Javascript, Perl, and Java? I can't possibly agree with you there. There's a lot of bad PHP out there. But that's also because there's a lot of PHP out there. I wouldn't say the ratio is any worse. Any respectable PHP developer nowadays uses a decent framework, and there are many. It's pretty easy to discern who's legit and who's not by whether or not they use/understand these frameworks. edit Why the downvotes? Am I not contributing? Or is this just typical irrational PHP hate? I'm not apologizing for it, I'm just talking from experience here.
- V-2 12y agoBut there's a culture thing, too. In case of many programming languages, there's certain culture built around them - with its own hierarchy of values, its own idiosyncrasies, approach and so on. Like the tendency of overengineering and devotion to design patterns in Java world. Now, the idea behind PHP is to "just get it working". This philosophy is perfectly summed up by PHP's inventor, Lerdorf: "I'm not a real programmer. I throw together things until it works then I move on. The real programmers will say 'Yeah it works but you're leaking memory everywhere. Perhaps we should fix that.' I’ll just restart Apache every 10 requests. " Of course the qoute may be tongue-in-cheek, but I'd say the mindset is real. (I've written software in C#, Java and PHP)
- datashovel 12y ago"There are only two kinds of languages: the ones people complain about and the ones nobody uses" -- Bjarne Stroustrup
- yetanotheracc 12y agoPerhaps you would not have these problems if you accepted web development as a blue-collar trade that it is. When you treat learning some tech stack as a pinnacle of intellectual achievement, your sense of identity becomes involved and you get this kind of nonsense.
- thinkt4nk 12y agoHow do you figure that web development is blue-collar work? Even for hyperbole, this is quite a stretch. Whatever your intent was, it just comes off as elitist.
- ulisesrmzroche 12y agoConstruction is a popular programming metaphor.
- yetanotheracc 12y agoWeb development involves a little creative effort and a great deal of repetitive, tedious work. While sedentary, it requires heavy physical exertion to sit still the whole day. It is usually a low-prestige, low-power role within an organization. It does not require much academic education. I would like to be elitist, but what drives me is despair.
- hderms 12y agoIt does come off as elitist, and I think he could have communicated a great deal better. I agree that your identity shouldn't be wrapped up in some particular technology you use, but you also shouldn't have to prop up your identity by trying to insult others.
- bdcravens 12y agoThere is a lot of development that I think can be categorized this way. Someone learned a skill 5 or 10 or even 15 years ago, and goes to work everyday and essentially punches a clock. Having done ColdFusion for a large part of my career, I see this pattern in that community.
- sarciszewski 12y agoOn Twitter, I'm repeatedly ridiculed for writing PHP. https://twitter.com/voodooKobra/status/494466665883910144 https://twitter.com/voodooKobra/status/494466665883910144 This is a fairly typical response (usually from C enthusiasts): Me: "Hey, I'm working on some project. Anyone see any vulns?" Person: "Yeah, I see a vuln: You're using PHP." I don't like language arguments. While there's always value in contrasting language features and keeping your horizons ever-expanding, nothing productive comes from them. All it does is foster an environment that promotes Impostor Syndrome and insecurity. As others have said, they believe the people who engage in these "my language/framework is better than your language" diatribes are acting on their own insecurity. If they are correct, it's a vicious cycle that accomplishes nothing. Better idea: Accept that no language is perfect, and if there isn't a way to solve a specific problem (or the existing solution sucks), research and write a (better) solution. Even if it means sending patches to the PHP core (and having to deal with the toxic jerks on the mailing list). This is far more beneficial than arguing with people who don't want to listen. As PHP accelerates towards its version 7 release and cleans up a lot of the cruft from the 4.x and early 5.x days, a lot of the criticisms of PHP will cease to be applicable. "Those who can, do. Those who can't, complain." EDIT: If you're going to downvote me, please at least tell me WHY you are.
- dscrd 12y ago"I don't like language arguments." Well, if you like PHP, how could you like language arguments? After all, they always end up destroying your beliefs.
- sarciszewski 12y ago"After all, they always end up destroying your beliefs." You don't even know what my beliefs are.
- deleted 12y ago[deleted]
- krapp 12y agoIt is... surprising.. that C programmers, of all people, would have the nerve to make fun of PHP.
- igorgue 12y agoIt’s not 2004 anymore His argument is that PHP is better now that is not 2004, but also, you could say the same about PHP usage on big popular sites. I'm tired of the argument of "every big site is written on php" cause it's not 2004 anymore and if those sites were to start today they'd probably be written on other languages. He fails to mention that there is actually a fairly big amount of people that are horrible programmers and use, love, and preach PHP, they're not using Symfony, or reading Hacker News, or writing tests, still they're professional programmers.
- thoman23 12y agoHmm, OK, I'm guilty of having the biases and preconceptions that he's describing. However, even after reading through his post and some of the articles he linked to, I didn't see anything that really changed my mind. Even knowing that there are smart people at Facebook and Twitter using PHP, I just can't shake the connotations that those 3 letters have in my mind. I'll try to keep an open mind, but lord it ain't easy.
- trustfundbaby 12y agoI don't think people at Twitter use PHP ... might be wrong on that though. From what I remember they started with Ruby/Rails and are now doing a lot of JVM stuff (Scala)
- MarioSh 12y agoSometimes I really wonder, why everyone hates PHP? Sure, it's not the best language around to do complex calculations but it's very easy to write code there.
- McGlockenshire 12y agoIt's not a particularly elegant language. Even with the RFC process, php-internals still resists adding language features useful only to advanced developers. The standard library is full of warts, including odd spelling, inconsistent argument order, etc. The killer though, as mentioned in the article, it has a low barrier to entry, so lots of neophytes write lots of bad code in it. There's also a tremendous amount of horrid, obsolete code out there, written by people that didn't know any better at the time, and kept up because the internet never forgets. PHP is far less of a joke than it used to be, but people will continue to hate on it and look down on people that make a living writing it.
- wvenable 12y agoThe thing that gets me is that JavaScript has all these same problems yet, because everyone is forced to use it, it doesn't get as much hate.
- McGlockenshire 12y agoAnother major difference is that Javascript has trendy things with hype machines. PHP is not trendy, and there's pretty much no hype around any PHP project.
- TheAnimus 12y agoIt's not the hype, for me I use JavaScript because I have no choice. I dislike many things about it, but I have no choice, I need my code to run in the web browser, no plug in, no Flash or Silverlight etc. For my start up, I can't see a single reason why we'd use PHP, try to not think of it as me saying PHP is bad, it's just other languages and frameworks offer us more value.
- bdcravens 12y agoIf validation is the problem, then remember that most developers aren't on HN, and they aren't building startup apps. Also, I can't imagine a developer only knowing the one languages. Leverage other "cool" projects if you feel you really need some geek cred (Javascript MVC, CSS pre-processor like SASS or LESS, automate your builds using Chef, optimize developer experience using Vagrant, implement search using ElasticSearch, etc) If all you've ever used was PHP and you haven't grown into using the other amazing tools that are available in 2015 (remember, "this isn't 2004"...) that's the bigger issue.
- Raphmedia 12y agoIf you base your identity on the language of the day, you are going to have a bad time when things change. I am a developer. I develop in multiple languages, using multiple frameworks, with different technologies, to fill different needs. Why would I care which language I am using for a project? The syntax is different and so are the built-in tools, but in the end, you are doing the same things.
- sanderjd 12y agoI like this viewpoint, but the problem is that it largely doesn't carry over into hiring where job postings are often for uber-specific skill sets, rather than for "somebody who can come and figure out how to do any of the stuff we do and all the stuff we'll eventually do but haven't thought of yet". It's just harder to hire for the latter, so putting "requires PHP / RoR / AngularJS / whatever" on the job posting is the easy road. There seem to be some indications that this trend is changing, so I'm cautiously optimistic.
- V-2 12y agoWell, "base your identity" that's an exaggeration of course, but I think it's a mark of an insightful professional to have opinions about various tools of his trade, and some sort of taste. Rather than being the "just punch your card and go home" guy. I don't like, say, C++ (let's http://cdn.meme.am/instances/500x/57005651.jpg http://cdn.meme.am/instances/500x/57005651.jpg for a sec...), so I'll stay away from it. This is one of the perks of being a software dev that the job market allows you to pick technologies that appeal to you, the ones you enjoy learning and using.
- jon_kuperman 12y agoHey all, author here. You all are amazing and took down my website! If it's not loading for you, I put the post in a gist which can be found here: https://gist.github.com/jkup/dcaa56f1d066409d17f5 https://gist.github.com/jkup/dcaa56f1d066409d17f5
- mst 12y agoMaybe you need to restart apache every 10 requests? (good article though ... I try to prefix my PHP rage stories these days with 'argh, argh, PHP3' so people realise I'm complaining about the past rather than the present)
- issa 12y agoHating PHP is like hating Taylor Swift: You can't argue with numbers, and sometimes, despite resisting, you end up singing along.
- issa 12y agoI guess I should have known defending PHP and mentioning Taylor Swift would get downvoted. I still stand by the comparison.
- trustfundbaby 12y agoI did PHP for many years before moving to Ruby and Rails and never looked back ... doing Ruby made me a much much better software Engineer and gave me a better understanding of Computer Science as a whole. Its not impossible to get this with PHP, but the fact is that the low barrier to entry actually works against it. There are way more amateurs screwing around and writing really bad code with PHP than you'd find doing Ruby, Python and (more recently) Javascript (wasn't always the case though) PHP just has bad PR. It unfortunate, but its just the reality of the PHP ecosystem, and if you choose to program mainly in it, then its something that you have to accept and work hard to overcome. Weirdly enough, I find quite a few startups/tech companies that I wouldn't expect to use PHP actually do. Pocket. Slack. for example then the usual suspects like Facebook and Automattic (wordpress guys). From my experience following Ruby on Rails from the beginning till now ... I think the these using PHP are doing the ecosystem a massive disservice by not blogging more extensively about the awesome things they're doing with it and getting more word out about the right way to do things. Thats the only way I see the perception of PHP changing.
- nercury 12y agoWe know why we chose a PHP for a project, how "bad" PHP is and can weight that against advantages it brings. We already know all the jokes and just do our jobs. Also, I suspect some people do not get it when we say "it is not 2004 anymore". It REALLY isn't. We see and write this kind of code on daily basis: https://github.com/symfony/FrameworkBundle/blob/master/Command/ServerStatusCommand.php https://github.com/symfony/FrameworkBundle/blob/master/Comma... We do not deal with nightmare cases like this anymore: https://github.com/2b3ez/FileManager4TinyMCE/blob/master/tinymce/plugins/filemanager/dialog.php https://github.com/2b3ez/FileManager4TinyMCE/blob/master/tin... So, please do not pity us. We know what we use and why.
- otterpro 12y agoPHP had many positives: (1) killer apps like Wordpress and PHPmyadmin, (2) PHP apps are easy to install and run on most stock *nix system, and (3) bare-bone PHP runs fast, compared to Rails or other framework (which is not a fair comparison, though) Unfortunately, PHP has failed in: (1) lack of leadership and the vision -- they need someone like DHH or Linus Torvalds or the support of a major corporation such as Google (HHVM from Facebook not withstanding) (2) PHP still suffers from the lack of respect from software engineers and developers, and faced the same fate of VB6 (which I've had fond memories of doing "casual programming"), (3) future of PHP looks grim, despite the upcoming release of PHP 7, with the exception of Hack and HHVM, but Hack is not PHP.
- krob 12y agoI think you are wrong in stating php future looks grim, I think it all depends on what corner of the internet you are reading from. From where I am, I read reddit.com all the time, it's talked about extensively all day long. A language which gains no new features is one which is dead. I think python more than anything else is sort of dying.
- krob 12y agoWhat I hate the most about all these arguments is people always say that php people don't know shit about computer science. C.S. is important, but it's not what makes you a good programmer. Ultimately all systems have theory behind the underpinning technologies, but what makes a system powerful is how it's engineered at scale, and how code is maintained at scale. A house is about making sure all materials to build it are strong enough via scientific measurements & standards. You don't need to be a rocket scientist to know that if you don't use proper materials, everything falls apart. That is why if you write in langauges like php, they improve the C.S. part from the community, but also build frameworks which are the Software Engineering Technics encoded in documentation. Ultimately, what makes people hate a language is how it engineers structures at scale, and ones which don't force the hand, people hate. PHP has recently frowned apon writing massive codebases without frameworks, and when it is a framework, they expect people to take the time to document their frameworks to a point where the community can take over and improve that product. Writing lots of non-domain specific code is a sure-fire way to find haters all day long. Almost all modern php now is very heavily leveraged in package management & commonly used frameworks & best practice software engineering principles in the underpinning glue to the code.
- not_a_test_user 12y agoWe use mostly PHP at work but lately I have been using my free time to learning Ruby because most good job offers around here ask for Rails knowledge. I'm not saying there are no PHP job offers, there are, but they are mostly for maintaining old codebases that have none of the good features that modern PHP has. Or they are for web agency jobs that consist of mass producing cookie cutter web sites. I think Laravel 5 looks very interesting but I feel I can't afford to explore it because I need to learn Ruby if I want a better job.