Thank you James for taking so much time to write this interesting article.

<scroll>

On 2022-09-28 03:48, James Dugger wrote:
I know that I am late to the party by a month, and haven’t spent
much time in the PLUG discussion groups over the past few years.
Regardless I thought I would weigh in on this conversation.

It was worth the wait.


PHP is a real language and is “Turing complete”.  PHP 7 when
introduced, could be as much as 2 times faster than Python 3 when it
came out.  Not sure where they both stand now with speed improvements
in Python 3.8 through 3.10.  And I have not kept up with PHP in recent
years.

While I think software speed is important to some extent, we have come to a point where hardware performance is out pacing software requirements. I make this statement as someone whos has never worked in the "enterprise" space.

I'm trying to think back and I think all of my projects came to me from DIY business people who hit the wall and needed a developer to move the project forward.


Facts – It accounts for as much as 80 percent of the web
applications hosted on the internet.  It is by far bigger than any
other language used on the backend of the web stack.  60 percent of
that domain usage is WordPress with Drupal and Joomla being the next
dominant PHP based framework used in that stack.

The WordPress ecosystem comes with a learning curve and Drupal, while amazing, has an overwhelming learning curve.


Most of this implementation is non enterprise level, small business,
and personal usages.

In my head, I have been evaluating PHP and the web. I would agree that most websites or web apps are for small businesses and enterprise makes up a small portion.

HOWEVER, the web community has moved in a direction that leaves the DIY and very junior programmers out in the cold.

The PHP stack is overwhelming compared to 15 years ago.

15 years ago one could download CodeIgniter version 1.x and in a weekend could be developing a web app for a business.

Today we have composer, GIT, Dependency Injection... ect, ect... These create a barrier to entry.

I know I opened a bag of worms and some maybe more will want to throw rocks at me. I think we have left a ton of DIY and very junior folks behind.

Given the current environment can a 12 year old or a small business owner take PHP and create a business web app? It was possible 15 years ago but not today.


But there are PHP-based enterprise
implementations. The world’s largest real estate company’s
extranet that controlled thousands of brokerages across 76 countries
was written in the PHP Yii framework and operated in that code state
for more than 15 years - I extended it and managed it for 2 years.
Much of the state and federal government’s intranets are enterprise
level implementations based on Drupal, and the symphony PHP framework
is an enterprise level PHP system with a vast library that rivals
those of Java or .Net

Language preference in programming and software engineering is colored
by so many different and competing ideas and dynamics, that it can be
hard to differentiate between confirmation bias and real-world
experience.

And the problem is the top tier programmers and engineers are winning out making entry much more difficult.


I recall a meeting once at a previous employer about
managing multithreading in an orchestrator we were writing.  We were
discussing whether to use Python or Java, and the Java “camp” were
claiming that multithreading would be much faster and cleaner in Java.
 But the Python “camp” was opposed because they could implement
the rest of the code requirements in much less time.  The VP of
software of the firm weighed in (to the disappointment of the Java
camp) by saying that both teams could and would most likely implement
the multithreading using the C libraries anyway so the Java use claim
was really a moot point.  My point is that in the enterprise space it
is rare for a stack anymore to be implemented or even written in a
single language or framework.


That is enterprise, which I suspect is a sliver of what is going on, on the web.


PHP – Victim of the Java influenced fanaticism towards OOP

Many languages have fallen victim to the ivory tower approach to OOP
programming that was institutionalized by Java.  PHP’s obvious
limitations in OOP pre version 5.3 was a crutch for the language and
during the 2013 timeframe is when C# out positioned PHP in new
implementations for the first time as referenced on the Tiobe Index.
It is my opinion that with PHP version 5.3 it was finally seen as a
fully viable (all-be-it still limited) OOP platform and quelled C#
rise in the index for a little longer.  I feel that it was this focus
and the dream to bring PHP up to the stricter levels of implementation
found in Java OOP et ell, where in version 7 we have the required
adherence to declare class method visibility.  Add type hinting into
the mix and it almost looks like Java or C#.

The perception that PHP was somehow slow to adopt more strict OOP
standards is in my view an oversimplification and a misunderstanding
of PHP’s position in the industry.  As pervasive the boast is that
Java is ubiquitous and “everywhere” its footprint in comparison to
PHP on the web is miniscule.  A breaking change caused by a change in
PHP version on the web has at least one order of magnitude more effect
than that in Java.  Couple that with the fact that the change in
capabilities between 5.2 to 7 are monumental compared to the changes
in Java during that same time, then the scope of changes in PHP are
nothing short of “mountain moving” without breaking the web.

Microservices have changed the game.

If there is a downside it is that PHP has positioned itself as the
king of web-based monolithic frameworks in an age where, at least on
the enterprise side microservices are the name of the game.  Scale is
the key and the ability to break up the monolithic nature of
applications into smaller pieces that can scale independent of each
other is vital in order to leverage the cost of cloud computing.  In
my view this is at odds with the PHP based frameworks that are popular
now.  While they are all scrambling to provide “headless”
implementations to allow for more flexibility and to look more
“microservice like” it is hard to break up WordPress which is more
than half a million lines of code or Drupal which is over a million.
Add in containerization (Docker and Kubernetes) and PHP is just not
the go to language for quick Implementation in these situations.  Go,
Python, or Node are going to be the first choice.


I had to lookup Microservices. Sounds like something I will never use. I can see it's value however I am a PHP developer who is oriented towards small business.


The dynamic behind this is that more and more the PHP-based CMS
frameworks will be limited to single person and small business web
apps.

I am ok with that. There is a need that needs to be met. I understand WordPress makes up 30% of the web and scratches and itch.

And there is a niche for developers who can create web apps using PHP/MySQL.

Even the original LAMP stack now has to contend with the MEAN
and MERN stacks that can be spun up in the cloud in minutes.  In the
enterprise space where a firm is literally funneling half a million
dollars or more per day into their IT department to build new
applications and manage cloud systems PHP is simply not a choice.

Sounds very enterprise. What percentage of the web is this? Less than 1%?



Despite it being a state-of-the-art OOP language at this point, it is
simply not chosen in my view because it positioned itself to be
another Java like implementation (interpreter and runtime differences
aside), and right now lighter weight - limited single generation
inheritance or composition based OOP mixed with functional programming
are becoming the standard.  And while like Python, PHP’s functions
are first class citizens and could be written functionally, languages
like Go or Python’s ease of use and structure are more appealing.


To who?  Enterprise or the DIY'ers?


That said, PHP is not going anywhere.  While it has fallen in 7 years
from the 5th most popular language to the 10th, most of the backend of
the web still runs on it, and it is fully supported and even
contributed to by most of the leading hosting companies.  It is their
bread and butter. And really do languages ever really go away? The
first computer I had in the 80's ran Cobol and we still have systems
today that run Cobol and need programmers to maintain them.


I ran into a guy at a car show who was showing his 1960's Vette. He told me he was a Cobol programmer. From our conversation I think he did very well.

I'll bet PHP/MySQL will continue to be dominate on the web for at least 10 more years. I think I have 6 to 10 years left in me to do tech stuff and then it will be on to something else.

I'm guessing enterprise class tuff will continue to outpace the rest of us, and maybe the rest of us will get Internet development back as it should be.

As I mentioned I have been thinking a lot about my travels through technology.

My first computer was a Commodore 64. The next year I bought a garage clone with an 8088 and 640K of RAM, 2 360k floppies, and no hard drive. The next year I bought a Seagate st-225 HD that was 20M.

In 1986 a manager gave the only computer in the place and told me I was the only one who knew anything about computers.

In 1986 I went into a factory that was being managed using a Commodore 64. And around that same time I had a conversation with a businessman who told me he had created a computer program using Basic that ran his company.

These experiences have shaped my view of things. I think technology will continue to move forward and will leave a bunch of people behind.

We have lost a lot over the past 10+ years. 20 years ago we lost the xBase language and all the xBase systems. We have no replacement.

For PHP I see the final frontier as custom web apps. There is a need and there is a need for tools in this area.

I read and hear the economy is going to crash and inflation is going to last 10 years. If this is true I think there will be a real push to replace people with machines. Some will fall by the wayside and others will figure how to take advantage of all the chaos. There will be opportunity. The challenge will be figuring out how to harness it.

Another point I'd like to make is that technology is like baseball. There is 4 levels:

1) The guy or gal who really excels at the high school level.
2) The person who makes into college base ball.
3) Then there is the Farm Team.
4) And finally the pros.

Less people progress to each level.

AND the whole system is being driven by the people who make it into the pros.

For you aged folks you might recall that in the 80's and 90's Personal Computers where oriented towards the end user. There was a lot of software for someone with limited knowledge could create a business solution. My favorite was the xBase applications. I first use dBaseII in 1986 and then dBase III.

What do we have today? Nothing like dBase or the other dBase clones. I road that wave for maybe 15 years until I jumped to the web in 2000. I do not see any rapid application development tools for the web.

Compare dBase to an Intranet. Yikes that is a big gap. dBase was easy to learn, while creating an intranet application requires a ton of knowledge because the stack is very large. LAMP plus HTML, CSS, AJAX. That is a lot.

How can this be pared down or made simpler? I am not sure that is possible.

I am interesting in your feedback.




On Sun, Aug 28, 2022 at 5:08 PM Keith Smith via PLUG-discuss
<plug-discuss@lists.phxlinux.org> wrote:

On 2022-08-28 04:55, Steve Litt via PLUG-discuss wrote:
On Sun, 2022-08-28 at 02:23 -0700, Andrew McRobb via PLUG-discuss
wrote:

It has its place in the ecosystem, there is no way around it, but
it's
always going to be that language for engineering websites, that's
it.

What's wrong with that? I remember LAMP, and having to make all
sorts
of web
primatives in Perl that PHP just automatically gives you.

SteveT

I did some Perl in 2000.  Seems PHP started to dominate somewhere
between 2002 and 2004.  Seems a lot of other people liked PHP for
some
reason.  I know I liked it when I first saw it in 2002.



---------------------------------------------------
PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
https://lists.phxlinux.org/mailman/listinfo/plug-discuss
---------------------------------------------------
PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
https://lists.phxlinux.org/mailman/listinfo/plug-discuss

--

James

Linkedin [1]


Links:
------
[1] http://www.linkedin.com/pub/james-h-dugger/15/64b/74a/
---------------------------------------------------
PLUG-discuss mailing list: PLUG-discuss@lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
https://lists.phxlinux.org/mailman/listinfo/plug-discuss

Reply via email to