www.digitalmars.com         C & C++   DMDScript  

D - D Beta Compiler Priorities

reply "Walter" <walter digitalmars.com> writes:
I'm looking at setting priorities for finishing up a beta compiler.

What features do people need the most to be implemented for a credible beta?

-Walter
Mar 17 2002
next sibling parent "Pavel Minayev" <evilone omen.ru> writes:
"Walter" <walter digitalmars.com> wrote in message
news:a71k32$2lne$1 digitaldaemon.com...

 I'm looking at setting priorities for finishing up a beta compiler.

 What features do people need the most to be implemented for a credible

I'd personally like to see property settors & gettors, and something better than printf & scanf for console I/O.
Mar 17 2002
prev sibling next sibling parent reply "Patrick Down" <pdown austin.rr.com> writes:
I'd like to see associative arrays flushed out for types other than
int[char[]].


"Walter" <walter digitalmars.com> wrote in message
news:a71k32$2lne$1 digitaldaemon.com...
 I'm looking at setting priorities for finishing up a beta compiler.

 What features do people need the most to be implemented for a credible

 -Walter

Mar 17 2002
parent "Pavel Minayev" <evilone omen.ru> writes:
"Patrick Down" <pdown austin.rr.com> wrote in message
news:a72inq$5bu$1 digitaldaemon.com...

 I'd like to see associative arrays flushed out for types other than
 int[char[]].

Oh yes, forgot to mention this!
Mar 17 2002
prev sibling next sibling parent reply Juarez Rudsatz <juarez correio.com> writes:
"Walter" <walter digitalmars.com> wrote in
news:a71k32$2lne$1 digitaldaemon.com: 

 I'm looking at setting priorities for finishing up a beta compiler.
 
 What features do people need the most to be implemented for a credible
 beta? 
 
 -Walter

More important than features, I think is licensing. The compiler will be freeware ? Open Source ? You wanna make a business around the compiler ? How can this benefit a comunity and your work ?
Mar 17 2002
parent "Pavel Minayev" <evilone omen.ru> writes:
"Juarez Rudsatz" <juarez correio.com> wrote in message
news:Xns91D490A5A8A1Djuarezcom 63.105.9.61...

 More important than features, I think is licensing.
 The compiler will be freeware ? Open Source ? You wanna make a business

 comunity and your work ?

I don't know for sure, but I guess the licensing schema will be the same as for Digital Mars C++ - you get the compiler for free, and for the IDDE, you're gonna pay (once Walter adds D support for it). Oh, and Dfront will be open-sourced, or so it seems from posts on the topic?
Mar 17 2002
prev sibling next sibling parent reply Barry Pederson <barryp yahoo.com> writes:
Walter wrote:
 I'm looking at setting priorities for finishing up a beta compiler.
 
 What features do people need the most to be implemented for a credible beta?
 
 -Walter

I know this is something that nobody likes to do, but the documentation could probably use a going-over. Seeing as how this is a new language that nobody is familiar with - you'd really need good docs to find out what the features are so you could try them, but not be misled by references to things that were planned but didn't make the final cut. For example: on the "attributes" page "Static, Final, Abstract Attributes" are just described with "To be written". I tried declaring something static, assuming that it would have the same meaning as in C regarding linkage, but it didn't. Was that because "static" means something slightly different in D? or was it a bug/unimplemented feature? Without the docs I had no way to really tell. The "classes" page mentions "D classes support the single inheritance paradigm, extended by adding support for interfaces", but doesn't really say much more about interfaces. As somebody with a Java background, I'd want to explore that, but there's nothing else to go on. Things like the bit on " Strings can be ... compared ... if (str1 < str3)" which was discussed in a different thread need to looked at depending on if that feature really is there or not. The page on "interfacing to C" is mostly incomplete, I think especially the bit about calling printf with D strings using the "%.*s" specfier really needs to be repeated there (or fixed) since that's going to burn a lot of people taking a first look at D. The page on the DMD alpha says " Run: \dmd\bin\shell all.sh in the \dmd\samples\d directory for several small examples.", but that doesn't actually work out-of-the-can - which is a bit vexing to somebody first taking a look at this software. 1) The comment in "all.sh" about the path to shell.exe needs one more "..". The declaration of "MARS" probably should have "-I\dmd\src\phobos" added, and some mention should be made of also needing to set LIB to \dmd\lib so "sc" can find "phobos.lib", and adding "\dm\bin" to the path so the script can find "sc" (or fixed with declarations in the script). 2) And if you do make those fixes, the script still bails out trying to compile hello2.html with the error "\dmd\src\phobos\object.d(2): symbol printf symbol object.printf conflicts with Object.printf at \dmd\src\phobos\Object.d(2)" 3) The chello.d sample fails since there's no "dserver.def" file ----- Anyhow, those are a few things have had me scratching my head a bit, and might cause other people problems too. Barry
Mar 17 2002
next sibling parent reply "Pavel Minayev" <evilone omen.ru> writes:
"Barry Pederson" <barryp yahoo.com> wrote in message
news:3C94E64F.3090702 yahoo.com...

 I know this is something that nobody likes to do, but the documentation

 probably use a going-over.  Seeing as how this is a new language that

 is familiar with - you'd really need good docs to find out what the

 are so you could try them, but not be misled by references to things that

 planned but didn't make the final cut.

Oh yes. There is quite a lot of things in the docs that were previously correct, in the earlier versions, but now are gone...
 For example: on the "attributes" page "Static, Final, Abstract Attributes"

 just described with "To be written".  I tried declaring something static,
 assuming that it would have the same meaning as in C regarding linkage,

 didn't.  Was that because "static" means something slightly different in

 was it a bug/unimplemented feature?  Without the docs I had no way to

"static" in D is for locals and class members only, and its meaning is the same as in C++. To hide globals, you use "private". Oops, forgot about static constructors & destructors... =)
 The "classes" page mentions "D classes support the single inheritance
 paradigm, extended by adding support for interfaces", but doesn't really

 much more about interfaces.  As somebody with a Java background, I'd want

 explore that, but there's nothing else to go on.

There isn't much to explore, in fact. The interface is just that - an interface, with a set of methods: interface IFoo { int bar(int); void baz(char[]); } Usage of interfaces is also trivial: class Foo: Object, IFoo { int bar(int n) { ... } void baz(char[] s) { ... } } Not much different from Java...
Mar 17 2002
parent reply Barry Pederson <barryp yahoo.com> writes:
Pavel Minayev wrote:

 There isn't much to explore, in fact. The interface is just that - an
 interface, with a set of methods:
 
     interface IFoo
     {
         int bar(int);
         void baz(char[]);
     }
 
 Usage of interfaces is also trivial:
 
     class Foo: Object, IFoo
     {
         int bar(int n) { ... }
         void baz(char[] s) { ... }
     }
 
 Not much different from Java...

OK, that's good to know, but my point was that the docs are lacking even that little bit of info or simple example declaration. If somebody's evaluating this language, they're gonna want to see that documented a bit, rather than just guessing how it should work, or searching through newsgroup lore. Also, the page on syntax grammar doesn't contain any definition for interface declarations (although the lexical grammar page does mention "interface" as a keyword). Barry
Mar 17 2002
parent "Pavel Minayev" <evilone omen.ru> writes:
"Barry Pederson" <barryp yahoo.com> wrote in message
news:3C950345.8060306 yahoo.com...

 OK, that's good to know, but my point was that the docs are lacking even

 little bit of info or simple example declaration.  If somebody's

 this language, they're gonna want to see that documented a bit, rather

 just guessing how it should work, or searching through newsgroup lore.

 Also, the page on syntax grammar doesn't contain any definition for

 declarations (although the lexical grammar page does mention "interface"

 keyword).

Yes, right. For now, far the best docs are sources of Phobos - only there you can feel the "taste" of D. That's where I've got most the details from.
Mar 17 2002
prev sibling next sibling parent "Walter" <walter digitalmars.com> writes:
Thanks for the great report. I'll get to work on it!

"Barry Pederson" <barryp yahoo.com> wrote in message
news:3C94E64F.3090702 yahoo.com...
 I know this is something that nobody likes to do, but the documentation

 probably use a going-over. [...]

Mar 17 2002
prev sibling next sibling parent "Walter" <walter digitalmars.com> writes:
"Barry Pederson" <barryp yahoo.com> wrote in message
news:3C94E64F.3090702 yahoo.com...
 The page on the DMD alpha says " Run: \dmd\bin\shell all.sh in the
 \dmd\samples\d directory for several small examples.", but that doesn't
 actually work out-of-the-can - which is a bit vexing to somebody first

 a look at this software.

 1) The comment in "all.sh" about the path to shell.exe needs one more

 The declaration of "MARS" probably should have "-I\dmd\src\phobos" added,

 some mention should be made of also needing to set LIB to \dmd\lib so "sc"

 find "phobos.lib", and adding "\dm\bin" to the path so the script can find
 "sc" (or fixed with declarations in the script).

 2) And if you do make those fixes, the script still bails out trying to
 compile hello2.html with the error "\dmd\src\phobos\object.d(2): symbol

 symbol object.printf conflicts with Object.printf at

 3) The chello.d sample fails since there's no "dserver.def" file

Ok, I fired the QA department <g> and fixed the samples directory and it's on the web site now!
Mar 17 2002
prev sibling parent "Walter" <walter digitalmars.com> writes:
"Barry Pederson" <barryp yahoo.com> wrote in message
news:3C94E64F.3090702 yahoo.com...
 I know this is something that nobody likes to do, but the documentation

 probably use a going-over.  Seeing as how this is a new language that

 is familiar with - you'd really need good docs to find out what the

 are so you could try them, but not be misled by references to things that

 planned but didn't make the final cut.

You're right. I've just posted some new docs. They still aren't great, but correct some of the more egregious problems. -Walter
Mar 19 2002
prev sibling next sibling parent reply andy <acoliver nc.rr.com> writes:
On Sun, 17 Mar 2002 03:21:28 -0500, Walter wrote:

 I'm looking at setting priorities for finishing up a beta compiler.
 
 What features do people need the most to be implemented for a credible
 beta?
 
 -Walter

source code and linux support. :-)
Mar 17 2002
parent reply Chris <none none.invalid> writes:
I'm all for UNIX support as well.  (Linux, *BSD, MacOS X)

Honestly, I don't use Windows except in VMware when required by my clients.

Actually, I don't quite understand why a compiler would be created
nowadays that doesn't support Windows and at least Intel Linux.  Really,
the differences are minimal.  In fact I often compile objects with
Microsoft VC++ and then link them into my Linux programs (after
converting the object to ELF format).  Assuming the D compiler itself is
fairly portable (either compilable with itself or GCC) I don't see the
problem with supporting UNIX-like systems.  Of course, if the D compiler 
was open-source then we would probably already have it... hehe ;)

D seems really cool by the way.  I've been looking for something like
this for a long time.  As long as it produces code that runs as fast as
C/C++ and supports UNIX-like systems, then I think D will have a long
future.

Does D do type inferencing?  That is one feature of (good) modern
languages that is really nice.  Combined with a strongly typed language
and it is REALLY nice (see O'Caml).

--
// Chris



andy wrote:

 source code and linux support. :-)

Mar 18 2002
parent reply Russell Borogove <kaleja estarcion.com> writes:
Chris wrote:
 Actually, I don't quite understand why a compiler would be created
 nowadays that doesn't support Windows and at least Intel Linux.  Really,
 the differences are minimal. 

It's a one-man effort at this time, and Walter is running himself ragged designing the language, implementing it, fixing the bugs, keeping the docs up to date, and answering our questions. I assume Walter is capable of doing a Linux port, but just wants to keep his focus on Win32 at the moment. Opening the D compiler sources to lots of other developers at this stage, is, I think, a bad idea. The language hasn't gotten locked tightly down enough to hold its ground against some of the ... questionable ... suggestions I've seen in the newsgroup. DFront will allow supporting not just gcc users, but people who actively dislike gcc. -Russell B
Mar 18 2002
parent reply "Walter" <walter digitalmars.com> writes:
"Russell Borogove" <kaleja estarcion.com> wrote in message
news:3C96C6C5.1080309 estarcion.com...
 It's a one-man effort at this time, and Walter is running
 himself ragged designing the language, implementing it,
 fixing the bugs, keeping the docs up to date, and answering
 our questions. I assume Walter is capable of doing a Linux
 port, but just wants to keep his focus on Win32 at the
 moment.

I'm working on 4 different compilers at the moment, and still people email me wanting me to revive Empire <g>.
Mar 18 2002
next sibling parent Russell Borogove <kaleja estarcion.com> writes:
Walter wrote:
 "Russell Borogove" <kaleja estarcion.com> wrote in message
 news:3C96C6C5.1080309 estarcion.com...
 
It's a one-man effort at this time, and Walter is running
himself ragged designing the language, implementing it,
fixing the bugs, keeping the docs up to date, and answering
our questions. I assume Walter is capable of doing a Linux
port, but just wants to keep his focus on Win32 at the
moment.

I'm working on 4 different compilers at the moment, and still people email me wanting me to revive Empire <g>.

Ooh! Oooh! Empire! -R
Mar 18 2002
prev sibling parent reply "Pavel Minayev" <evilone omen.ru> writes:
"Walter" <walter digitalmars.com> wrote in message
news:a76mqe$133$1 digitaldaemon.com...

 I'm working on 4 different compilers at the moment, and still people email
 me wanting me to revive Empire <g>.

Oh yes, rewrite it in D! =) By the way, what are those compilers? DMC, DMD, I also remember you mentioned you're working on some Java compiler... just curious.
Mar 19 2002
parent reply "Walter" <walter digitalmars.com> writes:
"Pavel Minayev" <evilone omen.ru> wrote in message
news:a777l5$esg$1 digitaldaemon.com...
 "Walter" <walter digitalmars.com> wrote in message
 news:a76mqe$133$1 digitaldaemon.com...
 I'm working on 4 different compilers at the moment, and still people


 me wanting me to revive Empire <g>.

mentioned you're working on some Java compiler... just curious.

C, C++, D, and Javascript. (Javascript and Java have nothing in common except the name. They are totally different languages.) Some years back, I did write a Java compiler, though. Most companies would put a team of 10 to 30 people on each <g>.
Mar 19 2002
parent reply "Pavel Minayev" <evilone omen.ru> writes:
"Walter" <walter digitalmars.com> wrote in message
news:a782h4$13i3$1 digitaldaemon.com...

 C, C++, D, and Javascript. (Javascript and Java have nothing in common

JavaScript COMPILER???
Mar 19 2002
parent "Walter" <walter digitalmars.com> writes:
"Pavel Minayev" <evilone omen.ru> wrote in message
news:a78d2s$196u$1 digitaldaemon.com...
 "Walter" <walter digitalmars.com> wrote in message
 news:a782h4$13i3$1 digitaldaemon.com...
 C, C++, D, and Javascript. (Javascript and Java have nothing in common


It compiles it to an intermediate form, and then interprets that. It runs a lot faster than Microsoft's or Mozilla's. <g>
Mar 19 2002
prev sibling parent reply yqz <"x y.z" olo.home> writes:
I would like

- template
- multithreading


On Sun, 17 Mar 2002, Walter wrote:

 I'm looking at setting priorities for finishing up a beta compiler.

 What features do people need the most to be implemented for a credible beta?

 -Walter

Mar 17 2002
parent reply "Pavel Minayev" <evilone omen.ru> writes:
"yqz" <"x y.z" olo.home> wrote in message
news:Pine.WNT.4.44.0203171336540.1328-100000 olo...
 I would like

 - template
 - multithreading

Multithreading should already be there. Templates - I thought they aren't planned for the first version.
Mar 17 2002
parent "Walter" <walter digitalmars.com> writes:
"Pavel Minayev" <evilone omen.ru> wrote in message
news:a732i7$guv$1 digitaldaemon.com...
 "yqz" <"x y.z" olo.home> wrote in message
 news:Pine.WNT.4.44.0203171336540.1328-100000 olo...
 I would like
 - template
 - multithreading

Templates - I thought they aren't planned for the first version.

Multithreading is there in the compiler, but not in Phobos yet.
Mar 17 2002