"Leandro Lucarella" <llu...@gmail.com> wrote in message news:20090326165012.gc17...@burns.springfield.home... > Ary Borenszweig, el 26 de marzo a las 10:20 me escribiste: >> >Note the use of the word "language." >> >What you're referring to are bugs in the compiler. It happens. >> > -- Daniel >> >> But ValieriM has a point. If I code, say, a library in D 1.041 only to >> find out that in a couple of months it won't compile anymore in D 1.045, >> that's not good at all. That's when someone sends a message to the >> newsgroups saying "I just downloaded library Foo, but it won't compile >> with D 1.045... is it abandoned? Why isn't it maintained? D1 is >> broken". The point is, you shouldn't need to maintain libraries for D1 >> anymore. Maybe the test suite for D1 should be bigger to cover more >> cases... > > Another problem with D1 vs. D2 is nobody wants to start new software using > D1 when D2 is about to come and have breaking changes. Not trivial > breaking changes, but really base ones, a change in paradigm (D2 will be > a lot more oriented to concurrency, and a lot of idioms will change). You > probably have to start thinking in a different way to code with D2, at > least to take advantage of new features/paradigm. > > I think this is something people see and why a lot of people see D1 as > a dead end. This doesn't happen with other language AFAIK (at least no > with Python wich is another moderately fast-evolving language that I use > often). You can move from Python 2 to Python 3 almost as smoothly as > moving from 2.5 to 2.6 (and that is *very* smooth). The difference with > D is Python 3 didn't introduce any paradigm change, it doesn't want to be > a revolutionary new language as D2 want. > > I think this phrase should not be in the D homepage anymore: > "It seems to me that most of the "new" programming languages fall into one > of two categories: Those from academia with radical new paradigms and > those from large corporations with a focus on RAD and the web. Maybe it's > time for a new language born out of practical experience implementing > compilers." -- Michael > > I think D now almost fit into the "Those from academia with radical new > paradigms" category =P > > I think this wouldn't happen if D2 were focused on just adding small > features like the ones already added (like full closures, struct > improvements, common runtime with Tango, etc.) and AST macros for > example... =) > > If you take small steps, you can evolve more smoothly (like Python) and > avoid this kind of huge gaps between language versions. > > That's why I'd love to see some kind of D 1.1 (maybe LDC could be used to > make an "unofficial" D 1.1 language), with a few minor non-breaking new > features over D 1.0, then D 1.2 could introduce some more, and so on. This > way people can catch-up easly, with small simple iterations, and D1 wont > feel as a dead frozen language. >
I've never really minded D's willingness to change, especially this early in it's lifetime (in fact, I quite respect it), primarily because I've seen what too much emphasis on backwards compatibility can eventually do to a language (ie, C/C++). But that said, you do have an interesting point about providing a migration path that breaks the changes into smaller, easier-to-digest chunks.