Documentation gets fixed all the time. PHP has been historically known as having one of the best docs and the docs have contributed to its success. As with the source code, the docs are open to contributions if you feel the need to modify or add something.
That's funny you say PHP can't scale. Facebook, Yahoo, Etsy and a whole lot of other big PHP shops get more traffic than most of us will ever see in a few life times. So, PHP scales. Even pre-Hiphop Facebook got more traffic than most of us will will ever see. Many times scaling is more about architecture design/implementation than language. App Engine is all about scaling and PHP runs on it. Oh by the way, at scale, every language is a data center toaster oven.
PHP people aren't mad that people are leaving. They are happy that it is still the #1 language used for web development.
The only valid argument you have is the mixed methods and stuff. It would be cool to fix, but it would mean seriously breaking the API and would cause a lot of confusion. Every minor release breaks the API a little bit and people are unhappy. So, this might never change. I don't see it as a big deal because if you are a great programmer, you know the quirks of your language and they don't throw you off. Also, there is auto-completion and docs for you to look up things if you don't know stuff off the top of your head.
It is true that lots of developers have left PHP, but it is a falsehood that everybody is moving away from PHP. If that was the case, PHP wouldn't be running on 75% of the public facing web hosts out there. There would be a business incentive (because they are using another language) to get PHP off their box. They could devote those resources to the new language they are using. The 75% number shows that their is no mass exodus, but definitely evidence not everybody is using PHP.
Oh, by the way, PHP is open source so you can help contribute to its continued success if you like. If somehow you have already contributed, don't stop till the work is done.
http://www.php.net/manual/en/internals2.apiref.php
This is PHP's documentation for fixing things internally to it. Which would be fine if the internals made any sence whatsoever, but between the implementation of steams and the abmismal design of zval's there isn't much to logically make sence of.And this isn't just well if you find it lacking its open source so make it better. We have we made better PHP's and named then things like Node.js and Python. Why would I implement a JIT in PHP when I could just use V8 and have an awesome runtime right out of the box ? Imperically PHP isn't nearly as fast or efficient as other languages, that’s not just an opinion it's been shown in multiple benchmarks and tests. I know it can be used for doing useful things and can even be used for large projects. I work on one of those daily, the issue is no one seems to care that as a platform PHP is _not_ a good choice any more, and increasingly the community isn't making a point of steering the platform to where it is a good choice. They just rattle off the same talking points of "Well facebook uses it" and "XX% of websites are using PHP so clearly it is good"
You want a good PHP release?
Provide documentaiton on the entire platform (http://www.php.net/manual/en/internals2.apiref.php)
Fix the zvals to make thbem memory efficient
Speed up the core ( not a opcode cache a real tracer and JIT )
Then add in yield and continuations, because without the other parts no one should care about language niceties, because no one should be using the language.
However, if you don't like it, nobody's forcing you to use it. Just walk away.
I find the people doing the moaning about PHP are the noobs who are regurgitating what they read or heard elsewhere in order to appear smart, Having moved to PHP 10 years ago after C and Java and .NET development I am happy for having changed direction and have made a bootload of money and saved alot of time thanks to PHP over the years.
Hmmm, you have heard about PHP-FPM right? And the built-in APC cache? And HipHop?
Besides, in my experience performance problems will arise with other parts of your architecture a lot sooner that your application code (e.g. database if you're not clever about load balancing and caching), regardless of what language you are using. Network calls and disc I/O are a lot more expensive than CPU cycles in your app code.
> Still nothing saying they are fixing their documentation.
Define fixing. It works fine for me as-is.
> Nothing addressing their hodgepodge of legacy code and mixed methods of implementing features.
Again, define addressing. Deprecating? They're doing that. What else do you suggest, breaking existing popular applications by removing legacy code that you find offensive? Let me know how that works out (see Perl 6, Python 3...).
> Its like their upset that people have moved on,
Define people. Seriously.
> but instead of providing a better core for people to build products on they keep adding chrome to the fringes of the language hoping to get more people sucked into developing for it only to realize that once they do anything of significant size in PHP they will need to do a full rewrite into a language that can actually scale or turn to a PHP to C++ lexer to actually get a product that doesn't also server as a Data center toaster oven.
Wow, that needs a comma.
I hate these ranty posts attacking open source projects. Have you any idea how many hours of dev time went into PHP 5.5, free of charge? If they work that hard to build something this significant for the community free of charge, the least they deserve is your respect. In the meantime, feel free to go use Scala/Ruby/Node/whatever excites you.
I'm sorry, but given that PHP the platform (forgetting about gripes with the language syntax for a moment) has been used on major projects for years, what more significant progress do you want?
Your talking about it as if it needs to prove itself as a viable technology, when clearly this is not the case.
Actually, it does. When you give people a large array of choices and they consistently choose the same thing, over and over again, that makes that thing good. Now, it may not be good for exclusively engineering reasons, but it is still nevertheless good.
I share your reservations about legacy API (the naming scheme and parameter order of many standard PHP functions should have been cleaned up years ago) and I think adding yet another slew of OO sugar coating isn't going to encourage developers to write better PHP apps, quite the contrary.
> Its like their upset that people have moved on, but instead of providing a better core for people to build products on they keep adding chrome to the fringes of the language hoping to get more people sucked into developing for it only to realize that once they do anything of significant size in PHP they will need to do a full rewrite into a language that can actually scale or turn to a PHP to C++ lexer to actually get a product that doesn't also server as a Data center toaster oven.
Wow. This big run-on sentence about not being able to do "anything significant in PHP" is just not true, and that's me parsing it generously. Big projects can and do run on PHP. It's a valid choice. If you're using PHP for genome sequencing analysis, you're not using the right tool to begin with - but the same applies to pretty much any other web language as well.
In the end, there is just nothing constructive here. PHP haters, fashionable as they may be, will agree with you. PHP users will roll their eyes and move on. And very little factual arguments have been exchanged beyond useless posturing.
That wasn't my allegation, though it's a good point you bring; PHP is sold as a language for novices, and novices tend to use it, despite being the most difficult language in common use due to its innumerable pitfalls, which isn't aided by the poor instruction material all over.
> You can get cheap PHP devs because PHP is so ubiquitous. You can also get really good ones.
No, but really, the pay is generally less. Being a good PHP dev is less profitable than being a good Java or Ruby one, if the same holds for other countries, then I guess that accounts even more for the reputation of the language (people who are actually good programmers tend to move to other languages for better pay among other things).
And, you know, this wasn't the point. With much better alternatives available, why choose PHP if not for familiarity or cheapness of labour?
These things are highly cyclical as I said, and I believe "PHP for absolute dummies"-style literature is already well past its heyday, being replaced by "RoR for absolute dummies" and, in time, other languages and frameworks. I agree about the pitfalls and that PHP is not a good language for beginners.
> Being a good PHP dev is less profitable than being a good Java or Ruby one
I don't know, it's possible. I look at this from an all-rounder's perspective, so the process is generally different. In most cases, language choice is something that happens after the project's needs have been identified. And yes, sometimes that does mean I suggest PHP when I think it's appropriate. It's never been an issue once, neither as far a client acceptance nor technical follow-through was concerned.
> why choose PHP if not for familiarity or cheapness of labour?
There are a few factors that influence this, and the developer's taste is always a big one. When in doubt I tend to avoid the application server pattern. But things that have moved me towards PHP in the past were pretty diverse. PHP's per-request execution model can have big advantages, especially when dealing with huge applications. Depending on the nature of the project, development speed can be faster. Sometimes I choose PHP over another solution because I know there will be less code to write (and I avoid it in situations where a PHP solution would be more complex). Server availability and access to support personnel can also be a factor.
Simply take a look at popular job sites - you don't even have to look at Monster.
PHP devs may be the cheapest as a whole because there's so many. If you're dead-set on finding a Go programmer they will come at a cost because there's so few.
Once you get into the higher level of skill, though, it starts evening out. IIRC the average senior salary for Ruby/RoR devs is only ~$5,000 more than a PHP dev.
I asked for reasons. You just told me it happens. I know it happens, I want to see a solid justification.
> Simply take a look at popular job sites - you don't even have to look at Monster.
For less pay.
> Once you get into the higher level of skill, though, it starts evening out. IIRC the average senior salary for Ruby/RoR devs is only ~$5,000 more than a PHP dev.
Why shouldn't I take the job with better pay and a better language?