D versionning

David Nadlinger see at klickverbot.at
Mon Jul 16 07:51:03 PDT 2012


On Monday, 16 July 2012 at 06:00:03 UTC, Walter Bright wrote:
> Supporting Win64 is absolutely critical for the future of D, 
> and the sooner we get it, the better. The COFF route is the 
> shortest route to doing it, and the most practical for 
> attracting devs, which is why it's the way we're going.

Sorry, but I don't think this is a valid argument. Yes, Win64 
(and even more so, COFF) support is important to have for DMD, 
but no, it's not a good idea to delay a pending release because 
of this (cf. the »Time for a new beta« thread from the end of 
May). Here is why:

http://d.puremagic.com/issues/buglist.cgi?chfieldto=Now&query_format=advanced&chfield=bug_status&chfieldfrom=2012-04-13&bug_status=RESOLVED&resolution=FIXED

Already 289 issues resolved since 2.059!

And implementing Win64 support isn't going to be done in a 
weekend. Sure, the changes needed are not world-shattering: 
Finish COFF writing support, tweak the register spilling/call 
emitting code to conform to the Win64 ABI, implement vararg 
support in both the backend and druntime (they are handled 
differently on Win64 than described in the System V ABI), 
transition to the MSVC runtime. druntime and Phobos will also 
require some changes, although there shouldn't be much left to 
do, given that GDC (and LDC, except for exceptions) already work 
on x64 Windows.

After this has been done, there are still

http://d.puremagic.com/issues/buglist.cgi?chfieldto=Now&query_format=advanced&chfieldfrom=2012-04-13&bug_severity=regression&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED

to deal with. And after those regressions have been fixed and a 
first beta is released, chances are that some new regressions 
will pop up, because many people can't even use Git master for 
their real-world code right now.

So, all in all, I wouldn't expect a release before, say, around 
mid-September. This is five months after the last release, a 
delay twice as long as our usual release cycle. Several of the 
bugs fixed since 2.059 were hard to work around, so I don't think 
it's unreasonable to assume that we will have lost users because 
of this. And what for? Chances are that we will just have _two_ 
semi-working targets in DMD then (structs are still broken on 
x86_64 Linux/OS X/BSD w.r.t. parameter ABI and in some cases 
sizing/alignment).

If you really want to make D more attractive, including for 
corporate use (from what I gathered from several Thrift-related 
discussions), the easiest thing to do, in my humble opinion, 
would be to make the release schedule at least somewhat 
predictable, to publish more or less dependable short-term 
roadmaps, and most importantly, to actively communicate your 
decisions on these topics – it just happens that you are D's 
lead-developer-release-manager-strategist-dictator, regardless of 
whether you'd prefer to fill only some of the roles.

David


More information about the Digitalmars-d mailing list