> -----Original Message----- > From: morrison.l...@gmail.com [mailto:morrison.l...@gmail.com] On Behalf > Of Levi Morrison > Sent: Wednesday, April 20, 2016 12:23 AM > To: Zeev Suraski <z...@zend.com> > Cc: Larry Garfield <la...@garfieldtech.com>; internals@lists.php.net > Subject: Re: [PHP-DEV] Re: Improving PHP's type system > > > IMHO, it would be AWESOME if we could funnel some of these cycles from > new syntax and onto other things like parallel processing, async IO, JIT and > more - which can truly take PHP to the next level. New syntax cannot. > > The time investment for those projects is enormous. Not many developers > have the time or capability to add these things.
But that's what's needed, while new syntax is hardly needed. Few, if anybody, are saying that PHP's syntax is preventing them from doing what they need to do. The argument is always that the new syntax can be useful here or helpful there - which even if we accept as true, would make the rating of these features as 'nice to have', and not 'important' let alone 'must'. Not having them is not a barrier to adoption, nor is it pushing anybody away from PHP. Plus, there's this whole theory that less is more, and in its more relevant form - more is less. So arguably, the added complexity may even hamper adoption. It's of course a lot easier to implement a patch to the engine to add some new syntax, but that's not what the language needs. There's no need to add new stuff to PHP every year especially not at the language level, and we seem to be obsessed with that. If people focused their efforts on things that can truly move the needle, even if it took a lot longer, it would eventually pay off. Instead, we're not even investing in them - because we're in a 'vicious' yearly cycle of adding new syntax. > Furthermore, type system enhancements can have enormous impact. > Consider if generics landed in PHP 7.1. You had better believe that would > bring us to the "next level". I fail to see how adding C++ templates to PHP takes it to the next level in anything but the complexity scale. Not having them is not preventing anybody from doing anything today. Sure, a bunch of frameworks would adopt them once they become available - but it will not enable them to do things that are radically different from what they're doing today. > Please do not reduce type system enhancements to mere syntax. For the most part, it is - as most sensible use cases have alternative solutions - either by different methods or by writing tiny bits of userland code. Zeev