> the designers’ strategy to break code compatibility between PHP versions only for aesthetic reasons (array(a,b,c) vs [a, b, c]) is bound to lose the confidence of its users sooner or later.
This is not a backwards-compatibility issue. You used features which were introduced in 5.4, and expected them to work in 5.3.
>>You used features which were introduced in 5.4, and expected them to work in 5.3. Yes, that can happen sometimes, especially when you are working between dev and production environments. But basic things like improvising array De-referencing syntax should not be done this late in time, don't you agree?
Other languages do have innovations but they are in advanced things - C# improvisations were in introducing LINQ library and the parallel task library. Python has a standard way of doing basic things like array De-referencing since the 90s!. Then why is PHP changing such basic language constructs today? 5.3 was released in 2009. Language constructs ought to have been standardized by then.
> 5.3 was released in 2009. Language constructs ought to have been standardized by then.
Absolutely not. By this logic, no languages would ever evolve. The PHP core team are making an effort to evolve PHP into a better, modern language. If you want to take advantage of this, then do. If you want to write code that runs on your clients' older servers, then write backwards-compatible code and don't expect to be able to use new language features.