i think most of the "php isn't a programming language" is holdover from the days where you'd separate scripting from programming.  back in ze day (but not too far back) you were billed per cycle and meg (or just had a very limited amount).  control of data structures and instructions is paramount in such an environment.  virtual machines (interpretters) were hideously inefficient in such a space, although still useful for operators (usually in the form of shells and control languages).  the programmer vs operator divide was real 'cause the programmers got the "real work" done, and operators controlled the keys to the kingdom.

does this still matter?  sure.  the best way to save on electricity (crypto), battery (as in phone lifespan), or time (fin-tech) is to make sure your program executes as quickly as possible.  does this matter to most people for most things?  not really.  having quick time-to-market is often more important than efficiency on hardware.  any business is a matter of tradeoffs and the market decides where that balance is now and is kind enough to update itself for us.

each language is a collection of tradeoffs, be they forced behavior, inefficient memory management, how they're translated to executable instructions, etc.  the only real advice i've seen worth its salt is "be a polyglot" from both bjorn and kernighan in separate interviews.  once you have a couple programming languages under your belt you'll find that learning new ones is easy.

going back to the original question of if php is a "real" programming language, of course it is!  it has the basic 16 operations necessary to be turing complete.  php is far from ideal for most things in most spaces, as are all other languages with their own tradeoffs.  as you expand your capabilities, you'll be more able to leverage better tools for the problems you approach.



On Sun, Aug 28, 2022 at 1:09 AM David Schwartz via PLUG-discuss <plug-discuss@lists.phxlinux.org> wrote:
My opinion might not count for much since I don’t really program with PHP, although I spent about a year with V4 in 2000. I do enjoy looking at the language updates and seeing what small steps the PHP language Gods take each time it’s updated. In contrast to C++, PHP seems to be evolving at a snail’s pace. 

The issues about interpreted (aka, “scripting”) languages is bogus. Python is now the #1 most popular programming language in the world, and it’s interpreted. So there goes that theory.

https://skilldeck.org/learning/best-programming-language-to-learn

My take on PHP is that it has been in a stuck-in-the-middle state for >20 years, between being a “structured/procedural programming” and “object-oriented” language. Kind of like C++ was before V1.1 or so was introduced. 

Still, while you can use both to create OO code, you can also use both to write horrid code that runs just fine and doesn’t use any of the class-related language constructs.

Over the years, C++ has been embraced by the OOP community and you don’t see anybody demanding that C++ compilers be able to compile any old C code. The C standard is still evolving and it keeps taking on bits and pieces of things inspired by C++, but it’s really still not an OOP language.

But I’ve heard PHP coders constantly complaining about the fact that the use of classes in PHP kills performance. Yeah, as if Python users think that’s even relevant! Python is 100% OOP right out of the gate, and they seem proud of it. Both are interpreted, and both are probably about as efficient compared with a compiled language. (Are there any performance comparisons between equivalent PHP and Python apps?) 

If an OOP-based interpreted language can attain the "#1 most popular language” slot and nobody cares about the little bit of overhead that the OO part imposes on the execution time, then perhaps it’s time for PHP coders to suck-it-up and learn how to REALLY code in OOP idioms! Until then, it’s the PHP programming community that’s shooting itself in the feet, not the language. Get rid of the “holes” in the language that allow it to process old code that breaks all of the encapsulation rules and make the use of classes more direct rather than forcing the use of squirrly syntax that is constantly reminding people “this isn’t really an object-oriented language … but you can use it that way … IF YOU INSIST”.

This is 2022. Nobody teaches plain old structured/procedural programming any more — they don’t even say they’re teaching OOP, it’s just what all modern languages support today. Except PHP, which cannot seem to decide if it’s ever going to grow up and let go of its procedural roots.

(Perhaps a big part of the problem is all of the old procedural PHP code that people are scared to refactor. So instead they just start over in Python?)

-David Schwartz




On Aug 27, 2022, at 7:11 PM, Keith Smith via PLUG-discuss <plug-discuss@lists.phxlinux.org> wrote:



Just in time to add another thread that might be as intense as the sysd...etc thread.

For years I have heard that people say PHP is not a real language.

One guy says interpreted languages are not real programming languages, they are scripting languages.  I guess way back when I was an xBase developer I must have not been a real programmer.  Back in the day The only compiled xBase was Clipper Summer 87 by Nantucket Corp.  I think it was possible to compile xBase code but I never did except with Clipper Summer 87.  I think Visual Fox was compiled...

Another says the barrier to entry makes it possible for non-professional programmers to get hired and to mess up the code base.  Isn't that a hiring manager's issue?

I think PHP is a great language and a lot of others must think so too.

I really liked the decade long ride with PHP 5. I think 7 brought some good changes in the area of speed and the removal of Register globals.

PHP must be doing something right because it is run by upwards of 80% of the websites on the Internet.

I do think the PHP team is moving too fast.  We now have version 8.

So what is wrong with PHP and where are we going in such a hurry?

And finally why does PHP have to be anything but simple stupid?
---------------------------------------------------
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 McPhee
jmcphe@gmail.com