Hi!

> As we've seen with the declare for strict types, libraries that want
> to have strict mode, and libraries that want to have more type
> juggling, are perfectly fine to live alongside each other, and can be
> used just fine.

You are assuming all the code is neatly organized in "libraries" that
are closed packages that never intersect, never exchange code and can be
completely isolated from one another. This may be the case in some
applications, but it's in no way universal and there's a lot of PHP code
that does not look like that.

> I can't understand why someone would make the argument that evolving
> the language like this is a bad thing.

It's not evolving the language, it's splitting the language into a
myriad of mutually incompatible sub-languages, so each piece of code has
its own unique bitmask of settings it works with. Moreover, even that
bitmask is not local - when you're reading the code, you'd have to check
all encompassing filesystem hierarchy (with current idea) to see where
the options bitmask if defined for every particular piece of code.

> You're saying very negative things about a feature you would not have to use.

I think it's time to retire the argument of "you don't have to use it".
It's not some function that you don't have to call (and BTW I am seeing
a massive push to eliminate those for some reason, and never hear that
argument there!). It's a language level feature. PHP is an ecosystem,
and if you introduce the feature, everybody is influenced by it, because
now you have to be aware of the whole bitmask of options and consider
every time which bitmask of options a particular code piece is
requiring. If it was an ecosystem where code is compiled into binary
packages, like C or Java, it won't be such a big deal - you just use the
compiled package and never look and the code that produced it and
couldn't be happier. But in an open-source ecosystem what encourages
exchanging actual source code, this kind of language fragmentation is bad.

> It's fine that you're not convinced that this is a great idea, but
> please can you stop making the argument that because you don't want to
> use a feature, no-one should be allowed to use it?

Did you actually try to read my argument, of just decided to strawman it
from the start? I never said anything like that. I said this feature is
bad because it creates fragmentation in the language, not because "I
don't want to use it". Please, at least try to address *my* arguments. I
am spelling them out pretty verbosely, no need to put words in my mouth.

-- 
Stas Malyshev
smalys...@gmail.com

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to