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
- End-users just don’t care (about slower performance)
- 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." - 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
- Python Has a Healthy, Active and Supportive Community
- Python Has Some Great Corporate Sponsors
- Python Has Big Data
- Python Has Amazing Libraries
- Python Is Reliable and Efficient
- 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/
- 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." - The explosion of AI, machine learning, and data science in the enterprise
- 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/
- Python is efficient
- Python has an active community
- 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." - Python is in academia
- 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/
- 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." - Supportive community
- Corporate sponsors
- Libraries and frameworks
- Use in big data and machine learning
- 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:
-
Strive to support data science in a major way
-
Run on Single Board Computers like Raspberry Pi
-
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)
-
Empower developers to create cross-platform desktop, also contained with a single executable
-
Empower developers to create cross-platform mobile apps
-
Pursue corporate sponsors (too bad the Facebook ship already sailed.)
-
Find ways to get PHP taught in academia
-
Put more effort into driving adoption for PSRs like 6,7, 11, 14, 15, 16, 18 and in identifying and releasing more.
-
Strive to make PHP the best solution for AWS Lamba and other serverless solutions
-
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.
<snip>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.
And once you find my software useful:
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
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 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
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
+"<language> 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
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+"<language> 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 ofrand()
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
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+"<language> 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 ofrand()
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
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 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+"<language> 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 ofrand()
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
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
2019.09.15 06:32 Mike Schinkel rašė:
https://medium.com/@trungluongquang/why-python-is-popular-despite-being-super-slow-83a8320412a9
- 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
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
- 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
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
- End-users just don’t care (about slower performance)
- 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."- 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
- Python Has a Healthy, Active and Supportive Community
- Python Has Some Great Corporate Sponsors
- Python Has Big Data
- Python Has Amazing Libraries
- Python Is Reliable and Efficient
- 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/
- 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."- The explosion of AI, machine learning, and data science in the
enterprise- 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/
- Python is efficient
- Python has an active community
- 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."- Python is in academia
- 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/
- 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."- Supportive community
- Corporate sponsors
- Libraries and frameworks
- Use in big data and machine learning
- 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:
Strive to support data science in a major way
Run on Single Board Computers like Raspberry Pi
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)Empower developers to create cross-platform desktop, also contained
with a single executableEmpower developers to create cross-platform mobile apps
Pursue corporate sponsors (too bad the Facebook ship already sailed.)
Find ways to get PHP taught in academia
Put more effort into driving adoption for PSRs like 6,7, 11, 14, 15,
16, 18 and in identifying and releasing more.Strive to make PHP the best solution for AWS Lamba and other serverless
solutionsEmbrace 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.