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. Just my 2ยข -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ----------------------------------------------------------------------------