4 ms·
It's really easy to make up statistics on the spot with absolutely no source. I very much doubt that people would be getting paid to write any code if they cou
by Shanea93 10y ago
It's really easy to make up statistics on the spot with absolutely no source.
I very much doubt that people would be getting paid to write any code if they couldn't implement a single for loop in their primary programming language.
- pc86 10y agoPHP was the first language I ever used professionally. The code I wrote - the code every single one of my colleagues wrote - was atrocious. We were paid bottom dollar ($30k in 2008) to write absolute shit code. The PHP community in my area was the same. All newbies, all paid barely more than a fast food manager, all writing code that could be taken down by a HS student with Fiddler. I'm sure different experiences exist, but the majority of folks who I speak to have experiences that match mine very closely. PHP is a ghetto.
- Shanea93 10y agoAnd since then tools such as Composer and Symfyony3 have been released. It's been almost 10 years. Hell, even Magento2 isn't that bad, if you can look past the awkward dependency injection they're in the process of fixing. PHP in 2008 is very different to PHP in 2016. PHP frameworks in 2008 are very different to PHP in 2016. PHP developers in 2008 are very different to PHP in 2016.
- mgkimsal 10y agoJust because those tools exist doesn't mean people use them. There were decent libraries and high quality code back in 2008 (and 2000) but people didn't necessarily use them. It's arguable somewhat easier today, but that's a relative term. If you're FTPing code from BBedit or Dreamweaver up to your godaddy shared hosting and clicking buttons in cpanel... composer/symfony won't help.
- rimantas 10y ago> Just because those tools exist doesn't > mean people use them. But, oh, they do! At least there in most of the jobs you will deal either with Symfony or with Laravel. > here were decent libraries and high quality code back in > 2008 (and 2000) but people didn't necessarily use them. Please, name a couple from each year. PHP started to mature since PHP 5 and that was released in 2004. While you could have working and tolerable code before that the language was lacking features for high quality code. Maybe if you reframe that as "high quality given the limitations" I'd accept that. But I am seriously curious what would you consider high quality PHP libs from 2000.
- mgkimsal 10y agoMuch of what was in PEAR was decent, if not good, and was used by a lot of folks as the basis for their projects. All judgements of quality are relative to the capabilities of the tech/lang/platform at that time.
- mgkimsal 10y agoPHP is so vast that it's a ghetto, the rich uptown area, a sprawling suburban middle class, and more. I share some of your experiences - I'm disturbed by how easy it is for people without basic coding knowledge to make money "building php websites". But I also see and run in to a large number of people who can do fantastic PHP code (testable, documented, clean, modular, etc). One thing I've noticed is that most of the people who can do good PHP code (at least in the sense that it's not crappy) have also worked in other languages/tech, either before or during their PHP work. I know the exceptions, but for the most part, someone's PHP code quality is higher if they've done more than just PHP.
- wooptoo 10y ago> someone's PHP code quality is higher if they've done more than just PHP. That's how most quality frameworks for PHP were born, by folks having used other languages. That being said, I find Symfony3 to be very decent. I was surprised by the quality of its documentation.
- SmellyGeekBoy 10y agoMy experience mirrors yours exactly but with one difference - we were using .NET (C# specifically). I'm now a professional .NET contractor (among other things) and looking back at the code we wrote 7 years ago terrifies me. Thankfully I'm not responsible for maintaining it anymore. I suppose the point is that incompetence is language-agnostic. :)
- mgkimsal 10y agoa "single for loop" and a "fibonacci method" are different enough. there are loads of people who take money for working in PHP, and they're closer to pc86's view of things than yours. I wouldn't say "99%" but... there's a lot. A LOT. I've run (and attended) several local tech meetups in my area, and ... there's a huge amount of technical talent, but also a surprising number of people bumbling around with wordpress, drupal and other systems. They generally don't have a clue what't they're doing with respect to PHP code, but they make a living modifying themes by cut/paste stuff from forums.
- Shanea93 10y agoHere, fibonacci implemented in a single for loop (obviously, there's cruft in there to modify the array but there's no need for us to be facetious). Feel free to wrap function call around it if the procedural nature makes you feel icky. $iterations = 50; $numbers = [1,0]; for($i=0; $i<$iterations; $i++) { array_push($numbers, $numbers[0] + $numbers[1]); array_shift($numbers); echo $numbers[0]; } You seriously expect me to believe that 99% of PHP developers couldn't have written this?
- mgkimsal 10y agoI'm not sure why you posted code here - I don't think the possibility of this code being written was ever in doubt. Personally, I already said I don't think 99% is accurate, but... we'd have to define terms. "PHP developer" - is that different from someone who modifies (or creates) PHP code as part of their job to earn a living? Maybe they're just "PHP workers"? The very notion of "array_shift" and "array_push" is foreign to a non-trivial amount of PHP workers. The word fibonacci is foreign to a hell of a lot of people who make their living in code. I don't think you interact with beginners/amateurs enough to understand where pc86 was coming from. If you describe fibonacci in english, gave some working parameters, I would be willing to bet 15-20% of people who self-identify as "PHP developers" (and get paid a wage for it) would struggle and ultimately fail that test above. I still see code (not a lot, grant you) where people have not understood what passing a parameter to a function call means, and instead the first line of each function call is a string of "global $foo" stuff.