www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Standard library like JAVA

reply willem bermon.net writes:
Hi just a question.

Are you going to set up a standard components library like JAVA has, with
standard objects like collections etc.? Or does this exist?

I'm a JAVA programmer and i know that the standard library like JAVA has is the
toolbelt of every JAVA programmer.

I like D although i haven't coded in it yet but D gives the power of C++ with
the cleanlyness of JAVA if i am correct. If i have time i might consider taking
D up as my second language to fully master.

Thanks.
Nov 01 2004
next sibling parent reply Sean Kelly <sean f4.ca> writes:
In article <cm6dhp$1dr4$1 digitaldaemon.com>, willem bermon.net says...
Hi just a question.

Are you going to set up a standard components library like JAVA has, with
standard objects like collections etc.? Or does this exist?

It somewhat exists now as Phobos, though serious work on a standard library has been kept on the back burner while the core language features are tuned. Containers are likely, but don't expect a GUI toolkit with D 1.0. You may want to look into DTL, which is an evolving container library, as is MinTL. Sean
Nov 01 2004
parent reply LiuXuHong <LiuXuHong_member pathlink.com> writes:
In article <cm6fb8$1gi8$1 digitaldaemon.com>, Sean Kelly says...
In article <cm6dhp$1dr4$1 digitaldaemon.com>, willem bermon.net says...
Hi just a question.

Are you going to set up a standard components library like JAVA has, with
standard objects like collections etc.? Or does this exist?

It somewhat exists now as Phobos, though serious work on a standard library has been kept on the back burner while the core language features are tuned. Containers are likely, but don't expect a GUI toolkit with D 1.0. You may want to look into DTL, which is an evolving container library, as is MinTL. Sean

I think FOX (Free Object for X : http://www.fox-toolkit.com/) is an excellent cross-platform GUI frameworks. Does anyone has interests to port it to D ? I am from Shanghai, China. Nice to meet you here!
Nov 05 2004
next sibling parent Ant <Ant_member pathlink.com> writes:
In article <cmg7gu$14g1$1 digitaldaemon.com>, LiuXuHong says...
I think FOX (Free Object for X : http://www.fox-toolkit.com/) is an excellent
cross-platform GUI frameworks. Does anyone has interests to port it to D ?

Probably many people would have interest on a port to D, ufortunatly nobody is interested on doing it, are you? Ant
Nov 05 2004
prev sibling next sibling parent reply "Ben Hinkle" <bhinkle mathworks.com> writes:
 I think FOX (Free Object for X : http://www.fox-toolkit.com/) is an

 cross-platform GUI frameworks. Does anyone has interests to port it to D ?

 I am from Shanghai, China.
 Nice to meet you here!

That would be fun to try but my first concern is that FOX is LGPL. Can D produce dynamic libraries these days? I've lost track of the state of static/dynamic support. If it doesn't support generating dynamic libraries then the LGPL license would force apps using the library to be open source. Assuming that gets figured out the library seems pretty cool. -Ben
Nov 05 2004
parent reply Bastiaan Veelo <Bastiaan.N.Veelo ntnu.no> writes:
Ben Hinkle wrote:
I think FOX (Free Object for X : http://www.fox-toolkit.com/) is an

excellent
cross-platform GUI frameworks. Does anyone has interests to port it to D ?

I am from Shanghai, China.
Nice to meet you here!

That would be fun to try but my first concern is that FOX is LGPL. Can D produce dynamic libraries these days? I've lost track of the state of static/dynamic support. If it doesn't support generating dynamic libraries then the LGPL license would force apps using the library to be open source. Assuming that gets figured out the library seems pretty cool. -Ben

There is an addendum to the licence that allows static linking without the licence getting "viral". http://www.fox-toolkit.com/license.html The lib looks nice, although I haven't used it. Jeroen and I share the same nationality, so it's probably good stuff ;-) Bastiaan.
Nov 05 2004
parent "Ben Hinkle" <bhinkle mathworks.com> writes:
"Bastiaan Veelo" <Bastiaan.N.Veelo ntnu.no> wrote in message
news:cmgfmi$1hnf$1 digitaldaemon.com...
 Ben Hinkle wrote:
I think FOX (Free Object for X : http://www.fox-toolkit.com/) is an

excellent
cross-platform GUI frameworks. Does anyone has interests to port it to D



I am from Shanghai, China.
Nice to meet you here!

That would be fun to try but my first concern is that FOX is LGPL. Can D produce dynamic libraries these days? I've lost track of the state of static/dynamic support. If it doesn't support generating dynamic


 then the LGPL license would force apps using the library to be open


 Assuming that gets figured out the library seems pretty cool.

 -Ben

There is an addendum to the licence that allows static linking without the licence getting "viral". http://www.fox-toolkit.com/license.html The lib looks nice, although I haven't used it. Jeroen and I share the same nationality, so it's probably good stuff ;-) Bastiaan.

oops - you're right. I didn't scroll down that far. Thanks for correcting my error!
Nov 05 2004
prev sibling next sibling parent Sebastian Beschke <s.beschke gmx.de> writes:
LiuXuHong wrote:
 I think FOX (Free Object for X : http://www.fox-toolkit.com/) is an excellent
 cross-platform GUI frameworks. Does anyone has interests to port it to D ?

Well, I'm also interested in such a port, although I think I'll hardly have the time to contribute a lot; I'd be willing to try as a team member, not necessarily leader. (Not to mention that I'm not that great a coder.) But I think what D needs is a native GUI library. That is, I think all the code from FOX should be ported and the forked as an independent project. Sebastian
Nov 05 2004
prev sibling parent reply Ilya Minkov <minkov cs.tum.edu> writes:
LiuXuHong schrieb:

 I think FOX (Free Object for X : http://www.fox-toolkit.com/) is an excellent
 cross-platform GUI frameworks. Does anyone has interests to port it to D ?

I am not very convinced of the sense of this port, because: * It is an emulated GUI framework, and as such it is somewhat alien on every system. This leads us to alternatives such as FLTK and GTK. A good wrapper of GTK already exists (DUI by Ant), and it is a semi-standard GUI framework on many Unixoid platforms, and hope exists that support for others can also be improved. * I am not much of an expert, but i would find FLTK port conceptually more appealing, and from the amount of work somewhat easier doable. What i think might make sense, is wrapping window creation and management (so to stay portable throughout X/ Win32/ Mac), and rewriting all of the high-level stuff atop. On the other hand, there is so much GTK sftware around that everyone should have GTK installed, so why not just use DUI? * From the point of view of MacOS-X and Windows users, hardly anything matches wxWidgets - because of its portability and potential consistency with every user interface. Someone is doing one already, but we're not being informed of a progress. -eye
Nov 07 2004
parent reply Bastiaan Veelo <Bastiaan.N.Veelo ntnu.no> writes:
Ilya Minkov wrote:
 LiuXuHong schrieb:
 
 I think FOX (Free Object for X : http://www.fox-toolkit.com/) is an 
 excellent
 cross-platform GUI frameworks. Does anyone has interests to port it to 
 D ?

I am not very convinced of the sense of this port, because: * It is an emulated GUI framework, and as such it is somewhat alien on every system.

What do you mean with "emulated GUI framework"? What would it be emulating? And why would it lead us to wrappers around GTK etc? "Porting FOX" means rewriting it in D. I think DUI is very valuable right now, but don't we all want a GUI written in D in the end? The problem I see with blindly porting a C++ design to D is that the power of D might not be fully utilised; C++isms may slip in because it takes effort to think in D when you are reading C++. When there is going to be a D GUI, I would like it to be a pearl of D code. Designing from the ground up would be good, but it is nice to have a couple of examples laying around like FOX, Qt, etc. FOX has the advantage that we can see the low-level calls on the Windows side as well, unlike Qt. Bastiaan.
Nov 07 2004
parent reply Ilya Minkov <minkov cs.tum.edu> writes:
Bastiaan Veelo schrieb:

 What do you mean with "emulated GUI framework"? What would it be 
 emulating? And why would it lead us to wrappers around GTK etc?

"Emulated" in the sense of that it draws its own widgets, instead of using the ones provided by the operating system (if the operating system provides them at all). wxWidgets is just about the only usable free C++ native GUI library for all common platforms.
 "Porting FOX" means rewriting it in D. I think DUI is very valuable 
 right now, but don't we all want a GUI written in D in the end?

Perhaps you are right. And if you think FOX is the best basis for such a GUI you are free to take on the job... Besides, what would be the ground advantage of a GUI written completely in D? Ability to subclass the widgets? A well-designed wrapper may very well allow that. And to what end "completely"? Do OS calls also have to be done from D or may they be incapsulated into a C library for portability and for the cases where calling the OS directly from D may be problematic, say, under MacOS X? I'm sort-of taking back that praising of DUI - GTK is so heavyweight that it is only usable for foreground software on Windows. If writing a new GUI library, it should be taken into account to try and make it lightweight.
 The problem I see with blindly porting a C++ design to D is that the 
 power of D might not be fully utilised; C++isms may slip in because it 
 takes effort to think in D when you are reading C++. When there is going 
 to be a D GUI, I would like it to be a pearl of D code. Designing from 
 the ground up would be good, but it is nice to have a couple of examples 
 laying around like FOX, Qt, etc. FOX has the advantage that we can see 
 the low-level calls on the Windows side as well, unlike Qt.

There is a number of things which affect library design which need reconsideration when porting into D, including message passing and the use of properties. The second is trivial, the first one was already solved by Andy Friesen, IIRC. I cannot think out anything else (which affects design, not implementation), which needs to be changed, but i'm almost sure i'm missing something out. I'm sure it's possible to make a good rewrite, especially because C++ is not very similar to D conceptually. There is a very nice workgroup, which currently writes a GUI in D, which aims to be very D-licious and portable to different platforms in the end. They have chosen IBM SWT (a Java toolkit used by Eclipse) as their model. It is apparently in a very early phase. http://www.dsource.org/projects/dwt/ -eye
Nov 07 2004
parent reply Bastiaan Veelo <Bastiaan.N.Veelo ntnu.no> writes:
Ilya Minkov wrote:
 Bastiaan Veelo schrieb:
 
 What do you mean with "emulated GUI framework"? What would it be 
 emulating? And why would it lead us to wrappers around GTK etc?

"Emulated" in the sense of that it draws its own widgets, instead of using the ones provided by the operating system (if the operating system provides them at all). wxWidgets is just about the only usable free C++ native GUI library for all common platforms.

Seems to me that wxWidgets is a wrapper itself around e.g. Motif, Gtk+ and whatever it is that runs on Windows. There is a universal port, wxUniversal (http://www.wxwidgets.org/wxuniv.htm), that seems to take the same approach as FOX does, or "emulating" in your words. Note that if theming is going to be supported (a popular feature of KDE, for example) the library will have to draw its own widgets. [...]
 Besides, what would be the ground advantage of a GUI written completely 
 in D? Ability to subclass the widgets? A well-designed wrapper may very 
 well allow that. And to what end "completely"? Do OS calls also have to 
 be done from D or may they be incapsulated into a C library for 
 portability and for the cases where calling the OS directly from D may 
 be problematic, say, under MacOS X?

I don't have figures to back me, but I am concerned about the cost of wrapping, in run-time performance, executable size and library dependencies. We should not forget devices with limited resources. Regarding to where to draw the line of "completely", it will help looking at libraries that went before us, like Qt, FOX and probably wxUniversal.
 I'm sort-of taking back that praising of DUI - GTK is so heavyweight 
 that it is only usable for foreground software on Windows. If writing a 
 new GUI library, it should be taken into account to try and make it 
 lightweight.

Exactly my point :-) [...]
 There is a number of things which affect library design which need 
 reconsideration when porting into D, including message passing and the 
 use of properties. The second is trivial, the first one was already 
 solved by Andy Friesen, IIRC. I cannot think out anything else (which 
 affects design, not implementation), which needs to be changed, but i'm 
 almost sure i'm missing something out. I'm sure it's possible to make a 
 good rewrite, especially because C++ is not very similar to D conceptually.

I've looked a bit into message passing myself, Andy's Listener template is a nice tutorial. I have extended that idea more into the direction of libsigc++ (at least I think I have) with dcouple (http://svn.dsource.org/svn/projects/dcouple/trunk/managed/doc/index.html) so that connections may be broken at both the sending and receiving end, in support of objects that come and go. It has become a bit hackish to deal with the non-deterministic finalisation of D though (hackish for me, not the user). The feature of "`struct'ized" objects (see digitalmars.D/11976 and earlier posts in the same thread), which I hope will be supported in the future D, will make this a lot cleaner. I don't think properties are trivial. A good GUI designer will need a way to infer what properties a dynamically loaded widget has and what values are valid. AFAIK we need a pre-processor for that or better RTTI than we have now. Luckily, we have been promised better RTTI. Another question I have is whether D's native strings are powerful enough to support translations well. It would be nice if a D GUI library would not have to extend D's strings, unlike all C++ libs. Is there anybody who knows QString and QtLinguist with a view on this?
 There is a very nice workgroup, which currently writes a GUI in D, which 
 aims to be very D-licious and portable to different platforms in the 
 end. They have chosen IBM SWT (a Java toolkit used by Eclipse) as their 
 model. It is apparently in a very early phase.
 
 http://www.dsource.org/projects/dwt/

I should check that out some time. Regards, Bastiaan.
Nov 08 2004
next sibling parent reply Ilya Minkov <minkov cs.tum.edu> writes:
Bastiaan Veelo schrieb:

 Seems to me that wxWidgets is a wrapper itself around e.g. Motif, Gtk+ 
 and whatever it is that runs on Windows. There is a universal port, 
 wxUniversal (http://www.wxwidgets.org/wxuniv.htm), that seems to take 
 the same approach as FOX does, or "emulating" in your words. Note that 
 if theming is going to be supported (a popular feature of KDE, for 
 example) the library will have to draw its own widgets.

Naturally, wxWidgets *is* a Wrapper. Theming, as in application-wide theming or OS-wide theming? On Windows and OS-X, wxWidgets applications inherit the system-wide theme automatically and without any extra code for the OS-standard widgets. On GTK systems, they inherit the GTK theme the same way. There exists a Metatheme for GTK which inherits the QT theme, so on Unixoid system a wxWidgets or GTK application can more-or-less match the whole OS look. I'm all for OS-wide theming, just because i think people sometimes need a rest from one particular look and switch to another. Now i feel better when applications have rounded buttons, a few years ago i preferred exactly rectangular ones. Color preferance also changes. System-wide theming is a great advantage. About application wide-theming... I'm not sure it is so valuable. It usually makes sense for small proggies like indicators, players, etc, but they usually have a different GUI concept and that's not necessarily what a mainstream GUI need to directly provide. However, when a normal and "serious" applictaion tries to redefine the look... i find it just irritating.
 I don't have figures to back me, but I am concerned about the cost of 
 wrapping, in run-time performance, executable size and library 
 dependencies. We should not forget devices with limited resources. 
 Regarding to where to draw the line of "completely", it will help 
 looking at libraries that went before us, like Qt, FOX and probably 
 wxUniversal.

The wxWidgets complete DLL for Python is about 10 megabytes in size. WxWidgets applications in C++ usually turn out to be about half megabyte to two megabytes in size on Win32 - which is roughly the same order of magnitude like VCL and MFC applications so usual under Windows. I would believe it adds even less on GTK systems. I have a strong belief that wrapping it twice for D would increase the size by not more than a half. I'm sure one can leave classes not in use unreferenced, thus there won't be excess bloat. And as for performance conserns... lots of time gets lost somewhere in the back-ends, so unless something is principally wrong in the front-end, it shouldn't matter. Destruction bothers me somewhat though - i shall see how wx.NET has solved that.
 I don't think properties are trivial. A good GUI designer will need a 
 way to infer what properties a dynamically loaded widget has and what 
 values are valid. AFAIK we need a pre-processor for that or better RTTI 
 than we have now. Luckily, we have been promised better RTTI.

Argh, yuck. If you are speaking of the "published" properties for a GUI designer, D files simply don't provide enough specification, because not all public properties also have to be published, and it should be possible to "publish" a field as a property as well. What can make sense, is a sort-of additional specification alongside the D program. Then there are 2 possibilities. First is complete specification, where for each class properties are listed with name and type. The generator reads this specification and "blindly" generates a module to access all of these properties. This module should be done so that the compiler would bark if a type mismatch happens. The second possibility is an abridged specification, which doesn't contain property types, so the tool ust also parse the source and figure out from that. I think we also need a specialised documentation tool, tailored to the features of D, and featuring a sort of easily readable mark-up like reStructuredText, extended for property specification. As soon as i have some time i (finally) make a D version of COCO/R and then translate partial D grammar made by someone for ANTLR. On that basis, such a tool can be built.
 Another question I have is whether D's native strings are powerful 
 enough to support translations well. It would be nice if a D GUI library 
 would not have to extend D's strings, unlike all C++ libs. Is there 
 anybody who knows QString and QtLinguist with a view on this?

I don't know about QtLinguist, but for gettext-like translation engine, everything is powerful enough.
 http://www.dsource.org/projects/dwt/

I should check that out some time.

ATM Windows-only and a wrapper GUI. -eye
Nov 08 2004
next sibling parent Bastiaan Veelo <Bastiaan.N.Veelo ntnu.no> writes:
Ilya Minkov wrote:

[...]
 Theming, as in application-wide theming or OS-wide theming? On Windows 
 and OS-X, wxWidgets applications inherit the system-wide theme 
 automatically and without any extra code for the OS-standard widgets. On 
 GTK systems, they inherit the GTK theme the same way. There exists a 
 Metatheme for GTK which inherits the QT theme, so on Unixoid system a 
 wxWidgets or GTK application can more-or-less match the whole OS look.

I did not know that. Nice.
 I think we also need a specialised documentation tool, tailored to the 
 features of D, and featuring a sort of easily readable mark-up like 
 reStructuredText, extended for property specification. As soon as i have 
 some time i (finally) make a D version of COCO/R and then translate 
 partial D grammar made by someone for ANTLR. On that basis, such a tool 
 can be built.

A good documentation tool will be very valuable in every respect. I wish you time :-) Bastiaan.
Nov 08 2004
prev sibling next sibling parent John Reimer <John_member pathlink.com> writes:
In article <cmnl2e$2ogn$1 digitaldaemon.com>, Ilya Minkov says...

<snip>

 http://www.dsource.org/projects/dwt/

I should check that out some time.

ATM Windows-only and a wrapper GUI. -eye

There are the beginnings of the GTK port in there also. Some GTK bindings should be in one of the source directories. But, yes, the linux port is barely started.
Nov 08 2004
prev sibling parent reply wisefriend hotmail.cx writes:
I think you all might as well take a long, hard look at the truth:  D has no
future.  There once was a 
language quite similar to D that had all the features one could ask for.  It
seemed like the perfect 
sytems and application programming language -- high level with the ability to go
low level when 
necessary.  Oh, it had garbage collection, generics, design by committe... you
name it.  That language 
was called Modula 3.  It is now dead.  D aims for the exact same space as Modula
3, that is to say, D 
aims to hide in one of the many crevices of computer history.  It's sad, really,
to see such hard work all 
for naught.  You all might as well just give up now and start using C#.

Yours truly,
A Wise Friend
Nov 09 2004
next sibling parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
A Wise Troll wrote:

 That language was called Modula 3. It is now dead.

 You all might as well just give up now and start using C#.

In case anyone else has to look it up, "Modula 3" is a Pascal-like language with a weird UPPERCASE syntax: http://www.m3.org/ Seems to be open source these days: http://www.elegosoft.com/cm3/ --anders
Nov 09 2004
prev sibling next sibling parent Charlie <Charlie_member pathlink.com> writes:
Hi Mr Gates,

Thanks for your post.  From now on I will listen only to microsoft, use only
microsoft products, and will devote my life to the MS corportation.  My life is
yours.


There is always naysayers.  A month before we put a man on the moon everyone
said it couldn't be done.  Everyone thought the world was flat in 1480.  We
thought the earth was the center of our universe before gailelo corrected us ,
and then got persecuted for it.

I really feel sorry for you , you'll never know what passion / love /  obsession
is about.

Find something you love, and do everything you can for it.  Everything else is
just filler.

Charlie


In article <cmrfgl$276n$1 digitaldaemon.com>, wisefriend hotmail.cx says...
I think you all might as well take a long, hard look at the truth:  D has no
future.  There once was a 
language quite similar to D that had all the features one could ask for.  It
seemed like the perfect 
sytems and application programming language -- high level with the ability to go
low level when 
necessary.  Oh, it had garbage collection, generics, design by committe... you
name it.  That language 
was called Modula 3.  It is now dead.  D aims for the exact same space as Modula
3, that is to say, D 
aims to hide in one of the many crevices of computer history.  It's sad, really,
to see such hard work all 
for naught.  You all might as well just give up now and start using C#.

Yours truly,
A Wise Friend

Nov 09 2004
prev sibling next sibling parent John Reimer <John_member pathlink.com> writes:
In article <cmrfgl$276n$1 digitaldaemon.com>, wisefriend hotmail.cx says...
I think you all might as well take a long, hard look at the truth:  D has no
future.  There once was a 
language quite similar to D that had all the features one could ask for.  It
seemed like the perfect 
sytems and application programming language -- high level with the ability to go
low level when 
necessary.  Oh, it had garbage collection, generics, design by committe... you
name it.  That language 
was called Modula 3.  It is now dead.  D aims for the exact same space as Modula
3, that is to say, D 
aims to hide in one of the many crevices of computer history.  It's sad, really,
to see such hard work all 
for naught.  You all might as well just give up now and start using C#.

Yours truly,
A Wise Friend

First, this comment is quite funny if you think of it. It's the first time in a long time that any sort of flame bait has been cast into the depths of the teeming D fish pond. Well, the flame won't last too long in these waters...pffff... ;-) That said, Modula-3 has always fascinated me. I think Modula-3 /is/ kind of like the "D" of Pascal-like languages; when you look at the feature list and design goals of both languages, you begin to see it. But I think the original poster missed a major point here. His reasoning goes something like this: 1) Modula-3 and D have similar goals 2) Modula-3 and D have similar features 3) Therefore Modula-3 and D will share the same fate. Is such a generalization always the rule for every endeavor? No way! If we want to generalize, then lets just say that any endeavor we attempt has the potential to end in failure. If we were as shrewd as this poster, maybe we would realize that we should never attempt anything; that way we would never taste failure! Voila! :-) D has potential to succeed or fail. So far I think it's made it far beyond Modula-3 in it's success and popularity. D also trys to appeal to a huge crowd of C++ and Java developers, something a Pascal-like language like Modula-3 could never do. The reason Modula-3 was "doomed" was for entirely different reasons. Oops... I snapped at that flame bait! - John PS. Modula-3 isn't dead. Neither is OS/2. Oh and about Elvis ...
Nov 09 2004
prev sibling next sibling parent reply xjc <xjc_member pathlink.com> writes:
Hope this would not happen. It is sad that many beautiful languages indeed
became toys.

People (at least in the open source community) need to start real projects using
D. If nobody uses it... then it is not alive...

Some features in D look strange to me at first. This may stop some people
(stupid like me) from switching to D. C++, Java and C# all have a string class.
When I use it I know I am safe as long as I only envoke its methods. In some
editors I press dot key and I can see all the safe methods to call. In D I am
using a char array. I am scared to access its elements because I don't
understand what is happening... am I sharing the array with somebody else? What
methods are availabe on it?

Java and C# are not adding many stuff to C++. So they are extremely easy to
learn for C++ developers. However I am scared reading D for days. It has TOO
MANY new features for me to grab. When I use a language, I want to underdand
every piece of it so that I will not write stupid code. I found I still don't
understand D after days. This is more difficult for me to learn than Java or C#.
I have a lot of questions and don't know where I can find an answer.


In article <cmrfgl$276n$1 digitaldaemon.com>, wisefriend hotmail.cx says...
I think you all might as well take a long, hard look at the truth:  D has no
future.  There once was a 
language quite similar to D that had all the features one could ask for.  It
seemed like the perfect 
sytems and application programming language -- high level with the ability to go
low level when 
necessary.  Oh, it had garbage collection, generics, design by committe... you
name it.  That language 
was called Modula 3.  It is now dead.  D aims for the exact same space as Modula
3, that is to say, D 
aims to hide in one of the many crevices of computer history.  It's sad, really,
to see such hard work all 
for naught.  You all might as well just give up now and start using C#.

Yours truly,
A Wise Friend

Nov 09 2004
next sibling parent reply Martin <Martin_member pathlink.com> writes:
D migth become a as popular as C and Java or it migth not.
In case it will, everything is ok.
In case it won't, well there will always be people who think it is the best
programming language ever and write their programs in D. (like me!)

So even if D won't be the most widely used language it will never doom, as long
as there are people working on it, and that is up to us.

My plan (somewhere in the future) is to write a translator D->Java and D->C++
and ofcourse Java->D and C++->D. It needs to be a pretty translator, generating
a beautiful, easy to read code. So, if my boss want's a program written in Java,
then I could write it in D and to translate it to Java and my boss will never
know.

In my current workplace they don't want me to write in D because they say that
they need a compatible code in a standard (that means C or Java) programming
language. If we had this translator, that wouldn't be a problem. I could write
D, and if and when needed they could translate it to Java (for example, if
someone else is taking over my code, and this person does not want to use D)

I think that this translator is quite hard to make, but very rewarding.


I hope that D will become as popular as C and Java. D is very good language, it
came later than C and Java, so it learned from their mistakes. And it is the
only language with modern day features (like gc) that is not intepreted (as far
as I know).

The problem of D is that it does not have a megacorporation supporting it
(C#-Microsoft, Java-Sun).

So hope for the best. 



In article <cmsc3r$kko$1 digitaldaemon.com>, xjc says...
Hope this would not happen. It is sad that many beautiful languages indeed
became toys.

People (at least in the open source community) need to start real projects using
D. If nobody uses it... then it is not alive...

Some features in D look strange to me at first. This may stop some people
(stupid like me) from switching to D. C++, Java and C# all have a string class.
When I use it I know I am safe as long as I only envoke its methods. In some
editors I press dot key and I can see all the safe methods to call. In D I am
using a char array. I am scared to access its elements because I don't
understand what is happening... am I sharing the array with somebody else? What
methods are availabe on it?

Java and C# are not adding many stuff to C++. So they are extremely easy to
learn for C++ developers. However I am scared reading D for days. It has TOO
MANY new features for me to grab. When I use a language, I want to underdand
every piece of it so that I will not write stupid code. I found I still don't
understand D after days. This is more difficult for me to learn than Java or C#.
I have a lot of questions and don't know where I can find an answer.


In article <cmrfgl$276n$1 digitaldaemon.com>, wisefriend hotmail.cx says...
I think you all might as well take a long, hard look at the truth:  D has no
future.  There once was a 
language quite similar to D that had all the features one could ask for.  It
seemed like the perfect 
sytems and application programming language -- high level with the ability to go
low level when 
necessary.  Oh, it had garbage collection, generics, design by committe... you
name it.  That language 
was called Modula 3.  It is now dead.  D aims for the exact same space as Modula
3, that is to say, D 
aims to hide in one of the many crevices of computer history.  It's sad, really,
to see such hard work all 
for naught.  You all might as well just give up now and start using C#.

Yours truly,
A Wise Friend


Nov 10 2004
next sibling parent xjc <xjc_member pathlink.com> writes:
A translator might be interesting... but I hope one day your boss will say "I
want it in D".

gc is also the most wanted feature for me.


In article <cmsilo$111h$1 digitaldaemon.com>, Martin says...
D migth become a as popular as C and Java or it migth not.
In case it will, everything is ok.
In case it won't, well there will always be people who think it is the best
programming language ever and write their programs in D. (like me!)

So even if D won't be the most widely used language it will never doom, as long
as there are people working on it, and that is up to us.

My plan (somewhere in the future) is to write a translator D->Java and D->C++
and ofcourse Java->D and C++->D. It needs to be a pretty translator, generating
a beautiful, easy to read code. So, if my boss want's a program written in Java,
then I could write it in D and to translate it to Java and my boss will never
know.

In my current workplace they don't want me to write in D because they say that
they need a compatible code in a standard (that means C or Java) programming
language. If we had this translator, that wouldn't be a problem. I could write
D, and if and when needed they could translate it to Java (for example, if
someone else is taking over my code, and this person does not want to use D)

I think that this translator is quite hard to make, but very rewarding.


I hope that D will become as popular as C and Java. D is very good language, it
came later than C and Java, so it learned from their mistakes. And it is the
only language with modern day features (like gc) that is not intepreted (as far
as I know).

The problem of D is that it does not have a megacorporation supporting it
(C#-Microsoft, Java-Sun).

So hope for the best. 



In article <cmsc3r$kko$1 digitaldaemon.com>, xjc says...
Hope this would not happen. It is sad that many beautiful languages indeed
became toys.

People (at least in the open source community) need to start real projects using
D. If nobody uses it... then it is not alive...

Some features in D look strange to me at first. This may stop some people
(stupid like me) from switching to D. C++, Java and C# all have a string class.
When I use it I know I am safe as long as I only envoke its methods. In some
editors I press dot key and I can see all the safe methods to call. In D I am
using a char array. I am scared to access its elements because I don't
understand what is happening... am I sharing the array with somebody else? What
methods are availabe on it?

Java and C# are not adding many stuff to C++. So they are extremely easy to
learn for C++ developers. However I am scared reading D for days. It has TOO
MANY new features for me to grab. When I use a language, I want to underdand
every piece of it so that I will not write stupid code. I found I still don't
understand D after days. This is more difficult for me to learn than Java or C#.
I have a lot of questions and don't know where I can find an answer.


In article <cmrfgl$276n$1 digitaldaemon.com>, wisefriend hotmail.cx says...
I think you all might as well take a long, hard look at the truth:  D has no
future.  There once was a 
language quite similar to D that had all the features one could ask for.  It
seemed like the perfect 
sytems and application programming language -- high level with the ability to go
low level when 
necessary.  Oh, it had garbage collection, generics, design by committe... you
name it.  That language 
was called Modula 3.  It is now dead.  D aims for the exact same space as Modula
3, that is to say, D 
aims to hide in one of the many crevices of computer history.  It's sad, really,
to see such hard work all 
for naught.  You all might as well just give up now and start using C#.

Yours truly,
A Wise Friend



Nov 10 2004
prev sibling next sibling parent reply Matthias Becker <Matthias_member pathlink.com> writes:
I hope that D will become as popular as C and Java. D is very good language, it
came later than C and Java, so it learned from their mistakes. And it is the
only language with modern day features (like gc) that is not intepreted (as far
as I know).

What about O'Caml? Native compiler + gc. But Java and C# isn't interpreted as well. They use JITing.
Nov 12 2004
parent kinghajj <kinghajj_member pathlink.com> writes:
In article <cn2n6r$o63$1 digitaldaemon.com>, Matthias Becker says...
I hope that D will become as popular as C and Java. D is very good language, it
came later than C and Java, so it learned from their mistakes. And it is the
only language with modern day features (like gc) that is not intepreted (as far
as I know).

What about O'Caml? Native compiler + gc. But Java and C# isn't interpreted as well. They use JITing.

lot of others don't, too, because "C"-style languages seem to be the standard.
Nov 13 2004
prev sibling parent "Roald Ribe" <rr.no spam.teikom.no> writes:
 I hope that D will become as popular as C and Java. D is very good

 came later than C and Java, so it learned from their mistakes. And it is

 only language with modern day features (like gc) that is not intepreted

 as I know).

Both C# and Java are (eventually) compiled into machine code, just like any compiled program compiled right away with a compiler. C# bytecode is compiled by a JIT (Just In Time) compiler at load time, Java bytecode is compiled by the HotSpot system (Sun's implementation, I think IBM's use JIT), that will first determine which code needs it most and compile just that part of the program. This is nice IMO, because the Virtual Machine can take care of processor optimizations for each platform the program is started on, rather than the programmer having to compile x versions before shipping.
 The problem of D is that it does not have a megacorporation supporting it
 (C#-Microsoft, Java-Sun).

This may eventually turn out to be an advantage, because nobody claims any copyright on the language definition itself (good move W). The free implementation of the front-end will do a lot of good as well. When the language is good enough, any current compiler provider can just add the front end to their existing compiler. If the language is good enough, and receives enough attention in the press, they will. IMO. Roald
Nov 14 2004
prev sibling parent reply Ilya Minkov <Ilya_member pathlink.com> writes:
In article <cmsc3r$kko$1 digitaldaemon.com>, xjc says...
Hope this would not happen. It is sad that many beautiful languages indeed
became toys.

Rather disappeared. See Sather.
People (at least in the open source community) need to start real projects using
D. If nobody uses it... then it is not alive...

It is being used. It is alive.
Some features in D look strange to me at first. This may stop some people
(stupid like me) from switching to D. C++, Java and C# all have a string class.
When I use it I know I am safe as long as I only envoke its methods. In some
editors I press dot key and I can see all the safe methods to call. In D I am
using a char array. I am scared to access its elements because I don't
understand what is happening... am I sharing the array with somebody else? What
methods are availabe on it?

This is easy and has been covered by documentation very well. If you may not assume that you own the string, you should .dup it - this makes a copy you own and can permutate as you like. Strings do not get processed by methods, they are processed either directly, or by free library functions (see std.string and others). All library functions which permutate strings return new *copies*. Library functions which only slice the strings may return a new copy, or may not - because slicing does not affect the original storage. Language built-in operations, such as .length and concatenation (~, ~=) return a new copy when they might otherwise touch the storage. This is in fact fairly novel, and it may create some excess memory allocation cycling, but i believe it may be mostly optimized out later. And being used to it, it is in fact convenient. Getting to think of it, Java works similarly just it is much more restrictive, opaque, and less convenient.
Java and C# are not adding many stuff to C++. So they are extremely easy to
learn for C++ developers. However I am scared reading D for days. It has TOO
MANY new features for me to grab. When I use a language, I want to underdand
every piece of it so that I will not write stupid code. I found I still don't
understand D after days. This is more difficult for me to learn than Java or C#.
I have a lot of questions and don't know where I can find an answer.

The approach of D is to introduce language features, in the hope that they are easier to learn, recognize and maintain than library conventions (such as common in Java and C++) - and it seems to work very well. Mind you, it is extremely easy to write clueless code in C++ even if you seem know each and every feature of it - and we aim to avoid such traps in D. Oh, and ask us if you have questions! Just please, take care *not* to do this in a thread called "D is dying" - you can gather some bad carma and start sending evil subliminal messages this way! Suggested readings: http://www.prowiki.org/wiki4d/wiki.cgi - contains a newbee faq. if your question gets answered in a newsgroup, please add the question and the answer there. http://www.dsource.org/tutorials/ - the URL says it. And to all the "D will die" thing - as opposed to some less successful languages, D's decisions are in part made on the popularity factor, which sometimes means not perfect from the engineering point of view - C-like syntax is suboptimal to begin with. Some purists among us may not like it, but it will pay back when the language gets popular. -eye
Nov 10 2004
next sibling parent xjc <xjc_member pathlink.com> writes:
I really appreciate your post.

A thread of "D is dying" may not be bad because it brings up discussion of D's
future and direction, and gives you a chance to convince people.


In article <cmss6q$1ggn$1 digitaldaemon.com>, Ilya Minkov says...
In article <cmsc3r$kko$1 digitaldaemon.com>, xjc says...
Hope this would not happen. It is sad that many beautiful languages indeed
became toys.

Rather disappeared. See Sather.
People (at least in the open source community) need to start real projects using
D. If nobody uses it... then it is not alive...

It is being used. It is alive.
Some features in D look strange to me at first. This may stop some people
(stupid like me) from switching to D. C++, Java and C# all have a string class.
When I use it I know I am safe as long as I only envoke its methods. In some
editors I press dot key and I can see all the safe methods to call. In D I am
using a char array. I am scared to access its elements because I don't
understand what is happening... am I sharing the array with somebody else? What
methods are availabe on it?

This is easy and has been covered by documentation very well. If you may not assume that you own the string, you should .dup it - this makes a copy you own and can permutate as you like. Strings do not get processed by methods, they are processed either directly, or by free library functions (see std.string and others). All library functions which permutate strings return new *copies*. Library functions which only slice the strings may return a new copy, or may not - because slicing does not affect the original storage. Language built-in operations, such as .length and concatenation (~, ~=) return a new copy when they might otherwise touch the storage. This is in fact fairly novel, and it may create some excess memory allocation cycling, but i believe it may be mostly optimized out later. And being used to it, it is in fact convenient. Getting to think of it, Java works similarly just it is much more restrictive, opaque, and less convenient.
Java and C# are not adding many stuff to C++. So they are extremely easy to
learn for C++ developers. However I am scared reading D for days. It has TOO
MANY new features for me to grab. When I use a language, I want to underdand
every piece of it so that I will not write stupid code. I found I still don't
understand D after days. This is more difficult for me to learn than Java or C#.
I have a lot of questions and don't know where I can find an answer.

The approach of D is to introduce language features, in the hope that they are easier to learn, recognize and maintain than library conventions (such as common in Java and C++) - and it seems to work very well. Mind you, it is extremely easy to write clueless code in C++ even if you seem know each and every feature of it - and we aim to avoid such traps in D. Oh, and ask us if you have questions! Just please, take care *not* to do this in a thread called "D is dying" - you can gather some bad carma and start sending evil subliminal messages this way! Suggested readings: http://www.prowiki.org/wiki4d/wiki.cgi - contains a newbee faq. if your question gets answered in a newsgroup, please add the question and the answer there. http://www.dsource.org/tutorials/ - the URL says it. And to all the "D will die" thing - as opposed to some less successful languages, D's decisions are in part made on the popularity factor, which sometimes means not perfect from the engineering point of view - C-like syntax is suboptimal to begin with. Some purists among us may not like it, but it will pay back when the language gets popular. -eye

Nov 10 2004
prev sibling parent reply Charles Hixson <charleshixsn earthlink.net> writes:
Ilya Minkov wrote:
 In article <cmsc3r$kko$1 digitaldaemon.com>, xjc says...
 
Hope this would not happen. It is sad that many beautiful languages indeed
became toys.

Rather disappeared. See Sather. ... -eye

I never did figure out just what happened to Sather. It seemed to just evaporate. My wild guess was that it was a computer science department project, and those involved got their respective degrees. (Doctor of Sather? Unlikely...but plausibly essentially true except for the wording.) One time I was looking at it, and figuring that I'd give it a look as soon as I was done looking at Eiffel. The next time I looked the site was shut down. Appearantly it's had periodic revivals, but I've never been looking at the right time. So I don't even know whether it was a decent language. Just that it's never been active when I was looking.
Nov 10 2004
parent reply Ilya Minkov <minkov cs.tum.edu> writes:
Charles Hixson schrieb:

 I never did figure out just what happened to Sather.  It seemed to just 
 evaporate.  My wild guess was that it was a computer science department 
 project, and those involved got their respective degrees.  (Doctor of 
 Sather?  Unlikely...but plausibly essentially true except for the 

Here are explainations from the last maintainers: http://lists.gnu.org/archive/html/info-sather/2002-04/msg00022.html http://lists.gnu.org/archive/html/info-sather/2002-04/msg00026.html Why do we nerds always ruin our health? I heard, my brother-in-law, whom i barely know, but i believe he is much more talented than myself, has almost become disabled - he only has strength enough fot 1 or 2 hours of mental activity a day, let alone any physical activity. He should be at the age of slightly above 25 at the moment. The old page and the messages above mention one name which rings the bell - Norbert Nemec, who has apparently taken over the language as it was loosing its original creators and maintainers - probably for indeed a sort of the reason you mention. BTW, Norbert seems to live less than 200 km away from me. A handshaking trip is a must! :> I paste here last valid mailing list threads for future reference: http://lists.gnu.org/archive/html/info-sather/2003-01/threads.html http://lists.gnu.org/archive/html/info-sather/2002-12/threads.html http://lists.gnu.org/archive/html/info-sather/2002-11/threads.html http://lists.gnu.org/archive/html/info-sather/2002-04/threads.html http://lists.gnu.org/archive/html/info-sather/2001-07/threads.html From old messages it also appears that compiler became unmaintainable and was due to be rewritten. A similar rewrite to the library had almost been completed.
 wording.)  One time I was looking at it, and figuring that I'd give it a 
 look as soon as I was done looking at Eiffel. The next time I looked the 
 site was shut down.  Appearantly it's had periodic revivals, but I've 
 never been looking at the right time.

1.2 beta was the last one before Sather changed hands. 1.3 beta is the last traceable piece and dates back to end 2000 - early 2001.
 So I don't even know whether it was a decent language.  Just that it's 
 never been active when I was looking.

It is like angels singing in heaven. Purest harmony. :) Which, unfortunately, does't mean that it would be practical to use, because of issues and lack of libraries - D seems much better equipped already. -eye [np: Angelzoom - Guardian Angel] Coincidence?
Nov 10 2004
parent Norbert Nemec <Norbert Nemec-online.de> writes:
Hi Ilya,

nice to see that Sather is not completely forgotten. It was a beautiful
language!

To add a few details about the sad history of the language: The language was
actually mostly dead when I picked it up: the ISCI at Berkeley had stopped
financing the project, the source was available but licensed in a
restricted way. It took me some time to convince the people at Berkeley to
relicense the code in GPL/LGPL, and then some more time to sort out the
existing distribution. Anyhow, I never really got to the point of driving
new development myself.

The existing compiler is near to unmaintainable. At one point of time, I
started writing a new compiler from scratch. I even got it to the point
where it could compile itself. Then I realized that the design was
fundamentally flawed, tried to repair it, got stuck in a mess of sourcecode
and ran out of time when everything was in a completely broken state. Never
got myself to pick up the project again.

In parallel Keith Hopper in New Zealand was working on the new library. He
barely reached a version 1.0 before he had to stop working on it because of
private reasons. At about the same time, got more involved in real life as
well, so Sather stalled completely. I never even managed to set up a
honorful tombstone-website for the "dead project". :-(

Looking back, I would say that Sather as it is defined does not really have
the potential of being a full-fledged general-purpose language. It contains
a number of really nice ideas, but it is also lacking in a number points.
Most importantly, there is no module concept. All classes live in one flat
namespace. This actually makes the language inappropriate for anything but
small academic projects. I had some beautiful ideas for a module concept,
but they got drowned in the complexity of actually implementing the new
compiler.

So, after all - it was a beautiful language, but it was still a bit too
academic to survive in the real world...

Ciao,
Nobbi
Nov 11 2004
prev sibling next sibling parent reply Ilya Minkov <Ilya_member pathlink.com> writes:
Lemme guess... I know you don't like it being called by name, but i think... Are
you the same person we call "Kris"?

-eye^eye^eye

--
 }
~
Nov 10 2004
parent reply John Reimer <John_member pathlink.com> writes:
In article <cmsqh4$1eb3$1 digitaldaemon.com>, Ilya Minkov says...
Lemme guess... I know you don't like it being called by name, but i think... Are
you the same person we call "Kris"?

-eye^eye^eye

--
 }
~

Kris? That would be a surprise. He's one of the most prolific of D programmers here, though I know there's certain things about D that displease him... I don't think he would interrupt his programming to make such a comment. :)
Nov 10 2004
parent Ilya Minkov <minkov cs.tum.edu> writes:
 Kris? That would be a surprise. He's one of the most prolific of D programmers
 here, though I know there's certain things about D that displease him...
 
 I don't think he would interrupt his programming to make such a comment. :)

Ok, i was probably wrong. Or, more correctly, i was just kidding. My next cadidate would be Shane "TheWolf/TheDog" Loup. Considering that he didn't show up on D channels before, it might be the time he would. :> -eye
Nov 14 2004
prev sibling next sibling parent reply Sjoerd van Leent <svanleent wanadoo.nl> writes:
wisefriend hotmail.cx wrote:
 I think you all might as well take a long, hard look at the truth:  D has no
 future.  There once was a 
 language quite similar to D that had all the features one could ask for.  It
 seemed like the perfect 
 sytems and application programming language -- high level with the ability to
go
 low level when 
 necessary.  Oh, it had garbage collection, generics, design by committe... you
 name it.  That language 
 was called Modula 3.  It is now dead.  D aims for the exact same space as
Modula
 3, that is to say, D 
 aims to hide in one of the many crevices of computer history.  It's sad,
really,
 to see such hard work all 
 for naught.  You all might as well just give up now and start using C#.
 
 Yours truly,
 A Wise Friend
 
 

Ah yes, now I know. It just politics, isn't it? When someone gets an idea (for example let's say Marx) but someone executes in wrongly, all others are executing it wrongly as well! Of course this is silly reasoning. Because one's ideas are to revolutionary for many to understand, it doesn't mean that it is deemed to fail, it just has a high potential to fail. But look at the mailing list, look at CUJ, look around on www.dsource.org or some other site. Do you see D is failing, I don't. Regards to the community (and by far not to our so called friend), Sjoerd
Nov 10 2004
parent reply Charles Hixson <charleshixsn earthlink.net> writes:
Sjoerd van Leent wrote:
 wisefriend hotmail.cx wrote:
 ...
 But look at the mailing list, look at CUJ, look around on 
 www.dsource.org or some other site. Do you see D is failing, I don't.
 
 Regards to the community (and by far not to our so called friend),
 Sjoerd

D isn't failing, but it isn't succeeding as well as I would hope. Partially this is inevitable, one always tends to raise ones hopes too high, but partially... One thing that is badly needed is a lot more example code. Examples for every feature of the language, and how it could be used. And... there are things that might be possible, but I can't tell, and can't quite figure out how one should approach trying. Like an associative array with shorts (or ulongs) for index values...a sparse array. It could be used, e.g., as an array that holds selected blocks from a disk file. (With a slightly more complex data structure, it could be useful in implementing a B+Tree.) I keep feeling it OUGHT to be possible, but not being able to figure out how one would declare it. (N.B.: This isn't the memory-mapped file that's in phobos. That one sometimes [when?] needs to all fit into memory, this one would never have more than some selected number of blocks in memory at once. And you can't slice it.) I'm convinced that there's *something* wrong with D, but I haven't been able to pin down exactly what it is. I know that it has to do with the fact that types in D are, must be, determined at compile time. This makes certain language constructs either impossible, or quite clumsy. Recently I tryed creating a type called DskAddr, thus: typedef ulong DskAddr; This looks quite reasonable, but there's no way to do automatic conversions of ulong's to DskAddrs. This means that all of the system routines that I might want to use would either need to be rewritten, or.... well, I could render the code hideous with casts, or I could abandon the typedef. If I tried to do: dskAddr += 1020; it didn't work. If I tried instead dskAddr += cast(DskAddr)1020; it also didn't work. (Something about illegal l-values.) I'm sure there are ways around this, but it's excessively clumsy, and just WHAT the proper way around it is isn't obvious. So I basically just went back and ripped out all of the typedefs. (Actually, I don't remember the precise details...those are merely the approximate statements that were causing the problem, which I never have understood. But the result was that I gave up on using typedefs in the way I would with Ada.) I do understand the reasons that many of the choices were made, and I really appreciate garbage collection (and don't understand why it isn't going to be a part of Ada2005), but ... Well, D isn't designed to suite my tailored needs. And it seems better than Java. But it sure would be nice to be able to marshall and unmarshall objects, and to do run-time tests to determine whether or not some particular method was supported by the object (i.e., to not need to know ahead of time what kind of object one was unmarshalling). I suppose that what I'm wishing for here is a language that is to D as Python is to Pyrex, and I've avoided Pyrex because it looked as if there was just too much overhead. So I may well be wishing for something impossible.
Nov 10 2004
next sibling parent Sean Kelly <sean f4.ca> writes:
In article <cmu97b$ik0$1 digitaldaemon.com>, Charles Hixson says...
Recently I tryed creating a type called DskAddr, thus:

typedef	ulong	DskAddr;

This looks quite reasonable, but there's no way to do automatic 
conversions of ulong's to DskAddrs.

Try using alias instead of typedef Sean
Nov 10 2004
prev sibling parent reply Sean Kelly <sean f4.ca> writes:
In article <cmu97b$ik0$1 digitaldaemon.com>, Charles Hixson says...
 
or I could abandon the typedef.  If I tried to do:
     dskAddr  += 1020;
it didn't work.  If I tried instead
     dskAddr  += cast(DskAddr)1020;
it also didn't work.  (Something about illegal l-values.)

By the way, I think typedef is either partially broken or it has some odd usage requirements. I ran into a similar problem with a class I'd typedef'd--the compiler didn't recognize the new symbol as a class type. I submitted a bug report about this this morning. Sean
Nov 10 2004
parent reply Charles Hixson <charleshixsn earthlink.net> writes:
Sean Kelly wrote:
 In article <cmu97b$ik0$1 digitaldaemon.com>, Charles Hixson says...
 
o... l-values.)

By the way, I think typedef is either partially broken or it has some odd usage requirements. I ran into a similar problem with a class I'd typedef'd--the compiler didn't recognize the new symbol as a class type. I submitted a bug report about this this morning. Sean

OK. That one's a bug. But *CAN* an associative array be declared with integral indexes? Or does one need to reimplement a hashtable class? I suspect the latter, but I can't really tell. The documentation is a lot better than that of many languages, but I keep running into places where it seems that things that ought to be possible probably aren't (without, e.g., re-implementing most of the existing functionality with a few changes). But it's not really clear that they aren't possible. But it's also not clear how to do them (if they are possible). In the particular case of sparse arrays, this may be inherrent in using the same syntax for two different things...but perhaps I just haven't figured out how to declare things properly. Other places where problems like this occur are things like specifying interfaces with template parameters. I'm fairly certain that that one is, or ought to be, possible, but when I tried I could get the compiler to accept the interface declaration, but I couldn't figure out how to use it with a class. So that's one I'm fairly certain is possible, or intended to be possible, to use with the language. Another thing is how to specify an interface that's dependant on two other interfaces (where both are templates). I seem to be quite confused about template usage, though I've read the section several times. I want the specification to insist that certain of the inherited template values are identical (say, both are ulongs) even though they're in different templates. So I would need to have the template parameter of the current template define the arguments for instantiation of the interface-templates that I'm inheiriting from. (I can't really say implementing...this is, after all, an interface.) Also, I feel like I should be able to submit a comment about unclarity of documentation when I encounter it, but the only place that I've discovered to do this is this mailing list. And that really isn't a good place, as it is relatively high volume, and not specific to the point. So messages tend to be both ignored and lost. (Someone might tell me how to get around a problem, but if what I'm trying to do is get the documentation ammended, that's not to the point.)
Nov 10 2004
next sibling parent reply Charles Hixson <charleshixsn earthlink.net> writes:
Charles Hixson wrote:
 ...
 OK.  That one's a bug.  But *CAN* an associative array be declared with 
 integral indexes?  Or does one need to reimplement a hashtable class?  I 
 suspect the latter, but I can't really tell.
 ...

array must be a char[]. (I probably won't remember this, because I keep WANTING to use integral indexes. Until I finally give up and write a hashtable that can be used.) So that one's not a documentation problem, but rather the language not working the way I want it to. (Sigh. They ALL do that!) Well, a hashtable won't really work, it will need to be an AVL tree or some such. I think I've seen one around, but it doesn't seem to be a part of the standard library, and I don't know if it's a template... This is probably a standard part of a language's growing pains. But I *DO* feel that the basic data structures should be a part of the standard library, if they aren't built in. (I suppose that's what the dtl is about...)
Nov 10 2004
parent reply Ant <duitoolkit yahoo.ca> writes:
On Wed, 10 Nov 2004 18:22:19 -0800, Charles Hixson wrote:

 Charles Hixson wrote:
 ...
 OK.  That one's a bug.  But *CAN* an associative array be declared with 
 integral indexes?  Or does one need to reimplement a hashtable class?  I 
 suspect the latter,


you suspect wrong.
 but I can't really tell.


now you can.
 ...

array must be a char[].

??????? do I not understant what you say? consider the program and output: ############ import std.stdio; char[][int] aa; int[char] bb; void main() { aa[1] = "one"; aa[2] = "two"; aa[-1] = "eno"; aa[-2] = "owt"; for(int i = -3 ; i<=3 ; i++ ) { if ( i in aa ) { writefln("aa[%d] = %s", i,aa[i]); } else { writefln("%d no in aa", i); } } bb['a'] = 1; bb['b'] = 2; for( char c = 'a' ; c<'h' ; c++) { if ( c in bb ) { writefln("bb['%s'] = %d", c,bb[c]); } else { writefln("'%s' not in bb", c); } } } ############ -3 no in aa aa[-2] = owt aa[-1] = eno 0 no in aa aa[1] = one aa[2] = two 3 no in aa bb['a'] = 1 bb['b'] = 2 'c' not in bb 'd' not in bb 'e' not in bb 'f' not in bb 'g' not in bb ############ I use objects all the time Ant
Nov 10 2004
parent reply asm577 yahoo.com writes:
What D really needs to get things going is a great debugger or at least debugger
engines for already existent environments.  Debugging D as C/C++ in VC, for
example, is far from ideal...

In article <pan.2004.11.11.03.10.45.203156 yahoo.ca>, Ant says...
On Wed, 10 Nov 2004 18:22:19 -0800, Charles Hixson wrote:

 Charles Hixson wrote:
 ...
 OK.  That one's a bug.  But *CAN* an associative array be declared with 
 integral indexes?  Or does one need to reimplement a hashtable class?  I 
 suspect the latter,


you suspect wrong.
 but I can't really tell.


now you can.
 ...

array must be a char[].

??????? do I not understant what you say? consider the program and output: ############ import std.stdio; char[][int] aa; int[char] bb; void main() { aa[1] = "one"; aa[2] = "two"; aa[-1] = "eno"; aa[-2] = "owt"; for(int i = -3 ; i<=3 ; i++ ) { if ( i in aa ) { writefln("aa[%d] = %s", i,aa[i]); } else { writefln("%d no in aa", i); } } bb['a'] = 1; bb['b'] = 2; for( char c = 'a' ; c<'h' ; c++) { if ( c in bb ) { writefln("bb['%s'] = %d", c,bb[c]); } else { writefln("'%s' not in bb", c); } } } ############ -3 no in aa aa[-2] = owt aa[-1] = eno 0 no in aa aa[1] = one aa[2] = two 3 no in aa bb['a'] = 1 bb['b'] = 2 'c' not in bb 'd' not in bb 'e' not in bb 'f' not in bb 'g' not in bb ############ I use objects all the time Ant

Nov 10 2004
parent me <me_member pathlink.com> writes:
In article <cmuu72$1dov$1 digitaldaemon.com>, asm577 yahoo.com says...
What D really needs to get things going is a great debugger or at least debugger
engines for already existent environments.  Debugging D as C/C++ in VC, for
example, is far from ideal...

the featurs work not when , how or why to use them., e.g. I'm a low intermediate in C++ (no C at all) and I can't get things running in D 2 and a good GUI libraty . This will cuase things to be usefull . Though I don't think it will superseed C++, but with time in my opinion myth get close and mabe with even more time it myth........
Nov 11 2004
prev sibling next sibling parent J C Calvarese <jcc7 cox.net> writes:
Charles Hixson wrote:
 Also, I feel like I should be able to submit a comment about unclarity 
 of documentation when I encounter it, but the only place that I've 
 discovered to do this is this mailing list.  And that really isn't a 
 good place, as it is relatively high volume, and not specific to the 
 point.  So messages tend to be both ignored and lost.  (Someone might 
 tell me how to get around a problem, but if what I'm trying to do is get 
 the documentation ammended, that's not to the point.)

You have a couple of other options that you might not realize. I sometimes post specific documentation problems in the digitalmaras.D.bugs newsgroup. I usually put something like "documentation" in the subject line. Walter seems to respond to those posts (sometimes quickly, sometimes not). On the other hand, the bottom of each page of the documentation now has a "feedback and comments" link. It's just a hyperlink to a corresponding wiki page, but I think it might be what you're looking for. Please feel free to edit the wiki pages to mention any issue you happen to find. That's why it's there. Here's a list of all of the DocComments pages: http://www.prowiki.org/wiki4d/wiki.cgi?DocComments -- Justin (a/k/a jcc7) http://jcc_7.tripod.com/d/
Nov 10 2004
prev sibling parent Russ Lewis <spamhole-2001-07-16 deming-os.org> writes:
Charles Hixson wrote:
 Other places where problems like this occur are things like specifying 
 interfaces with template parameters.  I'm fairly certain that that one 
 is, or ought to be, possible, but when I tried I could get the compiler 
 to accept the interface declaration, but I couldn't figure out how to 
 use it with a class.  So that's one I'm fairly certain is possible, or 
 intended to be possible, to use with the language.

Frankly, you're sounding a lot like a troll to me. But I'm going to give you the benefit of the doubt. Here'e a code example of how to use templated interfaces. The code below returns 10 from main.
 interface FooInterface(T) {
   T Foo();
 }
  
 class FooClass(T) : FooInterface!(T) {
   T Foo() { return 10; }
 }
  
 int main() {
   FooInterface!(int) f = new FooClass!(int);
   return f.Foo();
 }

Nov 12 2004
prev sibling next sibling parent pragma <pragma_member pathlink.com> writes:
Allow me to sum up your post, oh wise one.
 -5 Flamebait

I don't usually reply to trolls, but this time I'll bite. D can easily stay an 'exotic' langauge, or have a limited following from here on, but that's history's job to tell. As it stands, it has enjoyed a steady line of growth and and is becoming more mature all the time, within its own specification. I honestly feel that D will live and die by the community that supports it, as it lacks corporate and/or mainstream adoption at this time. And on the basis of that relationship, I doubt that it'll go to that great bitbucket in the sky anytime soon (if ever). - Pragma (ericanderton -at- yahoo)
Nov 10 2004
prev sibling next sibling parent reply Sean Kelly <sean f4.ca> writes:
Out of curiosity, any idea why Python succeeded where Modula 3 failed?  I just
took a glance at the Modula 3 spec, but the languages seem vaguely similar.


Sean
Nov 10 2004
parent Ant <Ant_member pathlink.com> writes:
In article <cmtqao$2uo8$1 digitaldaemon.com>, Sean Kelly says...
Out of curiosity, any idea why Python succeeded where Modula 3 failed?  I just
took a glance at the Modula 3 spec, but the languages seem vaguely similar.

Modula source code looks uggly. Ant
Nov 10 2004
prev sibling next sibling parent BS <BS_member pathlink.com> writes:
Mr. Gosling,

I seem to recall a decade ago when you posted roughly the same re: 'Java burying
C++' in comp.languages.c++..

Will you please desist from littering the newsgroups with this tripe! 

Sincerely,
Bjarne

In article <cmrfgl$276n$1 digitaldaemon.com>, wisefriend hotmail.cx says...
I think you all might as well take a long, hard look at the truth:  D has no
future.  There once was a language quite similar to D that had all the
features one could ask for.  It seemed like the perfect sytems and application
programming language -- high level with the ability to go low level when 
necessary.  Oh, it had garbage collection, generics, design by committe... you
name it.  That language was called Modula 3.  It is now dead.  D aims for the
exact same space as Modula 3, that is to say, D aims to hide in one of the
many crevices of computer history.  It's sad, really, to see such hard work
all for naught.  You all might as well just give up now and start using C#.

Yours truly,
A Wise Friend

Nov 11 2004
prev sibling next sibling parent Joey Peters <Joey_member pathlink.com> writes:
 I think you all might as well take a long, hard look at the truth:  D has no 
 future.  There once was a  
 language quite similar to D that had all the features one could ask for.  It 
 seemed like the perfect  
 sytems and application programming language -- high level with the ability to 

 low level when  
 necessary.  Oh, it had garbage collection, generics, design by committe... 

 name it.  That language  
 was called Modula 3.  It is now dead.  D aims for the exact same space as 

 3, that is to say, D  
 aims to hide in one of the many crevices of computer history.  It's sad, 

 to see such hard work all  
 for naught.  You all might as well just give up now and start using C#. 
  
 Yours truly, 
 A Wise Friend 

Sounds more like what once happened to democracy. Eventually there will be a new language similar to D, and then it's "Evolve or die".
Nov 14 2004
prev sibling next sibling parent reply Ant <duitoolkit yahoo.ca> writes:
On Sun, 14 Nov 2004 02:16:06 -0600, Brad Anderson wrote:

 wisefriend hotmail.cx wrote:
 I think you all might as well take a long, hard look at the truth:  D has no
 future.  There once was a 
 language quite similar to D that had all the features one could ask for.  It
 seemed like the perfect 
 sytems and application programming language -- high level with the ability to
go
 low level when 
 necessary.  Oh, it had garbage collection, generics, design by committe... you
 name it.  That language 
 was called Modula 3.  It is now dead.  D aims for the exact same space as
Modula
 3, that is to say, D 
 aims to hide in one of the many crevices of computer history.  It's sad,
really,
 to see such hard work all 
 for naught.  You all might as well just give up now and start using C#.
 
 Yours truly,
 A Wise Friend
 
 

*Why don't you just fuck off.*

I have a different opinion. the guy can say what he wants. He made only one post with one reasonably fundamented opinion, I don't see any problem with that. He also give us an alternative. I think his alternative isn't valid at but you know I have a problem with MS so I can't realy trust my juggement there. He might be motivated by immediate finacial return of any work which is a very common thing I notice here in north america (Canada). Most of us don't agree with him, but I respect his opinion. D will survive if we can produce better or faster with it then with other tools, not for any oher reason. now the guy might not be honest and he might be posting out of fear of D (not likelly at this stage), or any other reason but we have to give him the benefit of the doubt at least until he start to repeat himself. I welcome all opinions, I consired all possibilities. I'm perfectly conscient that all my efford for the past year might be lost. now this is a perfect oportunity to again thank Walter for comming up with D. It's when get in trouble with the compiler that I most want to thank him (I curse him first, obviously). Thanks for D, Walter. Keep up the good work. We are still here every week waiting for a new release that fixes this or that small bug. When DMD is fixed we will need more people to come up with better libraries. It's still to soon to get the attencion of people except us hard core D supporters. (sorry if it sounds corny) Ant
Nov 14 2004
parent reply John Reimer <John_member pathlink.com> writes:
In article <pan.2004.11.14.15.32.49.216097 yahoo.ca>, Ant says...

I have a different opinion.
the guy can say what he wants.
He made only one post with one reasonably fundamented opinion,
I don't see any problem with that. He also give us an alternative.
I think his alternative isn't valid at but you know I have a
problem with MS so I can't realy trust my juggement there.
He might be motivated by immediate finacial return of any
work which is a very common thing I notice here in
north america (Canada).

Most of us don't agree with him, but I respect his opinion.
D will survive if we can produce better or faster with
it then with other tools, not for any oher reason.

now the guy might not be honest and he might be posting
out of fear of D (not likelly at this stage), or any other reason
but we have to give him the benefit of the doubt
at least until he start to repeat himself.

No, I disagree. The structure of that post appears designed to elicit an emotional response. The anonymity of the post reflects that the person has no desire to offer a traceable opinion or further the discussion of that opinion (has he responded to any of the posts?). This tells me that the comment content was not important for any reason other than to inspire a reaction. There's nothing wrong with being to the point on a matter, but I can not admire a post that has 1) no identifiable author 2) takes the form of "[language] is dead, get over it" 3) presents silly, invalid arguments 4) makes no attempt to discuss the perspective His message here could be better characterized as a "hit and run." I see no respectability in that. But that's just an opinion. - John
Nov 14 2004
next sibling parent Ant <duitoolkit yahoo.ca> writes:
On Sun, 14 Nov 2004 21:53:31 +0000, John Reimer wrote:

 In article <pan.2004.11.14.15.32.49.216097 yahoo.ca>, Ant says...
 
I have a different opinion.
the guy can say what he wants.


 No, I disagree.  The structure of that post appears designed to elicit
 an emotional response.

jugging from some replies you're probably right. :( Ant
Nov 14 2004
prev sibling parent reply "Matthew" <admin.hat stlsoft.dot.org> writes:
"John Reimer" <John_member pathlink.com> wrote in message
news:cn8k4r$2u8g$1 digitaldaemon.com...
 In article <pan.2004.11.14.15.32.49.216097 yahoo.ca>, Ant says...

I have a different opinion.
the guy can say what he wants.
He made only one post with one reasonably fundamented opinion,
I don't see any problem with that. He also give us an alternative.
I think his alternative isn't valid at but you know I have a
problem with MS so I can't realy trust my juggement there.
He might be motivated by immediate finacial return of any
work which is a very common thing I notice here in
north america (Canada).

Most of us don't agree with him, but I respect his opinion.
D will survive if we can produce better or faster with
it then with other tools, not for any oher reason.

now the guy might not be honest and he might be posting
out of fear of D (not likelly at this stage), or any other reason
but we have to give him the benefit of the doubt
at least until he start to repeat himself.

No, I disagree. The structure of that post appears designed to elicit an emotional response. The anonymity of the post reflects that the person has no desire to offer a traceable opinion or further the discussion of that opinion (has he responded to any of the posts?). This tells me that the comment content was not important for any reason other than to inspire a reaction. There's nothing wrong with being to the point on a matter, but I can not admire a post that has 1) no identifiable author 2) takes the form of "[language] is dead, get over it" 3) presents silly, invalid arguments 4) makes no attempt to discuss the perspective His message here could be better characterized as a "hit and run." I see no respectability in that. But that's just an opinion.

It could even be a serious member of the D community, intending to firm us all up in our commitment by reverse psychology. Maybe it was Walter? ;)
Jan 21 2005
next sibling parent John Reimer <brk_6502 yahoo.com> writes:
Matthew wrote:
 "John Reimer" <John_member pathlink.com> wrote in message
news:cn8k4r$2u8g$1 digitaldaemon.com...
 
In article <pan.2004.11.14.15.32.49.216097 yahoo.ca>, Ant says...


I have a different opinion.
the guy can say what he wants.
He made only one post with one reasonably fundamented opinion,
I don't see any problem with that. He also give us an alternative.
I think his alternative isn't valid at but you know I have a
problem with MS so I can't realy trust my juggement there.
He might be motivated by immediate finacial return of any
work which is a very common thing I notice here in
north america (Canada).

Most of us don't agree with him, but I respect his opinion.
D will survive if we can produce better or faster with
it then with other tools, not for any oher reason.

now the guy might not be honest and he might be posting
out of fear of D (not likelly at this stage), or any other reason
but we have to give him the benefit of the doubt
at least until he start to repeat himself.

No, I disagree. The structure of that post appears designed to elicit an emotional response. The anonymity of the post reflects that the person has no desire to offer a traceable opinion or further the discussion of that opinion (has he responded to any of the posts?). This tells me that the comment content was not important for any reason other than to inspire a reaction. There's nothing wrong with being to the point on a matter, but I can not admire a post that has 1) no identifiable author 2) takes the form of "[language] is dead, get over it" 3) presents silly, invalid arguments 4) makes no attempt to discuss the perspective His message here could be better characterized as a "hit and run." I see no respectability in that. But that's just an opinion.

It could even be a serious member of the D community, intending to firm us all up in our commitment by reverse psychology. Maybe it was Walter? ;)

He he... True. By the way, Matthew, it looks like you have a LOT of catching up to do! :-D
Jan 21 2005
prev sibling parent Georg Wrede <georg.wrede nospam.org> writes:
Matthew wrote:
 "John Reimer" <John_member pathlink.com> wrote in message
news:cn8k4r$2u8g$1 digitaldaemon.com...
In article <pan.2004.11.14.15.32.49.216097 yahoo.ca>, Ant says...


 It could even be a serious member of the D community, intending to firm us all
up in our commitment by reverse 
 psychology. Maybe it was Walter? ;)

LOL Anyhow, on an electronic forum without compulsory identification, who cares about a signature anyhow?? Instead of spending kilobytes of bandwidth on figuring out who, or what motives he might have, we should honor every post as potentially written with "good intent" -- however provocative they might be on the surface. If somebody sees the effort to write us here, then a reasonable default attitude would be to assume he/she actually is here to forward the "D cause". Like "innocent till proven guilty". Right? Hell, the last thing we need is everybody first looking at who signed, and then forming an attitude towards the contribution before we read it. Suppose somebody came forward and offered to tell us which aliases here are used by Bill Gates, Linus Torvalds and Larry Ellison. I personally would pay him for _not_ telling. It's the content that counts.
Jan 23 2005
prev sibling parent "Matthew" <admin.hat stlsoft.dot.org> writes:
<wisefriend hotmail.cx> wrote in message news:cmrfgl$276n$1 digitaldaemon.com...
I think you all might as well take a long, hard look at the truth:  D has no
 future.  There once was a
 language quite similar to D that had all the features one could ask for.  It
 seemed like the perfect
 sytems and application programming language -- high level with the ability to
go
 low level when
 necessary.  Oh, it had garbage collection, generics, design by committe... you
 name it.  That language
 was called Modula 3.  It is now dead.  D aims for the exact same space as
Modula
 3, that is to say, D
 aims to hide in one of the many crevices of computer history.  It's sad,
really,
 to see such hard work all
 for naught.  You all might as well just give up now and start using C#.

 Yours truly,
 A Wise Friend

Why not sign your identity? Otherwise this post just sounds like a bit of pensive petulance, from a coward/ignoramus. Perhaps you are someone with a huge amount of credibility and relevant experience? Perhaps not.
Jan 21 2005
prev sibling parent John Reimer <John_member pathlink.com> writes:
In article <cmnfd7$2ent$1 digitaldaemon.com>, Bastiaan Veelo says...

<snip...>

 There is a very nice workgroup, which currently writes a GUI in D, which 
 aims to be very D-licious and portable to different platforms in the 
 end. They have chosen IBM SWT (a Java toolkit used by Eclipse) as their 
 model. It is apparently in a very early phase.
 
 http://www.dsource.org/projects/dwt/

I should check that out some time. Regards, Bastiaan.

Please do check it out. And if you have any time or energy to work on it, that would be most appreciated. A great amount of DWT has been completed already... but some basic things like the event system still needs to be tinkered with before it will work. Also, the structure of DWT still causes the dmd compiler to choke in somwhere (dmd goes into an "infinite" loop -- ie until it runs out of memory and crashes). Tracing the problem has been very difficult. Later, John R.
Nov 08 2004
prev sibling parent "Walter" <newshound digitalmars.com> writes:
<willem bermon.net> wrote in message news:cm6dhp$1dr4$1 digitaldaemon.com...
 Hi just a question.

 Are you going to set up a standard components library like JAVA has, with
 standard objects like collections etc.? Or does this exist?

Check out the newsgroup digitalmars.D.dtl!
Nov 02 2004