On 29 June 2024 21:20:23 BST, Michael Morris <tendo...@gmail.com> wrote:

>Composer is wonderful as a userland solution to a problem the Internals
>team has failed to solve, but such a critical problem as package
>management being mostly solved in userland

I don't think anyone failed to solve anything. Somebody came along and built a 
solution, it worked well, and people adopted it. In fact, so many people 
adopted it that we're in the happy place of not having competing tools, outside 
of application-specific plugin installers. 

Its release cycle is independent of PHP's, which means you can get the latest 
version of Composer whatever version of PHP you're on. It's written in PHP at 
least in part because there are a lot more PHP programmers willing to maintain 
PHP tools than there are C programmers willing to maintain PHP tools.

If Composer (or some new package manager) was marked as an official part of the 
PHP project, I doubt it would make any difference to how people find it - users 
looking at existing projects find it because it's the first line of the 
installation instructions;  new PHP users learning from scratch are probably 
following tutorials the official project has no control over, which either 
mention it or not.


> using a configuration file
>(composer.json) written in another programming language

JSON is not a programming language. It looks a bit like JS, because it was 
invented by a JS developer, but was explicitly designed as a cross-language 
data format. 

Some other package managers use other data formats, like XML, or TOML. There 
probably are languages which use their own source code for that configuration, 
but I've not come across any.


As I mentioned on another reply, it would take an extremely good sales pitch 
for me to pay any attention to any attempt at a replacement for Composer, 
especially one that wasn't compatible with its huge library of existing 
packages. 

If the sales pitch is "JSON is not the best format for package configuration", 
count me out. 


The same goes for a lot of other suggestions in this thread: I'm going to need 
a pretty strong sales pitch to change my hierarchical namespaces to flat module 
imports - and more importantly, projects like Symfony and Laravel are going to 
need that sales pitch, before they break compatibility for thousands of 
applications built on their current packages.


Other parts of this thread are just random rants about things people don't like 
in PHP, which I have zero interest in, and have nothing whatsoever to do with 
modules or package management.


Rowan Tommins
[IMSoP]

Reply via email to