www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Any idea when the 1.0 spec will be out?

reply sailormoontw <sailormoontw_member pathlink.com> writes:
Hello:

I have read the Sinbad forum, which it's a Ogre3D in D. The author thinks with
no 1.0 spec, it discourages them from making such a project. Ogre3D is nice and
currently is one of good free DirectX wrappers. If Ogre3D can have
the D version. I think it's a nice thing to the D community.

And...I am just curious, after 5 years, when will the 1.0 of D be out?? Squirrel
is a 2 years old language, and it already hits 2.1. And we remember Perl, Perl
has their spec fixed fast in earlier version while Perl 6 is a bit slow.

I am not sure what is left in the version 1.0, but like an ordinary project it
should have some timeline, or something left to do. 5 years aren't short, and to
tell the truth I have a feeling that other languages would catch up by learning
the merits of D, while D seems not final yet without a formal 1.0 version.
Jun 21 2006
next sibling parent reply Lars Ivar Igesund <larsivar igesund.net> writes:
sailormoontw wrote:

 Hello:
 
 I have read the Sinbad forum, which it's a Ogre3D in D. The author thinks
 with no 1.0 spec, it discourages them from making such a project. Ogre3D
 is nice and currently is one of good free DirectX wrappers. If Ogre3D can
 have the D version. I think it's a nice thing to the D community.
 
 And...I am just curious, after 5 years, when will the 1.0 of D be out??
 Squirrel is a 2 years old language, and it already hits 2.1. And we
 remember Perl, Perl has their spec fixed fast in earlier version while
 Perl 6 is a bit slow.
 
 I am not sure what is left in the version 1.0, but like an ordinary
 project it should have some timeline, or something left to do. 5 years
 aren't short, and to tell the truth I have a feeling that other languages
 would catch up by learning the merits of D, while D seems not final yet
 without a formal 1.0 version.

I disagree with Chris on the 1.0 part, Sinbad is quite possible to do, just a lot of work to get a 3D engine that is inherently designed with C++ in mind. I think new 3D engine designs based on what is possible in D, is a much more worthwhile thing to do, or at least port a engine that don't use multiple inheritance. -- Lars Ivar Igesund blog at http://larsivi.net DSource & #D: larsivi
Jun 21 2006
next sibling parent Chris Nicholson-Sauls <ibisbasenji gmail.com> writes:
Lars Ivar Igesund wrote:
 sailormoontw wrote:
 
 
Hello:

I have read the Sinbad forum, which it's a Ogre3D in D. The author thinks
with no 1.0 spec, it discourages them from making such a project. Ogre3D
is nice and currently is one of good free DirectX wrappers. If Ogre3D can
have the D version. I think it's a nice thing to the D community.

And...I am just curious, after 5 years, when will the 1.0 of D be out??
Squirrel is a 2 years old language, and it already hits 2.1. And we
remember Perl, Perl has their spec fixed fast in earlier version while
Perl 6 is a bit slow.

I am not sure what is left in the version 1.0, but like an ordinary
project it should have some timeline, or something left to do. 5 years
aren't short, and to tell the truth I have a feeling that other languages
would catch up by learning the merits of D, while D seems not final yet
without a formal 1.0 version.

I disagree with Chris on the 1.0 part, Sinbad is quite possible to do, just a lot of work to get a 3D engine that is inherently designed with C++ in mind. I think new 3D engine designs based on what is possible in D, is a much more worthwhile thing to do, or at least port a engine that don't use multiple inheritance.

I maintain my stance on needing a 1.0 and the reason is simple: I was constantly rethinking my ideas regarding Sinbad because of New Feature X and all the nifty improvements it offered. Although honestly, I'm starting to think the Sinbad project being a direct port of Ogre is a bad idea, and it should be a fresh from-scratch engine designed "in the spirit of" Ogre. Unfortunately, I haven't the time nor the gumption to pull that heavy of a task off... Its sad, really. -- Chris Nicholson-Sauls
Jun 21 2006
prev sibling next sibling parent John Reimer <terminal.node gmail.com> writes:
Lars Ivar Igesund wrote:

 I disagree with Chris on the 1.0 part, Sinbad is quite possible to do, just
 a lot of work to get a 3D engine that is inherently designed with C++ in
 mind. I think new 3D engine designs based on what is possible in D, is a
 much more worthwhile thing to do, or at least port a engine that don't use
 multiple inheritance.
 

I completely agree... D is more than capable to handle this task right now. It's just really comes down to people having the time and resources to attempt such a large task. But Ogre done using D style, syntax, and features would be a very capable library and quite possibly could eclipse the original C++ version. -JJR
Jun 21 2006
prev sibling parent Rémy Mouëza <ray.jay.ay.moueza gmail.com> writes:
In article <e7c3hj$gf1$1 digitaldaemon.com>, Lars Ivar Igesund says...
sailormoontw wrote:

 Hello:
 
 I have read the Sinbad forum, which it's a Ogre3D in D. The author thinks
 with no 1.0 spec, it discourages them from making such a project. Ogre3D
 is nice and currently is one of good free DirectX wrappers. If Ogre3D can
 have the D version. I think it's a nice thing to the D community.
 
 And...I am just curious, after 5 years, when will the 1.0 of D be out??
 Squirrel is a 2 years old language, and it already hits 2.1. And we
 remember Perl, Perl has their spec fixed fast in earlier version while
 Perl 6 is a bit slow.
 
 I am not sure what is left in the version 1.0, but like an ordinary
 project it should have some timeline, or something left to do. 5 years
 aren't short, and to tell the truth I have a feeling that other languages
 would catch up by learning the merits of D, while D seems not final yet
 without a formal 1.0 version.

I disagree with Chris on the 1.0 part, Sinbad is quite possible to do, just a lot of work to get a 3D engine that is inherently designed with C++ in mind. I think new 3D engine designs based on what is possible in D, is a much more worthwhile thing to do, or at least port a engine that don't use multiple inheritance. -- Lars Ivar Igesund blog at http://larsivi.net DSource & #D: larsivi

D can support a form of multiple inheritance, called "Mixin Inheritance". D's mixins seems sometimes closer to traits than mixins used in Smalltalk. # import std.stdio ; # template A ( T ) # { # class A : T # { # public : # char [] message ; # this ( char [] msg ) # { # this.message = msg ; # } # } # } # template B ( T ) # { # class B : T # { # public : # this ( char [] msg ) { super ( msg ); } # # void printSomething ( char [] message ) # { # writefln ( "super message : ", message ); # } # } # } # template C ( T ) # { # class C : T # { # public : # this ( char [] msg ) { super ( msg ); } # # void consoleOutput () # { # # printSomething ( this.message ); # } # } # } # // Create a type that is a C inheriting from both B and A # // and rename it Multiple. # alias C ! ( B ! ( A ! ( Object ) )) Multiple ; # void main () # { # auto instance = new Multiple ( "Hello World !" ); # instance.consoleOutput (); # } ray Moonraker:~/dee/tmp$ ./minheritance super message : Hello World ! It fakes multiple inheritance by creating parameterized subtypes, called mixins. Then we instanciates an object of a "multiple" inherited class by selecting the right inheritance order : C inherits from B wich inherits from A ( wich inherits from the root of the Hierarchy ). Thus, we can consider that porting an engine that uses multiple inheritance is possible in theory. I would like to see some little syntactic sugar, for mixin class : # mixin class MixedIn : T ( U, V ) {} That would be a shortcurt for : # template MixedIn ( T, U, V ) # { # class MixedIn : T ( U, V ) {} # } A 1.0 step would allow us not to dream too much about a specific feature that won't come before the 2.0 release.
Jun 22 2006
prev sibling parent reply Stewart Gordon <smjg_1998 yahoo.com> writes:
sailormoontw wrote:
 Hello:
 
 I have read the Sinbad forum, which it's a Ogre3D in D. The author 
 thinks with no 1.0 spec, it discourages them from making such a 
 project. Ogre3D is nice and currently is one of good free DirectX 
 wrappers. If Ogre3D can have the D version. I think it's a nice thing 
 to the D community.

If you want to write a D version of Ogre3D, then I for one am not going to stop you.
 And...I am just curious, after 5 years, when will the 1.0 of D be 
 out??

I think we should cross this bridge when we get to it. http://www.digitalmars.com/d/archives/digitalmars/D/35929.html
 Squirrel is a 2 years old language, and it already hits 2.1. And we 
 remember Perl, Perl has their spec fixed fast in earlier version 
 while Perl 6 is a bit slow.

It's not just age. - How complex is the product? - How many people have control over the specification? - How many people have control over the reference implementation? - How many hours a week are these people working on it? - Does the version numbering system make sense when compared with ours?
 I am not sure what is left in the version 1.0, but like an ordinary 
 project it should have some timeline, or something left to do.

Lots of things left to do if you haven't noticed. Stewart.
Jun 23 2006
parent reply "Boris Wang" <nano.kago hotmail.com> writes:
In addition, reference return type, variable template parameter, etc.

The D is far from the 1.0 mile stone.

It's good time for us to have a rest, may be one years, two years...,  :(

"Stewart Gordon" <smjg_1998 yahoo.com> 
??????:e7h24l$5p6$1 digitaldaemon.com...
 sailormoontw wrote:
 Hello:

 I have read the Sinbad forum, which it's a Ogre3D in D. The author thinks 
 with no 1.0 spec, it discourages them from making such a project. Ogre3D 
 is nice and currently is one of good free DirectX wrappers. If Ogre3D can 
 have the D version. I think it's a nice thing to the D community.

If you want to write a D version of Ogre3D, then I for one am not going to stop you.
 And...I am just curious, after 5 years, when will the 1.0 of D be out??

I think we should cross this bridge when we get to it. http://www.digitalmars.com/d/archives/digitalmars/D/35929.html
 Squirrel is a 2 years old language, and it already hits 2.1. And we 
 remember Perl, Perl has their spec fixed fast in earlier version while 
 Perl 6 is a bit slow.

It's not just age. - How complex is the product? - How many people have control over the specification? - How many people have control over the reference implementation? - How many hours a week are these people working on it? - Does the version numbering system make sense when compared with ours?
 I am not sure what is left in the version 1.0, but like an ordinary 
 project it should have some timeline, or something left to do.

Lots of things left to do if you haven't noticed. Stewart.

Jun 26 2006
next sibling parent reply Tom S <h3r3tic remove.mat.uni.torun.pl> writes:
Boris Wang wrote:
 In addition, reference return type, variable template parameter, etc.

These are not must-have features for D 1.0 -- Tomasz Stachowiak /+ a.k.a. h3r3tic +/
Jun 26 2006
parent reply "Boris Wang" <nano.kago hotmail.com> writes:
The reference return type , should be must-have feature for D 1.0.

"Tom S" <h3r3tic remove.mat.uni.torun.pl> 
??????:e7oc3h$261t$1 digitaldaemon.com...
 Boris Wang wrote:
 In addition, reference return type, variable template parameter, etc.

These are not must-have features for D 1.0 -- Tomasz Stachowiak /+ a.k.a. h3r3tic +/

Jun 26 2006
parent reply Daniel Keep <daniel.keep.list gmail.com> writes:
Boris Wang wrote:
 The reference return type , should be must-have feature for D 1.0.
 
 "Tom S" <h3r3tic remove.mat.uni.torun.pl> 
 ??????:e7oc3h$261t$1 digitaldaemon.com...
 
Boris Wang wrote:

In addition, reference return type, variable template parameter, etc.

These are not must-have features for D 1.0 -- Tomasz Stachowiak /+ a.k.a. h3r3tic +/


At some point, you have to say enough is enough, and just make the 1.0 release. Will I be upset if those features don't get into 1.0? Not really. After all, the language will continue to evolve after the 1.0 milestone. -- Daniel
Jun 27 2006
parent reply "Boris Wang" <nano.kago hotmail.com> writes:
Some feature go into D, may make D not compatible with old version. So these 
features need go into before 1.0.


"Daniel Keep" <daniel.keep.list gmail.com> 
??????:e7qm4a$ugt$1 digitaldaemon.com...
 Boris Wang wrote:
 The reference return type , should be must-have feature for D 1.0.

 "Tom S" <h3r3tic remove.mat.uni.torun.pl> 
 ??????:e7oc3h$261t$1 digitaldaemon.com...

Boris Wang wrote:

In addition, reference return type, variable template parameter, etc.

These are not must-have features for D 1.0 -- Tomasz Stachowiak /+ a.k.a. h3r3tic +/


At some point, you have to say enough is enough, and just make the 1.0 release. Will I be upset if those features don't get into 1.0? Not really. After all, the language will continue to evolve after the 1.0 milestone. -- Daniel

Jun 27 2006
parent Daniel Keep <daniel.keep.list gmail.com> writes:
Boris Wang wrote:
 Some feature go into D, may make D not compatible with old version. So these 
 features need go into before 1.0.

What makes you think we *can't* make non backwards-compatible changes after 1.0? Take a look at Python: they're currently in the middle of making a backwards-incompatible change to the way imports work? Is it the end of the world? Is there going to be mass riots from Python users? No, because it's an *improvement*. Does code need to be rewritten? No: just keep using the old Python interpreter. There are things I'd like to see in the language, but I'm quite content to wait until after 1.0. I think it's far, FAR more important to get the compiler stable, bug-free, and have a concrete spec soon than developing an acute case of feature-creep. -- Daniel
 "Daniel Keep" <daniel.keep.list gmail.com> 
 ??????:e7qm4a$ugt$1 digitaldaemon.com...
 
Boris Wang wrote:

The reference return type , should be must-have feature for D 1.0.

"Tom S" <h3r3tic remove.mat.uni.torun.pl> 
??????:e7oc3h$261t$1 digitaldaemon.com...


Boris Wang wrote:


In addition, reference return type, variable template parameter, etc.

These are not must-have features for D 1.0 -- Tomasz Stachowiak /+ a.k.a. h3r3tic +/


release. Will I be upset if those features don't get into 1.0? Not really. After all, the language will continue to evolve after the 1.0 milestone. -- Daniel


Jun 28 2006
prev sibling parent reply Don Clugston <dac nospam.com.au> writes:
Boris Wang wrote:
 In addition, reference return type, variable template parameter, etc.
 
 The D is far from the 1.0 mile stone.
 
 It's good time for us to have a rest, may be one years, two years...,  :(

The problem is, you cannot develop a stable 1.0 library until you have a stable 1.0 language. (Important example: template container classes can't be standardised until we know how good the implicit function template instantiation will be by 1.0). Secondly, features such as array literals, variable template parameters, etc, have been stated to be a post-1.0 feature.
 
 "Stewart Gordon" <smjg_1998 yahoo.com> 
 ??????:e7h24l$5p6$1 digitaldaemon.com...
 sailormoontw wrote:
 Hello:

 I have read the Sinbad forum, which it's a Ogre3D in D. The author thinks 
 with no 1.0 spec, it discourages them from making such a project. Ogre3D 
 is nice and currently is one of good free DirectX wrappers. If Ogre3D can 
 have the D version. I think it's a nice thing to the D community.

to stop you.
 And...I am just curious, after 5 years, when will the 1.0 of D be out??

http://www.digitalmars.com/d/archives/digitalmars/D/35929.html
 Squirrel is a 2 years old language, and it already hits 2.1. And we 
 remember Perl, Perl has their spec fixed fast in earlier version while 
 Perl 6 is a bit slow.

- How complex is the product? - How many people have control over the specification? - How many people have control over the reference implementation? - How many hours a week are these people working on it? - Does the version numbering system make sense when compared with ours?
 I am not sure what is left in the version 1.0, but like an ordinary 
 project it should have some timeline, or something left to do.

Lots of things left to do if you haven't noticed. Stewart.


Jun 26 2006
parent reply Bruno Medeiros <brunodomedeirosATgmail SPAM.com> writes:
Don Clugston wrote:
 Boris Wang wrote:
 In addition, reference return type, variable template parameter, etc.

 The D is far from the 1.0 mile stone.

 It's good time for us to have a rest, may be one years, two years...,  :(

The problem is, you cannot develop a stable 1.0 library until you have a stable 1.0 language. (Important example: template container classes can't be standardised until we know how good the implicit function template instantiation will be by 1.0). Secondly, features such as array literals, variable template parameters, etc, have been stated to be a post-1.0 feature.

Indeed so. And I think this is very relevant to D's development process because it indicates that early Phobos/library development may not be as productive as late development, because with early development, more things may have to be changed afterwards. Perhaps this is the reason why Phobos is less mature that the rest of the toolchain(the compiler)? Note, I'm not saying early Phobos development is never worthwhile, (that would likely depend on each particular case), I'm just pointing out too this general consideration. -- Bruno Medeiros - CS/E student http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Jun 27 2006
parent Don Clugston <dac nospam.com.au> writes:
Bruno Medeiros wrote:
 Don Clugston wrote:
 Boris Wang wrote:
 In addition, reference return type, variable template parameter, etc.

 The D is far from the 1.0 mile stone.

 It's good time for us to have a rest, may be one years, two 
 years...,  :(

The problem is, you cannot develop a stable 1.0 library until you have a stable 1.0 language. (Important example: template container classes can't be standardised until we know how good the implicit function template instantiation will be by 1.0). Secondly, features such as array literals, variable template parameters, etc, have been stated to be a post-1.0 feature.

Indeed so. And I think this is very relevant to D's development process because it indicates that early Phobos/library development may not be as productive as late development, because with early development, more things may have to be changed afterwards.

The new syntax introduced in 0.161 is a case in point. It makes delegate-based interfaces far more attractive. AFAIK, none of us had any idea it was coming. Perhaps this is the reason why
 Phobos is less mature that the rest of the toolchain(the compiler)?
 Note, I'm not saying early Phobos development is never worthwhile, (that 
 would likely depend on each particular case), I'm just pointing out too 
 this general consideration.

It's definitely a contributing factor. Still, I think the main reason is that the entire D community combined is barely as productive as one Walter. Large parts of the language are almost fully mature, and I've concentrated my effort on those (compile-time metaprogramming, numerics). But it doesn't make sense to work on something like DTL which is guaranteed to become horribly obsolete quickly. I wonder if we could have a partial 1.0 spec? Eg, declare a feature freeze on certain parts of the language, and gradually lock more of it down.
Jun 27 2006