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