On Thu, Jul 12, 2012 at 8:49 PM, deadalnix <[email protected]> wrote:
> One thing PHP has been good at is evolving, and introducing change in the > language (some can argument that the language is so fucked up that this is > unavoidable, so I do it now and we can discuss interesting topic). > > I discussed that system with Rasmus Ledorf at afup 2012 and it something > that D should definitively look into. > > The const vs OOP discussion have shown once again that D will have to > introduce breaking changes in the language. This isn't easy matter because > if we break people code, D isn't attractive. But as long as code isn't > broken, D people can't worked on what's next and it slows down D progress. > > The system adopted in PHP works with a 3 number version. The first number > is used for major languages changes (for instance 4 > 5 imply passing > object by reference when it was by copy before, 5 > 6 switched the whole > thing to unicode). > > The second number imply language changes, but either non breaking or very > specific, rarely used stuff. For instance 5.2 > 5.3 added GC, closures and > namespace which does not break code. > > The last one is reserved for bug fixes. Several version are maintained at > the same time (even if a large amount of code base is common, so bug fixes > can be used for many version at the time). > > We should leverage the benefit of having switched to git to go in that > way. We can start right now D2.1.xx with the opX dropped from object and > see how it goes without requiring everybody to switch now. > > Such a system would also permit to drop all D1 stuff that are in current > DMD because D1 vs D2 can be chosen at compile time on the same sources. > > git provide all we need to implement such a process, it is easy to do it > soon (after 2.060 for instance) because it doesn't imply drastic changes > for users. > Definitely +1!!! -- Bye, Gor Gyolchanyan.
