State of Play

Nick Sabalausky a at a.a
Thu Mar 26 10:42:49 PDT 2009


"Leandro Lucarella" <llucax at gmail.com> wrote in message 
news:20090326165012.GC17722 at 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.





More information about the Digitalmars-d mailing list