PHP's declining(?) popularity

  107096
September 15, 2019 03:32 mikeschinkel@gmail.com (Mike Schinkel)
> On Sep 14, 2019, at 5:18 PM, Olumide Samson <oludonsexy@gmail.com> wrote: > > https://jaxenter.com/php-tiobe-sept-2019-162096.html > I think this is one of those things we get from voting no... > > I might be wrong anyways :-?
If those specific rankings are legitimately a cause for concern then it would make sense to do some objective analysis to determine why the languages that are growing marketshare are growing. From the list it seems Python stands out as having the most growth as a percentage. Googling for "why has python become so popular" I get these articles. I have copied their top level points but also included the text for the one point they all seem to have in common, that Python is simple, easy to use and easy to learn for new users (emphasis mine in all cases): https://medium.com/@trungluongquang/why-python-is-popular-despite-being-super-slow-83a8320412a9 <https://medium.com/@trungluongquang/why-python-is-popular-despite-being-super-slow-83a8320412a9> 1. End-users just don’t care (about slower performance) 2. More Productive "First and foremost reason why Python is much popular because it is highly productive as compared to other programming languages like C++ and Java. It is much more concise and expressive language and requires less time, effort, and lines of code to perform the same operations. The Python features like one-liners and dynamic type system allow developers to write very fewer lines of code for tasks that require more lines of code in other languages. This makes Python very easy-to-learn programming language even for beginners and newbies. For instance, Python programs are slower than Java, but they also take very less time to develop, as Python codes are 3 to 5 times shorter than Java codes. Python is also very famous for its simple programming syntax, code readability and English-like commands that make coding in Python lot easier and efficient." 3. Execution Speed does not matter as much as Business Speed https://www.kdnuggets.com/2017/07/6-reasons-python-suddenly-super-popular.html <https://www.kdnuggets.com/2017/07/6-reasons-python-suddenly-super-popular..html> 1. Python Has a Healthy, Active and Supportive Community 2. Python Has Some Great Corporate Sponsors 3. Python Has Big Data 4. Python Has Amazing Libraries 5. Python Is Reliable and Efficient 6. Python Is Accessible "For newcomers and beginners, Python is incredibly easy to learn and use. In fact, it’s one of the most accessible programming languages available. Part of the reason is the simplified syntax with an emphasis on natural language. But it’s also because you can write Python code and execute it much faster." https://www.techrepublic.com/article/why-python-is-so-popular-with-developers-3-reasons-the-language-has-exploded/ <https://www.techrepublic.com/article/why-python-is-so-popular-with-developers-3-reasons-the-language-has-exploded/> 1. Ease of learning "Python is the closest language to what I call 'an instant gratification language,' meaning with very little code, it can accomplish so much, even if you are a novice programmer," said Karen Panetta, an IEEE Fellow and Dean of Graduate Engineering at Tufts University. "This is because Python reads like English, which makes it more conducive for a broad level of user audiences to learn. Many of the 'nerdy' low-level details we used to worry about in other languages, such as declaring types of variables or arguments, are handled by Python, so it makes programming very flexible and easier to use than other languages." 2. The explosion of AI, machine learning, and data science in the enterprise 3. A large developer community https://www.skillsoft.com/blog/2018/06/top-5-reasons-why-python-is-so-popular/ <https://www.skillsoft.com/blog/2018/06/top-5-reasons-why-python-is-so-popular/> 1. Python is efficient 2. Python has an active community 3. Python is simple "With a shorter learning curve than other languages, say Java or C++, and understandable and readable syntax, you don’t need to be a programmer to start applying Python to everyday tasks. Python automatically takes care of things like garbage collection and even closes files, opened via the ‘with’ statement, for you. People starting out may also find the use of indentation to signify the start and end of loops, functions, classes and code blocks easier than tracking down the traditional opening and closing curly braces." 4. Python is in academia 5. Python is on trend https://eplexity.com/6-reasons-the-python-programming-language-is-so-popular/ <https://eplexity.com/6-reasons-the-python-programming-language-is-so-popular/> 1. Ease of use "Since its creation in the late 1980s by Guido van Rossum, Python has been specifically designed to be a general-purpose language. The simplicity of Python, and its easily human-readable syntax are two reasons why the language is so popular among seasoned coding professionals and Computer Science 101 students alike. Python is also an interpreted language, which means that you can quickly experiment with changes to the code base." 2. Supportive community 3. Corporate sponsors 4. Libraries and frameworks 5. Use in big data and machine learning 6. Efficiency Notice in none of these articles is there any mention of static typing or strictness or correctness as an attribute that the authors think contributes to why Python is gaining success. So my takeaway would be that if we wanted to see PHP start gaining marketshare again we should focus on features that make it easier to use and spend less time on trying to raise the bar for the skill level it will take to program in PHP8. #jmtcw -Mike P.S. Other ways to grow market share could be to: 1. Strive to support data science in a major way 2. Run on Single Board Computers like Raspberry Pi 3. Run a CLI via a single executable (i.e. package PHP runtime and PHAR files together so PHP scripts could be distributed without requiring a correctly installed version of PHP) 4. Empower developers to create cross-platform desktop, also contained with a single executable 5. Empower developers to create cross-platform mobile apps 6. Pursue corporate sponsors (too bad the Facebook ship already sailed.) 7. Find ways to get PHP taught in academia 8. Put more effort into driving adoption for PSRs like 6,7, 11, 14, 15, 16, 18 and in identifying and releasing more. 9. Strive to make PHP the best solution for AWS Lamba and other serverless solutions 10. Embrace all of userland PHP by giving them a voice in the direction of PHP, instead of limiting that voice to only those currently with a vote via phpinternals. Of course just because I included it in the list above does not mean the PHP team needs to pursue (any of) them. I am just pointing out areas where I think PHP could see some growth if PHP pursued it. Also, any of the above would require the PHP internals community to join together for the common-good rather than taking no-comprised positions that each seek one person's view of PHP perfection while blocking everything else. IMO anyway.
  107097
September 15, 2019 05:36 thruska@cubiclesoft.com (Thomas Hruska)
On 9/14/2019 8:32 PM, Mike Schinkel wrote:
>> On Sep 14, 2019, at 5:18 PM, Olumide Samson <oludonsexy@gmail.com> wrote: >> >> https://jaxenter.com/php-tiobe-sept-2019-162096.html >> I think this is one of those things we get from voting no... >> >> I might be wrong anyways :-? > > If those specific rankings are legitimately a cause for concern then it would make sense to do some objective analysis to determine why the languages that are growing marketshare are growing. > > From the list it seems Python stands out as having the most growth as a percentage. > > Googling for "why has python become so popular" I get these articles. > > I have copied their top level points but also included the text for the one point they all seem to have in common, that Python is simple, easy to use and easy to learn for new users (emphasis mine in all cases):
Want an easy, one-line improvement that costs the community nothing? Python is primarily a CLI tool. (Yes, it has GUI and, more recently, web bindings, but the vast majority of Python code I run into is CLI-oriented.) Why? Because those people who use Python don't realize that PHP is also a CLI tool and an excellent one at that. Here's the website description for PHP: "PHP is a popular general-purpose scripting language that is especially suited to web development. Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world." There's nothing in those two sentences that readily indicates anything other than "tool for website development." So people are going to look elsewhere for a language that does CLI and therefore that's what they do. I tried to get the following change (or something like it) added years ago and it was initially approved but was later ignored or forgotten: "PHP is a popular general-purpose scripting language that is especially suited to web development and command-line scripting. Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world." That's just one minor little text change on the homepage to make people aware that PHP is more than just a web development scripting language tool. I write all of my cron jobs in PHP. I write web scrapers in PHP. I write *servers* in PHP that run as system services as root (uh...). Pretty much everything I do is in PHP...but very little of it being actual web development. Whenever I bring those things up to people, I get funny looks that say, "PHP does CLI? Huh. Never knew that." -- Thomas Hruska CubicleSoft President I've got great, time saving software that you will find useful. http://cubiclesoft.com/ And once you find my software useful: http://cubiclesoft.com/donate/
  107099
September 15, 2019 07:18 zeev@php.net (Zeev Suraski)
On Sun, Sep 15, 2019 at 6:33 AM Mike Schinkel <mikeschinkel@gmail.com>
wrote:

> > On Sep 14, 2019, at 5:18 PM, Olumide Samson <oludonsexy@gmail.com> > wrote: > > > > https://jaxenter.com/php-tiobe-sept-2019-162096.html > > I think this is one of those things we get from voting no... > > > > I might be wrong anyways :-? >
First of all, Olumide, this is in fact wrong, although the general topic (language popularity and the reasons to it) is definitely worthy of discussion. The reason it's wrong is that TIOBE is a meaningless 'index' with a methodology that's not only questionable - but is rather downright idiotic. It's not just off or inaccurate - it's practically a random number generator. See for yourself: https://www.tiobe.com/tiobe-index/programming-languages-definition/ The RedMonk Language Rankings has a much more reasonable methodology, is a lot more stable, and there, PHP is repeatedly at the top 5 languages and not losing any steam in both absolute and comparative measures: https://redmonk.com/sogrady/2019/07/18/language-rankings-6-19/
> If those specific rankings are legitimately a cause for concern then it > would make sense to do some objective analysis to determine why the > languages that are growing marketshare are growing. >
Mike - even though specifically the TIOBE index isn't a cause for virtually anything, the rest of your analysis is still relevant - as the key takeaway you're basing it on - Python's growth - is also reflected in RedMonk rankings. Thomas - I also wholeheartedly agree with your suggestion. That's why we worked on FFI - to open the door for PHP to enter new areas. Even JIT is, for the most part, not really relevant to the common Web case and would be a lot more impactful in other types of workloads. And there may be other things we can do. But you're right - if we don't find a way to position it for these use cases in people's minds - it won't move the needle. Zeev
  107100
September 15, 2019 10:08 oludonsexy@gmail.com (Olumide Samson)
I also don't agree with the index and all its statistics, yet I'm not
invalidating it as it is a much-viewed index globally.

Though, what caught my eyes was this quote which I thought would be obvious
and Mike would have based those fact replies on(Yet I'm also not
invalidating his facts list and IMHO those as well would make sense in
PHP).

According to the index :
 "Till the end of 2009 everything went fine, but soon after that PHP was
going downhill from 10% to 5% market share in 2 years’ time. In 2014 it
halved again to 2.5%.

So what happened to PHP?
From its start PHP was the Visual Basic for web design: easy to learn, easy
to deploy, but mainly used by web designers with a limited software
engineering background.

The downside of PHP’s simplicity was that it was relatively easy to shoot
security holes in it.

 PHP has been struggling with this for a long time. In 2014 PHP’s biggest
supporter Facebook launched Hack as an alternative for PHP because it was
not scalable.

And after that, JavaScript, TypeScript and Python became the linguas franca
for web development."


These lines caught my eye more than the rest of the quote :

"The downside of PHP’s simplicity was that it was relatively easy to shoot
security holes in it. PHP has been struggling with this for a long time."

These other quotes seems good to watch as it mention one of the biggest
supporters creating an alternative because PHP wasn't scalable at its
current growth stage, maybe we might have been bothering too much about the
past while not remembering the present and future(Which is 100s of years to
come, if PHP is still a thing on the top 50) matters most than the
past(which is just some 15-20 years gone) :

" In 2014 PHP’s biggest supporter Facebook launched Hack as an alternative
for PHP because it was not scalable. And after that, JavaScript, TypeScript
and Python became the linguas franca for web development"

On Sun, Sep 15, 2019, 8:18 AM Zeev Suraski <zeev@php.net> wrote:

> > > On Sun, Sep 15, 2019 at 6:33 AM Mike Schinkel <mikeschinkel@gmail.com> > wrote: > >> > On Sep 14, 2019, at 5:18 PM, Olumide Samson <oludonsexy@gmail.com> >> wrote: >> > >> > https://jaxenter.com/php-tiobe-sept-2019-162096.html >> > I think this is one of those things we get from voting no... >> > >> > I might be wrong anyways :-? >> > > First of all, Olumide, this is in fact wrong, although the general topic > (language popularity and the reasons to it) is definitely worthy of > discussion. > > The reason it's wrong is that TIOBE is a meaningless 'index' with a > methodology that's not only questionable - but is rather downright > idiotic. It's not just off or inaccurate - it's practically a random > number generator. > See for yourself: > https://www.tiobe.com/tiobe-index/programming-languages-definition/ > > The RedMonk Language Rankings has a much more reasonable methodology, is a > lot more stable, and there, PHP is repeatedly at the top 5 languages and > not losing any steam in both absolute and comparative measures: > https://redmonk.com/sogrady/2019/07/18/language-rankings-6-19/ > > >> If those specific rankings are legitimately a cause for concern then it >> would make sense to do some objective analysis to determine why the >> languages that are growing marketshare are growing. >> > > Mike - even though specifically the TIOBE index isn't a cause for > virtually anything, the rest of your analysis is still relevant - as the > key takeaway you're basing it on - Python's growth - is also reflected in > RedMonk rankings. > > Thomas - I also wholeheartedly agree with your suggestion. That's why we > worked on FFI - to open the door for PHP to enter new areas. Even JIT is, > for the most part, not really relevant to the common Web case and would be > a lot more impactful in other types of workloads. And there may be other > things we can do. But you're right - if we don't find a way to position it > for these use cases in people's minds - it won't move the needle. > > Zeev >
  107103
September 15, 2019 12:14 zeev@php.net (Zeev Suraski)
On Sun, Sep 15, 2019 at 1:15 PM Olumide Samson <oludonsexy@gmail.com> wrote:

> I also don't agree with the index and all its statistics >
I'm not sure what you mean by 'all its statistics'. Mostly everything on the methodology page is fluff, which may be purposely there to hide the only part that really matters: ---------------- The ratings are calculated by counting hits of the most popular search engines. The search query that is used is +" programming" --------------- It's a simplistic measure of an arbitrary search term in search engines - nothing more. It's completely, 100.0% meaningless.
> , yet I'm not invalidating it as it is a much-viewed index globally. >
I am. It's quite remarkable that people are paying any level of attention to it whatsoever, and indeed it's saddening. But the fact that many people believe something doesn't make it true, if the evidence clearly suggest it isn't. According to the index :
> "Till the end of 2009 everything went fine, but soon after that PHP was > going downhill from 10% to 5% market share in 2 years’ time. In 2014 it > halved again to 2.5%. >
Trying to correlate the TIOBE index with anything that happened in the PHP world is akin to trying to correlate the results of rand() with the weather forecast. The two aren't related at all. Building any thesis on the foundation of the TIOBE index is like trying to build a brick house on a muddy soil. Heck, like trying to build a brick house in the middle of the ocean. There's nothing to build on. While it's extremely difficult to measure the popularity of languages, RedMonk's slightly more relevant measurements (GitHub projects and Stack Overflow questions) suggest it's been doing well over the last decade - right up there in the top 5 with no meaningful decline. What Mike and others pointed out are areas where we should consider investing if we want to *increase* the popularity beyond what it already is (which is what happened with Python). Zeev
  107168
September 16, 2019 13:46 chasepeeler@gmail.com (Chase Peeler)
On Sun, Sep 15, 2019 at 8:14 AM Zeev Suraski <zeev@php.net> wrote:

> On Sun, Sep 15, 2019 at 1:15 PM Olumide Samson <oludonsexy@gmail.com> > wrote: > > > I also don't agree with the index and all its statistics > > > > I'm not sure what you mean by 'all its statistics'. Mostly everything on > the methodology page is fluff, which may be purposely there to hide the > only part that really matters: > ---------------- > > The ratings are calculated by counting hits of the most popular search > engines. The search query that is used is > > +" programming" > > --------------- > > It's a simplistic measure of an arbitrary search term in search engines - > nothing more. It's completely, 100.0% meaningless. > > > > , yet I'm not invalidating it as it is a much-viewed index globally. > > > > I am. It's quite remarkable that people are paying any level of attention > to it whatsoever, and indeed it's saddening. But the fact that many people > believe something doesn't make it true, if the evidence clearly suggest it > isn't. > > According to the index : > > "Till the end of 2009 everything went fine, but soon after that PHP was > > going downhill from 10% to 5% market share in 2 years’ time. In 2014 it > > halved again to 2.5%. > > > > Trying to correlate the TIOBE index with anything that happened in the PHP > world is akin to trying to correlate the results of rand() with the weather > forecast. The two aren't related at all. Building any thesis on the > foundation of the TIOBE index is like trying to build a brick house on a > muddy soil. Heck, like trying to build a brick house in the middle of the > ocean. There's nothing to build on. > > While it's extremely difficult to measure the popularity of languages, > RedMonk's slightly more relevant measurements (GitHub projects and Stack > Overflow questions) suggest it's been doing well over the last decade - > right up there in the top 5 with no meaningful decline. What Mike and > others pointed out are areas where we should consider investing if we want > to *increase* the popularity beyond what it already is (which is what > happened with Python). > > Zeev >
While I think some excellent suggestions have been made on this thread, one thing that I feel Mike's sources show (and maybe it's confirmation bias) is that any decline in popularity that PHP might be experiencing (for the sake of argument, we'll pretend such a decline does exist) isn't because PHP isn't strict enough. It's because it doesn't do a lot of the things that languages like Python can do. If this is the case, we don't reverse the trend by making our language more syntactically or behaviorally like the other languages out there. We reverse it by supporting the features that are currently lacking, or, adding features that other languages don't have. -- Chase Peeler chasepeeler@gmail.com
  107170
September 16, 2019 14:12 kontakt@beberlei.de (Benjamin Eberlei)
On Mon, Sep 16, 2019 at 3:47 PM Chase Peeler <chasepeeler@gmail.com> wrote:

> On Sun, Sep 15, 2019 at 8:14 AM Zeev Suraski <zeev@php.net> wrote: > > > On Sun, Sep 15, 2019 at 1:15 PM Olumide Samson <oludonsexy@gmail.com> > > wrote: > > > > > I also don't agree with the index and all its statistics > > > > > > > I'm not sure what you mean by 'all its statistics'. Mostly everything on > > the methodology page is fluff, which may be purposely there to hide the > > only part that really matters: > > ---------------- > > > > The ratings are calculated by counting hits of the most popular search > > engines. The search query that is used is > > > > +" programming" > > > > --------------- > > > > It's a simplistic measure of an arbitrary search term in search engines - > > nothing more. It's completely, 100.0% meaningless. > > > > > > > , yet I'm not invalidating it as it is a much-viewed index globally. > > > > > > > I am. It's quite remarkable that people are paying any level of > attention > > to it whatsoever, and indeed it's saddening. But the fact that many > people > > believe something doesn't make it true, if the evidence clearly suggest > it > > isn't. > > > > According to the index : > > > "Till the end of 2009 everything went fine, but soon after that PHP > was > > > going downhill from 10% to 5% market share in 2 years’ time. In 2014 it > > > halved again to 2.5%. > > > > > > > Trying to correlate the TIOBE index with anything that happened in the > PHP > > world is akin to trying to correlate the results of rand() with the > weather > > forecast. The two aren't related at all. Building any thesis on the > > foundation of the TIOBE index is like trying to build a brick house on a > > muddy soil. Heck, like trying to build a brick house in the middle of > the > > ocean. There's nothing to build on. > > > > While it's extremely difficult to measure the popularity of languages, > > RedMonk's slightly more relevant measurements (GitHub projects and Stack > > Overflow questions) suggest it's been doing well over the last decade - > > right up there in the top 5 with no meaningful decline. What Mike and > > others pointed out are areas where we should consider investing if we > want > > to *increase* the popularity beyond what it already is (which is what > > happened with Python). > > > > Zeev > > > > While I think some excellent suggestions have been made on this thread, one > thing that I feel Mike's sources show (and maybe it's confirmation bias) is > that any decline in popularity that PHP might be experiencing (for the sake > of argument, we'll pretend such a decline does exist) isn't because PHP > isn't strict enough. It's because it doesn't do a lot of the things that > languages like Python can do. If this is the case, we don't reverse the > trend by making our language more syntactically or behaviorally like the > other languages out there. We reverse it by supporting the features that > are currently lacking, or, adding features that other languages don't have. > > First, you say it yourself, but the sources are biased, so i am not sure any of your conclusions hold valid. But lets pretent they do, like you did.
Yes PHP does a lot of things that languages like Python can do, for example alwayse throwing an error when you access an undefined variable, which is totally something that python does. Newcomers do make a lot of simple mistakes in the beginning, so being strict on enforcing variables exist is something that makes it easier for newcomers.
> > > -- > Chase Peeler > chasepeeler@gmail.com >
  107173
September 16, 2019 15:11 chasepeeler@gmail.com (Chase Peeler)
On Mon, Sep 16, 2019 at 10:12 AM Benjamin Eberlei <kontakt@beberlei.de>
wrote:

> > > On Mon, Sep 16, 2019 at 3:47 PM Chase Peeler <chasepeeler@gmail.com> > wrote: > >> On Sun, Sep 15, 2019 at 8:14 AM Zeev Suraski <zeev@php.net> wrote: >> >> > On Sun, Sep 15, 2019 at 1:15 PM Olumide Samson <oludonsexy@gmail.com> >> > wrote: >> > >> > > I also don't agree with the index and all its statistics >> > > >> > >> > I'm not sure what you mean by 'all its statistics'. Mostly everything >> on >> > the methodology page is fluff, which may be purposely there to hide the >> > only part that really matters: >> > ---------------- >> > >> > The ratings are calculated by counting hits of the most popular search >> > engines. The search query that is used is >> > >> > +" programming" >> > >> > --------------- >> > >> > It's a simplistic measure of an arbitrary search term in search engines >> - >> > nothing more. It's completely, 100.0% meaningless. >> > >> > >> > > , yet I'm not invalidating it as it is a much-viewed index globally. >> > > >> > >> > I am. It's quite remarkable that people are paying any level of >> attention >> > to it whatsoever, and indeed it's saddening. But the fact that many >> people >> > believe something doesn't make it true, if the evidence clearly suggest >> it >> > isn't. >> > >> > According to the index : >> > > "Till the end of 2009 everything went fine, but soon after that PHP >> was >> > > going downhill from 10% to 5% market share in 2 years’ time. In 2014 >> it >> > > halved again to 2.5%. >> > > >> > >> > Trying to correlate the TIOBE index with anything that happened in the >> PHP >> > world is akin to trying to correlate the results of rand() with the >> weather >> > forecast. The two aren't related at all. Building any thesis on the >> > foundation of the TIOBE index is like trying to build a brick house on a >> > muddy soil. Heck, like trying to build a brick house in the middle of >> the >> > ocean. There's nothing to build on. >> > >> > While it's extremely difficult to measure the popularity of languages, >> > RedMonk's slightly more relevant measurements (GitHub projects and Stack >> > Overflow questions) suggest it's been doing well over the last decade - >> > right up there in the top 5 with no meaningful decline. What Mike and >> > others pointed out are areas where we should consider investing if we >> want >> > to *increase* the popularity beyond what it already is (which is what >> > happened with Python). >> > >> > Zeev >> > >> >> While I think some excellent suggestions have been made on this thread, >> one >> thing that I feel Mike's sources show (and maybe it's confirmation bias) >> is >> that any decline in popularity that PHP might be experiencing (for the >> sake >> of argument, we'll pretend such a decline does exist) isn't because PHP >> isn't strict enough. It's because it doesn't do a lot of the things that >> languages like Python can do. If this is the case, we don't reverse the >> trend by making our language more syntactically or behaviorally like the >> other languages out there. We reverse it by supporting the features that >> are currently lacking, or, adding features that other languages don't >> have. >> >> First, you say it yourself, but the sources are biased, so i am not sure > any of your conclusions hold valid. But lets pretent they do, like you did. > > I was saying the index that was cited was wrong. I wasn't questioning the articles that Mike linked to. However, even if I was, it's not
contradictory to claim that someone's facts are wrong, yet still address them as if they were not for the sake of the argument.
> Yes PHP does a lot of things that languages like Python can do, for > example alwayse throwing an error when you access an undefined variable, > which is totally something that python does. > > Yes, but when someone is looking for a language to use, they aren't looking for the one that throws the most errors. I'm looking for one that
provides me the features I need and is easy to use. Python seems to fit that bill for a lot of people now given the resources they provide for the beginners and the features they offer. While we might can argue about the benefits of throwing an error for an uninitialized variable, I would be willing to put money on the fact that very few people are picking the language because of that feature. If I'm looking for a language to teach someone, maybe I go with that. I think an argument could also be made that allowing them to focus on the logical thinking aspect of programming, rather than the small details of boilerplate code.
> Newcomers do make a lot of simple mistakes in the beginning, so being > strict on enforcing variables exist is something that makes it easier for > newcomers. >
I find unreadable code to be a big issue. Maybe we should require code be indented like python, and not allow the program to run if there is even a single extra white space anywhere. You know what else is great about PHP? You actually CAN configure it RIGHT NOW to throw an Error on an uninitialized variable. You don't actually have to force every other PHP developer to work in that type of environment in order to do so, either.
> >> -- >> Chase Peeler >> chasepeeler@gmail.com >> >
-- Chase Peeler chasepeeler@gmail.com
  107101
September 15, 2019 10:36 php.lists@allenjb.me.uk (AllenJB)
I'm not going to go into my opinions on rankings - others have already 
done enough of that. I concur with them - most rankings are meaningless. 
PHP is also not, in my opinion, dead or dying. It doesn't enjoy the 
monopoly it once had on web-based development, but it's also still very 
popular.

PHP has been my primary language for a long time. I've recently been 
undertaking a small personal project in Python - namely because there's 
no well maintained PHP equivalent of the library I want to use 
(gmusicapi - Google Play Music has no official documented API).

In my opinion, Python is popular on the command-line / linux partly 
because it's become a replacement for Perl. Perl used to be king for 
doing a lot of scripting and anything remotely complex, then they went 
off on their Perl 6 voyage and now I don't think anyone knows what's 
going on with it or has the time to care.

Python also has a reputation for being a language for doing "big data" / 
"machine learning" / "AI" things, and since that's a big thing, it gets 
picked a lot for those reasons.

It's also used in places like Plex and XBMC/Kodi plugins where I think a 
number of people get their first "I want to program" itch. Wordpress 
(plugins) used to be a big draw for PHP here, but I think with the rise 
of alternatives (static site builders, use of other languages, increased 
capabilities on browsers) this has waned over the years.

Maybe it's coming from PHP and I was specifically trying to avoid having 
to deal with writing / using a Python HTTP server and getting a setup 
similar to PHP-FPM, but in my opinion setting up anything web-based in 
Python is kind of a mess - there's a lot of alternatives and no clear 
easy option. For me, PHP, with the simplicity of PHP-FPM is, in my 
opinion, clearly better here.

One area where I think Python really stands out compared to PHP tho is 
its "new user experience". Starting with the official tutorial ( 
https://docs.python.org/3/tutorial/ ): While I was obviously coming in 
with a lot of programming knowledge, I felt Python's tutorial is very 
well done. Its well laid out index means you can quickly skip around 
when you already know what you want to achieve (but not how to achieve it).

Compare this to the official PHP tutorial ( https://www.php.net/tutorial 
) which to me feels pretty much only covers a basic HTML form. The 
"What's Next" section directs you to http://talks.php.net/ which has 
very limited content from the past 5 years and a lot from before that. 
It also has a theme that hurts my eyes to look at (kind of ironic that 
the "PHP Presentations" site has horrible presentation =P ). The "What 
Can PHP Do" link takes you to a page that is pretty much a wall of text. 
It spends a lot of time talking about things (eg. listing supported 
operating systems) that probably 99% of users don't care about at this 
point as well as linking to effectively dead projects like PHP-GTK.

If you then try to proceed onwards, one of the next things people 
frequently want to do is storing information in Sessions ( 
https://www.php.net/manual/en/book.session.php ) (from my experience 
helping users in the likes of Freenode's ##php ). While I understand 
this section as a long time PHP developer and it does cover a lot of 
technical information, if you're coming into this as a newbie developer 
while you can sort of get some basic session code going on, many newer 
developers do hit / have questions on slightly more complex topics like 
session locks or session file management and are, I believe, quickly 
left with their head spinning.

Python also has a user editable wiki with the Beginners Guide ( 
https://wiki.python.org/moin/BeginnersGuide ) being practically the 
first link after the main documentation links on the Docs section of the 
Python site ( https://www.python.org/doc/ )

I think the entire "new user experience" of PHP could do with review. 
Some suggestions to start:

* Link directly to the tutorial from the front page of php.net
* Look at removing the https://www.php.net/docs.php page and replacing 
it by linking directly to the manual.
   * PHP 4 documentation, "More documentation" and downloads could be 
linked as an / from an appendix.
   * There's already a language switch on the top right of the page for 
swithcing to other languages
* Move contributors to an appendix - it unnecessarily takes up a 
significant amount of space at the top of the manual index forcing users 
to scroll down to the content they want. We're all very grateful to the 
manual contributors, but it's not what 99% of users are there for.
* Link directly to Language Reference ( 
https://www.php.net/manual/en/langref.php ) and Features ( 
https://www.php.net/manual/en/features.php ) from the tutorial

talks.php.net:
* Update links to use HTTPS (minor, but the "Not secure" is still ugly)
* Link from the front page of php.net
* Make it clear and easy for users to submit new talks and otherwise 
contribute to this section
* Improved theme that doesn't make me want to scratch my eyes out. Avoid 
unnecessary animations (the elephpant is cute but it keeps pulling my 
brain from the actual content). (I might look into submitting some 
simple changes if/when I can find the repo for this)
* Review and tidy up older talks
   * Remove anything that's completely out-of-date / doesn't work in PHP 7.x
   * Where multiple talks cover the same topic / material, pick the best 
/ more up todate ones (for example there's like 3 dozen XDebug talks)
   * Some talks are broken - for example 
http://talks.php.net/show/vxml_php_2004 gives an error when trying to go 
to the next slide (bug filed: https://bugs.php.net/bug.php?id=78542 )

* Consider a user-editable wiki
   * Talks would go well here, I think
   * See examples where other OSS projects do this - Python, Arch & 
Gentoo Linux

A wiki might not be necessary if/when users can submit changes to the 
above mentioned content via GitHub assuming it's in an easy-to-edit 
format, which I know is being worked on. I understand the challenges of 
moderating wiki's (I was an moderator on the unofficial Gentoo Wiki for 
a time) and a PR based system does have the advantage of completely 
preventing spam / bad faith edits making it to the live documentation/site.

A wiki would however provide a place where unofficial links can be made 
- for example I feel it kind of weird that Composer / Packagist gets no 
mention on php.net. I understand it's a separate project and php.net 
doesn't want to prevent or dissuade competition, but it is also the 
defacto package manager for PHP and an easy way to find libraries for 
getting things done.

With regards to academia, we were taught PHP in the web module on my 
Computer Science course at uni (England), but as can be the case the 
material was out of date and hadn't been revised in a few years. I have 
no idea how to solve this problem because it stems from teachers who 
don't care about the subject.

AllenJB
  107175
September 16, 2019 17:57 tokul@users.sourceforge.net ("Tomas Kuliavas")
2019.09.15 06:32 Mike Schinkel rašė:
> https://medium.com/@trungluongquang/why-python-is-popular-despite-being-super-slow-83a8320412a9 > 1. End-users just don’t care (about slower performance)
Which means that your code is running data processing and not interactive user facing frontend. Put 10 second delay in your web page and ask viewers, if they care. If you claim that language is good or popular while being slow, you are not telling where this language is used. Super slow interactive frontends are not acceptable even if it is reality in corporate world. Designers of such slow frontends are thinking about features that they have to put in there and not about user experience or how to implement those features without making end user drink five coffee cups to fill one form. -- Tomas
  107180
September 16, 2019 19:57 mikeschinkel@gmail.com (Mike Schinkel)
> On Sep 16, 2019, at 1:57 PM, Tomas Kuliavas <tokul@users.sourceforge.net> wrote: > > If you claim that language is good or popular while being slow, you are > not telling where this language is used.
To be clear, I was only quoting the top level points for each of those articles, for full transparency. And that point was only made in one of numerous articles, and not one I generally agree with. Instead the point I was trying to emphasize was "simple and easy to use." So, maybe do not shoot the messenger for dropping off an outlier letter while delivering the special delivery package, please? And maybe go leave your comment on that blog post, instead? :-) -Mike
> > > 2019.09.15 06:32 Mike Schinkel rašė: >> https://medium.com/@trungluongquang/why-python-is-popular-despite-being-super-slow-83a8320412a9 >> 1. End-users just don’t care (about slower performance) > > Which means that your code is running data processing and not interactive > user facing frontend. Put 10 second delay in your web page and ask > viewers, if they care. > > If you claim that language is good or popular while being slow, you are > not telling where this language is used. Super slow interactive frontends > are not acceptable even if it is reality in corporate world. Designers of > such slow frontends are thinking about features that they have to put in > there and not about user experience or how to implement those features > without making end user drink five coffee cups to fill one form. > > -- > Tomas > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php >
  107176
September 16, 2019 18:55 daniel.spiridione@gmail.com (=?UTF-8?Q?Daniel_Mart=C3=ADn_Spiridione?=)
The lack of concurrent PHP features in 2019 is, in my opinion, sufficient
reason not to use it for CLI projects.
Some companies do not welcome installing extensions like Swoole, the
language should have native concurrent features.

Daniel

El dom., 15 sept. 2019 a las 0:33, Mike Schinkel (<mikeschinkel@gmail.com>)
escribió:

> > On Sep 14, 2019, at 5:18 PM, Olumide Samson <oludonsexy@gmail.com> > wrote: > > > > https://jaxenter.com/php-tiobe-sept-2019-162096.html > > I think this is one of those things we get from voting no... > > > > I might be wrong anyways :-? > > If those specific rankings are legitimately a cause for concern then it > would make sense to do some objective analysis to determine why the > languages that are growing marketshare are growing. > > From the list it seems Python stands out as having the most growth as a > percentage. > > Googling for "why has python become so popular" I get these articles. > > I have copied their top level points but also included the text for the > one point they all seem to have in common, that Python is simple, easy to > use and easy to learn for new users (emphasis mine in all cases): > > > https://medium.com/@trungluongquang/why-python-is-popular-despite-being-super-slow-83a8320412a9 > < > https://medium.com/@trungluongquang/why-python-is-popular-despite-being-super-slow-83a8320412a9 > > > 1. End-users just don’t care (about slower performance) > 2. More Productive > "First and foremost reason why Python is much popular because it is highly > productive as compared to other programming languages like C++ and Java. It > is much more concise and expressive language and requires less time, > effort, and lines of code to perform the same operations. The Python > features like one-liners and dynamic type system allow developers to write > very fewer lines of code for tasks that require more lines of code in other > languages. This makes Python very easy-to-learn programming language even > for beginners and newbies. For instance, Python programs are slower than > Java, but they also take very less time to develop, as Python codes are 3 > to 5 times shorter than Java codes. Python is also very famous for its > simple programming syntax, code readability and English-like commands that > make coding in Python lot easier and efficient." > 3. Execution Speed does not matter as much as Business Speed > > > > https://www.kdnuggets.com/2017/07/6-reasons-python-suddenly-super-popular..html > < > https://www.kdnuggets.com/2017/07/6-reasons-python-suddenly-super-popular..html > > > 1. Python Has a Healthy, Active and Supportive Community > 2. Python Has Some Great Corporate Sponsors > 3. Python Has Big Data > 4. Python Has Amazing Libraries > 5. Python Is Reliable and Efficient > 6. Python Is Accessible > "For newcomers and beginners, Python is incredibly easy to learn and use. > In fact, it’s one of the most accessible programming languages available. > Part of the reason is the simplified syntax with an emphasis on natural > language. But it’s also because you can write Python code and execute it > much faster." > > > https://www.techrepublic.com/article/why-python-is-so-popular-with-developers-3-reasons-the-language-has-exploded/ > < > https://www.techrepublic.com/article/why-python-is-so-popular-with-developers-3-reasons-the-language-has-exploded/ > > > > 1. Ease of learning > "Python is the closest language to what I call 'an instant gratification > language,' meaning with very little code, it can accomplish so much, even > if you are a novice programmer," said Karen Panetta, an IEEE Fellow and > Dean of Graduate Engineering at Tufts University. "This is because Python > reads like English, which makes it more conducive for a broad level of user > audiences to learn. Many of the 'nerdy' low-level details we used to worry > about in other languages, such as declaring types of variables or > arguments, are handled by Python, so it makes programming very flexible and > easier to use than other languages." > 2. The explosion of AI, machine learning, and data science in the > enterprise > 3. A large developer community > > > > https://www.skillsoft.com/blog/2018/06/top-5-reasons-why-python-is-so-popular/ > < > https://www.skillsoft.com/blog/2018/06/top-5-reasons-why-python-is-so-popular/ > > > > 1. Python is efficient > 2. Python has an active community > 3. Python is simple > "With a shorter learning curve than other languages, say Java or C++, and > understandable and readable syntax, you don’t need to be a programmer to > start applying Python to everyday tasks. Python automatically takes care of > things like garbage collection and even closes files, opened via the ‘with’ > statement, for you. People starting out may also find the use of > indentation to signify the start and end of loops, functions, classes and > code blocks easier than tracking down the traditional opening and closing > curly braces." > 4. Python is in academia > 5. Python is on trend > > > https://eplexity.com/6-reasons-the-python-programming-language-is-so-popular/ > < > https://eplexity.com/6-reasons-the-python-programming-language-is-so-popular/ > > > > 1. Ease of use > "Since its creation in the late 1980s by Guido van Rossum, Python has been > specifically designed to be a general-purpose language. The simplicity of > Python, and its easily human-readable syntax are two reasons why the > language is so popular among seasoned coding professionals and Computer > Science 101 students alike. Python is also an interpreted language, which > means that you can quickly experiment with changes to the code base." > 2. Supportive community > 3. Corporate sponsors > 4. Libraries and frameworks > 5. Use in big data and machine learning > 6. Efficiency > > Notice in none of these articles is there any mention of static typing or > strictness or correctness as an attribute that the authors think > contributes to why Python is gaining success. > > So my takeaway would be that if we wanted to see PHP start gaining > marketshare again we should focus on features that make it easier to use > and spend less time on trying to raise the bar for the skill level it will > take to program in PHP8. > > #jmtcw > > -Mike > > P.S. Other ways to grow market share could be to: > > 1. Strive to support data science in a major way > 2. Run on Single Board Computers like Raspberry Pi > 3. Run a CLI via a single executable (i.e. package PHP runtime and PHAR > files together so PHP scripts could be distributed without requiring a > correctly installed version of PHP) > > 4. Empower developers to create cross-platform desktop, also contained > with a single executable > 5. Empower developers to create cross-platform mobile apps > 6. Pursue corporate sponsors (too bad the Facebook ship already sailed.) > > 7. Find ways to get PHP taught in academia > 8. Put more effort into driving adoption for PSRs like 6,7, 11, 14, 15, > 16, 18 and in identifying and releasing more. > 9. Strive to make PHP the best solution for AWS Lamba and other serverless > solutions > > 10. Embrace all of userland PHP by giving them a voice in the direction of > PHP, instead of limiting that voice to only those currently with a vote via > phpinternals. > > Of course just because I included it in the list above does not mean the > PHP team needs to pursue (any of) them. I am just pointing out areas where > I think PHP could see some growth if PHP pursued it. > > Also, any of the above would require the PHP internals community to join > together for the common-good rather than taking no-comprised positions that > each seek one person's view of PHP perfection while blocking everything > else. > > IMO anyway. > > > > > > > >