www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - D2 vs D1

reply steel <newsgroups.steel kryas.com> writes:
I have been following this community on and off for about 7 years now 
(since college).  Revisiting it every now and then to catch up on its 
progress towards maturity. Can anybody direct me to where it is 
discussed or listed out what features in D2 break backward compatibility 
for D1 code?  Or, at least tell me if 
http://www.digitalmars.com/d/2.0/features2.html is up to date.  Also, 
what is the latest with regards to x86_64 bit support?  Other than LDC 
and GDC (which I suppose has fallen behind and is unsupported), are 
there any plans to support x86_64 with the dmd compiler and the D2 
release in the coming months (early next year)?  

I guess what I'm looking for is an honest assessment of the "state of 
the community" and information on a good tool stack to evaluate D for 
professional use in a x86_64 environment (IDE, build tools, etc).  

Final question: what is the role of Tango in D2?  I read something 
somewhere that lead me to believe Phobos and Tango have some kind of 
relationship in D2.

Thanks in advanced for any and all information.
Jun 17 2009
next sibling parent bearophile <bearophileHUGS lycos.com> writes:
steel:
 Or, at least tell me if 
 http://www.digitalmars.com/d/2.0/features2.html is up to date.

I think it's mostly up to date, but this means little because new features are being added to D2 at every release. For example, the next release of D2 smells like an interesting one :-)
 I guess what I'm looking for is an honest assessment of the "state of 
 the community" and information on a good tool stack to evaluate D for 
 professional use in a x86_64 environment (IDE, build tools, etc).  

I think someone has asked a similar question not too much time ago here, so you may go look there. D2 is alpha state still, so it's probably not a good idea for professional coding. I leave the answer regarding the state of IDEs & build tools to other people that know this more than me.
 Also, what is the latest with regards to x86_64 bit support?  Other than LDC 
 and GDC (which I suppose has fallen behind and is unsupported), are 
 there any plans to support x86_64 with the dmd compiler and the D2 
 release in the coming months (early next year)?  

LDC 64 bit (with Tango) is now working well enough, about as well as LDC 32. I don't think DMD will go 64 bit soon. I think in some months LDC will be better than DMD for most purposes if you run D1 code (at the moment some things are missing still, like a better support for profiling, code coverage, exceptions on Windows, and maybe few other bits). LDC for D2 needs some more time.
 Final question: what is the role of Tango in D2?  I read something 
 somewhere that lead me to believe Phobos and Tango have some kind of 
 relationship in D2.

A core of Tango is shared with Phobos (even if there's a bit of clashing in naming modules that I hope to see improved), so in theory you will be able to use both at the same time in D2. Tango probably will be usable in D2 as soon as (or before) D2 comes out of alpha state. Bye, bearophile
Jun 18 2009
prev sibling next sibling parent reply BCS <none anon.com> writes:
Hello steel,

 I guess what I'm looking for is an honest assessment of the "state of
 the community" and information on a good tool stack to evaluate D for
 professional use in a x86_64 environment (IDE, build tools, etc).

IDE: use Descent and expect to be working with something that isn't "polished" Debugger: their is a tool to convert the files and debug under VS and several debuggers with real D support but none compleat build tools: ??? haven't followed that much. I use a command prompt for simple stuff and for the rest I need make.
Jun 18 2009
parent Steve Teale <steve.teale britseyeview.com> writes:
Jarrett Billingsley Wrote:

 On Thu, Jun 18, 2009 at 11:56 AM, BCS<none anon.com> wrote:
 Hello steel,

 build tools: ??? haven't followed that much. I use a command prompt for
 simple stuff and for the rest I need make.

Wow. Seriously? I have no idea how you cope.

Jarrett, Me too - actually works quite well, so let us into the secret, whatever it is! Steve
Jun 18 2009
prev sibling parent reply Jarrett Billingsley <jarrett.billingsley gmail.com> writes:
On Thu, Jun 18, 2009 at 11:56 AM, BCS<none anon.com> wrote:
 Hello steel,

 build tools: ??? haven't followed that much. I use a command prompt for
 simple stuff and for the rest I need make.

Wow. Seriously? I have no idea how you cope.
Jun 18 2009
parent reply BCS <ao pathlink.com> writes:
Reply to Jarrett,

 On Thu, Jun 18, 2009 at 11:56 AM, BCS<none anon.com> wrote:
 
 Hello steel,
 
 build tools: ??? haven't followed that much. I use a command prompt
 for simple stuff and for the rest I need make.
 


me: dmd main.d dmd: you didn't pass me somthing from module foo me: dmd main.d foo.d dmd: you didn't pass ... ... me: dmd main.d foo.d and.d lots.d of.d other.d stuff.d dmd: ok (man I like command histories) 90% of the time that I need more than that, I'm getting into non D build steps so nothing short of a fully general system able to run arbitrary command will cut it.
Jun 18 2009
next sibling parent reply Steven Schveighoffer <schveiguy yahoo.com> writes:
BCS Wrote:

 Reply to Jarrett,
 
 On Thu, Jun 18, 2009 at 11:56 AM, BCS<none anon.com> wrote:
 
 Hello steel,
 
 build tools: ??? haven't followed that much. I use a command prompt
 for simple stuff and for the rest I need make.
 


me: dmd main.d dmd: you didn't pass me somthing from module foo

me: dmd *.d :) -Steve
Jun 18 2009
next sibling parent BCS <ao pathlink.com> writes:
Reply to Steven,

 BCS Wrote:
 
 Reply to Jarrett,
 
 On Thu, Jun 18, 2009 at 11:56 AM, BCS<none anon.com> wrote:
 
 Hello steel,
 
 build tools: ??? haven't followed that much. I use a command prompt
 for simple stuff and for the rest I need make.
 


dmd: you didn't pass me somthing from module foo


dmd: duplicate definition :( I often have .d files in a directory than should not get passed to DMD. For instance little test cases or alternate version of stuff.
Jun 18 2009
prev sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Thu, 18 Jun 2009 14:00:18 -0400, BCS <ao pathlink.com> wrote:

 Reply to Steven,

 BCS Wrote:

 Reply to Jarrett,

 On Thu, Jun 18, 2009 at 11:56 AM, BCS<none anon.com> wrote:

 Hello steel,
  build tools: ??? haven't followed that much. I use a command prompt
 for simple stuff and for the rest I need make.


dmd: you didn't pass me somthing from module foo


dmd: duplicate definition :( I often have .d files in a directory than should not get passed to DMD. For instance little test cases or alternate version of stuff.

Well, that's hardly the shell's fault now is it ;) dmd *.d works 99% of the time for me. I don't have very large projects. If I have multiple directories: dmd `find . -name '*.d'` I also tend to make test programs elsewhere, so maybe I get more mileage out of it... -Steve
Jun 18 2009
prev sibling parent reply Derek Parnell <derek psych.ward> writes:
 On Thu, Jun 18, 2009 at 11:56 AM, BCS<none anon.com> wrote:
 
 Hello steel,
 
 build tools: ??? haven't followed that much. I use a command prompt
 for simple stuff and for the rest I need make.
 



you: dmd main.d me: bud main you: dmd main.d foo.d me: bud main you: dmd main.d foo.d and.d lots.d of.d other.d stuff.d me: bud main you: 90% of the time that I need more than that, I'm getting into non D build steps so nothing short of a fully general system able to run arbitrary command will cut it. me: bud main :-) -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Jun 18 2009
next sibling parent BCS <ao pathlink.com> writes:
Reply to Derek,

 On Thu, Jun 18, 2009 at 11:56 AM, BCS<none anon.com> wrote:
 
 Hello steel,
 
 build tools: ??? haven't followed that much. I use a command prompt
 for simple stuff and for the rest I need make.
 



me: bud main you: dmd main.d foo.d me: bud main you: dmd main.d foo.d and.d lots.d of.d other.d stuff.d me: bud main you: 90% of the time that I need more than that, I'm getting into non D build steps so nothing short of a fully general system able to run arbitrary command will cut it. me: bud main :-)

I can do that first bit a lot of times for the same effort it takes to find, download, install and get bud running (not that bud is hard to run, just that my way is not at all hard). Literally I spend *maybe* 60 seconds a week doing that.
Jun 18 2009
prev sibling parent reply Don <nospam nospam.com> writes:
Derek Parnell wrote:
 On Thu, Jun 18, 2009 at 11:56 AM, BCS<none anon.com> wrote:

 Hello steel,

 build tools: ??? haven't followed that much. I use a command prompt
 for simple stuff and for the rest I need make.



you: dmd main.d me: bud main you: dmd main.d foo.d me: bud main you: dmd main.d foo.d and.d lots.d of.d other.d stuff.d me: bud main you: 90% of the time that I need more than that, I'm getting into non D build steps so nothing short of a fully general system able to run arbitrary command will cut it. me: bud main :-)

Mate, I wish you'd update bud so that it reads imports that are inside version statements. version(D_InlineAsm_X86) { import asmstuff; } That's the only thing I've ever found missing from bud.
Jun 25 2009
parent reply Derek Parnell <derek psych.ward> writes:
On Thu, 25 Jun 2009 14:10:10 +0200, Don wrote:

 Derek Parnell wrote:
 On Thu, Jun 18, 2009 at 11:56 AM, BCS<none anon.com> wrote:

 Hello steel,

 build tools: ??? haven't followed that much. I use a command prompt
 for simple stuff and for the rest I need make.



you: dmd main.d me: bud main you: dmd main.d foo.d me: bud main you: dmd main.d foo.d and.d lots.d of.d other.d stuff.d me: bud main you: 90% of the time that I need more than that, I'm getting into non D build steps so nothing short of a fully general system able to run arbitrary command will cut it. me: bud main :-)

Mate, I wish you'd update bud so that it reads imports that are inside version statements. version(D_InlineAsm_X86) { import asmstuff; } That's the only thing I've ever found missing from bud.

That's a bug ... it is supposed to do that. Thanks for the report. -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Jun 25 2009
parent Don <nospam nospam.com> writes:
Derek Parnell wrote:
 On Thu, 25 Jun 2009 14:10:10 +0200, Don wrote:
 
 Derek Parnell wrote:
 On Thu, Jun 18, 2009 at 11:56 AM, BCS<none anon.com> wrote:

 Hello steel,

 build tools: ??? haven't followed that much. I use a command prompt
 for simple stuff and for the rest I need make.



you: dmd main.d me: bud main you: dmd main.d foo.d me: bud main you: dmd main.d foo.d and.d lots.d of.d other.d stuff.d me: bud main you: 90% of the time that I need more than that, I'm getting into non D build steps so nothing short of a fully general system able to run arbitrary command will cut it. me: bud main :-)

version statements. version(D_InlineAsm_X86) { import asmstuff; } That's the only thing I've ever found missing from bud.

That's a bug ... it is supposed to do that. Thanks for the report.

Code taken from Tango (the code itself is a workaround for GDC). I'd really like to remove it from Tango: version(D_InlineAsm_X86) { version = Naked_D_InlineAsm_X86; } version(Naked_D_InlineAsm_X86) { private import tango.math.internal.BignumX86; } version(build){// bud/build won't link properly without this. static import tango.math.internal.BignumX86; }
Jun 30 2009