|
Archives
D Programming
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.ide
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger
D.gnu
D
C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows
digitalmars.empire
digitalmars.DMDScript
electronics
|
digitalmars.D - D2 vs D1
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.
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
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.
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
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.
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.
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
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.
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
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
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.
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.
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
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;
}
|
|