Jump to page: 1 2 3
Thread overview
Cross-Platform D
Jul 21, 2004
Sha Chancellor
Jul 21, 2004
Sha Chancellor
Jul 21, 2004
Sean Kelly
Jul 21, 2004
Sha Chancellor
Jul 22, 2004
Gold Dragon
Jul 14, 2014
Dicebot
Jul 14, 2014
Dicebot
Aug 19, 2014
Gary Willoughby
Jul 21, 2004
Gold Dragon
Jul 21, 2004
Sean Kelly
Jul 21, 2004
Berin Loritsch
Jul 21, 2004
J C Calvarese
Aug 19, 2014
Gary Willoughby
Aug 19, 2014
Gary Willoughby
Aug 19, 2014
Vladimir Panteleev
Aug 19, 2014
Philippe Sigaud
Aug 19, 2014
Kagamin
Aug 19, 2014
Vladimir Panteleev
Aug 19, 2014
Dicebot
Aug 19, 2014
Marc Schütz
Aug 20, 2014
Vladimir Panteleev
Aug 20, 2014
Dicebot
Aug 19, 2014
Justin C Calvarese
Sep 03, 2014
Xavier Bigand
July 21, 2004
Warning: This issue has probably been addressed before, but I'm going to
start it up again.
First let me say I love D, it's a great language.  C and C++ are also
nice languages.  Their ISO standards are nice in that they provide a good
way to write simple programs that are (relatively) cross-platform.
However, they lack some huge things, namely: threading, gui, and sockets.
It would be nice to see the runtime library for D include these features.
I recognize that there is a lot of different projects around for D that
tout cross-platform GUI APIs.  But it would be nice to have *one* that
was part of the runtime library.  Something that you could put in a good
about D, and expect to work.  I realize a lot of things are platform
specific, and can never be implemented in a general GUI API.  But it would
be nice to have something available.
Another thing, right on the website D is compared with Java in a number
of ways.  Mainly from a syntax/feature standpoint.  However, one of the
nicest aspects of Java is that there is a HUGE amount of classes already
there for you to abuse.  What's more, they're part of the standard
installation.  You don't have to go find them for every OS and platform, or
include them with your installer.  This is something D currently lacks.
I don't see any site or group around that maintains such a thing for D.
 Is this all done by Walter?  Phobos is nice, but it's pretty minimal,
and i've heard there are license issues with it.  I don't know if those
have been resolved, but it would be nice to have an open runtime that
was covered under some type of artistic or LGPL license.  It would also be
nice to have a central body of people to oversee and maintain it, and a
single website for such a project that could contain documentation and
the likes.
Even if such a project was started, would Walter be willing to endorse
it as an official project?
I don't know, maybe I'm full of it, but what do you guys think?  Walter?
 Comments please...

July 21, 2004
D hasn't even reached version 1 yet, so perhaps it's a little premature to judge the runtime library ;)  though you're entirely right, D's runtime needs some more meat on it (and walter even says it in the docs..!).

i've never been a big fan of cross-platform GUIs, however.  all that i've used have been either unresponsive, or nonstandard, or just plain ugly. what would be nice is if there were a way to interface with the GUI of the OS it's compiled for.  as in the windows.d module would be part of the runtime, as well as all the GUIs for the various linuces, unices, OSX (?) etc.


July 21, 2004
In article <cdmgjb$308b$2@digitaldaemon.com>, Sha Chancellor says...
>
>Warning: This issue has probably been addressed before, but I'm going to
>start it up again.
>First let me say I love D, it's a great language.  C and C++ are also
>nice languages.  Their ISO standards are nice in that they provide a good
>way to write simple programs that are (relatively) cross-platform.
>However, they lack some huge things, namely: threading, gui, and sockets.
>It would be nice to see the runtime library for D include these features.

It will, but this may not all make it in for 1.0.  D is multithread-aware (it has a "synchronized" keyword) but advanced primitives are still in development. And Phobos already has a Socket class, but more advanced socket IO will likely not come until after 1.0 as it depends on advanced threading techniques.

>I recognize that there is a lot of different projects around for D that tout cross-platform GUI APIs.  But it would be nice to have *one* that was part of the runtime library.  Something that you could put in a good about D, and expect to work.  I realize a lot of things are platform specific, and can never be implemented in a general GUI API.  But it would be nice to have something available.

I agree.  I think we'll see a GUI library by 2.0 as it's a pretty hot topic.

>Another thing, right on the website D is compared with Java in a number
>of ways.  Mainly from a syntax/feature standpoint.  However, one of the
>nicest aspects of Java is that there is a HUGE amount of classes already
>there for you to abuse.  What's more, they're part of the standard
>installation.  You don't have to go find them for every OS and platform, or
>include them with your installer.  This is something D currently lacks.

This will come with time.  For now I'd prefer to have a small well-designed library and then later extend that than to have a large library mostly containing stuff that's poorly designed.

>I don't see any site or group around that maintains such a thing for D.
> Is this all done by Walter?  Phobos is nice, but it's pretty minimal,
>and i've heard there are license issues with it.  I don't know if those have been resolved, but it would be nice to have an open runtime that was covered under some type of artistic or LGPL license.

No license issues with Phobos, but I personally think it lacks a bit of cohesion.  Before D becomes official I'd like to see a careful review of everything in Phobos with a mind for consistency and interoperability.

>It would also be
>nice to have a central body of people to oversee and maintain it, and a
>single website for such a project that could contain documentation and
>the likes.

This will probably come a bit later.  There was some talk of a semi-formal review board for Phobos stuff but it never materialized.  I think people are waiting for the language to settle down a bit more first.

>Even if such a project was started, would Walter be willing to endorse it as an official project?

Yes.  In fact, the ultimate goal it to have D standardized.  Until then however, many members of the community are pretty much doing that anyway, what with bug reports, feature requests, and submissions.


Sean


July 21, 2004
Sha Chancellor wrote:

> Warning: This issue has probably been addressed before, but I'm going to
> start it up again.
> First let me say I love D, it's a great language.  C and C++ are also
> nice languages.  Their ISO standards are nice in that they provide a good
> way to write simple programs that are (relatively) cross-platform. However, they lack some huge things, namely: threading, gui, and sockets. It would be nice to see the runtime library for D include these features.

I share this goal, but I do have some observations based on my
experience with Java--which has come the closest to true cross platform
operation than any other platform I know of (off the top of my head).

First, the runtime library for Java is HUGE.  It's at least 15MB of
compiled code.  It's too big.

Since things are still relatively small for D, I would like the
"library" to actually be a collection of smaller libraries.  While D
includes the "synchronized" keyword (much like Java), there is a place
for synchronization primitives.  Mutexes, semaphores, triggers,
barriers, etc.  All of these are hard to do well, and would make a
perfect addition for a standardized library.

As to a GUI, I can only say that it is an admirable goal.  The quickest
way to get there is to leverage something like GTK that is ported to
most platforms already (and has a C binding).  However, if we wanted to
do it in a way that takes advantage of D language features, it would
take much longer--but I would definitely not follow Java's example on
this front.  They started out with AWT which had problems because their
bindings to the individual platforms was buggy and not uniform.  Someone
had the bright idea that all GUIs should be the exact same regardless
of what is native to that platform so we got inflicted with Swing which
took the MVC concept too far by providing a model, view, and controller
for each control!  I used to be a fan of themable GUIs until I had to
write for multiple platforms and I quickly realized that the reliability
is far more important.

> I recognize that there is a lot of different projects around for D that
> tout cross-platform GUI APIs.  But it would be nice to have *one* that
> was part of the runtime library.  Something that you could put in a good
> about D, and expect to work.  I realize a lot of things are platform
> specific, and can never be implemented in a general GUI API.  But it would
> be nice to have something available.

I would like to see a little darwinism take place on the GUI space
first.  It is important to try a few ideas *before* declaring a standard
just to make sure we aren't painting ourselves into a dead end.  It's
critical that the GUI library stays as transparent as humanly possible
because there are a long laundry list of problems with Swing.  It is
proof that when you try to rewrite the GUI you will have several
mistakes (some of which are showstoppers) before you get it right.  For
an idea, go to Java's bug parade and search for GUI bugs that are still
open.  Scary.

> Another thing, right on the website D is compared with Java in a number
> of ways.  Mainly from a syntax/feature standpoint.  However, one of the
> nicest aspects of Java is that there is a HUGE amount of classes already
> there for you to abuse.  What's more, they're part of the standard
> installation.  You don't have to go find them for every OS and platform, or
> include them with your installer.  This is something D currently lacks.
> I don't see any site or group around that maintains such a thing for D. 

Having developed for Java, I have fallen victim to a solution I
developed being replaced by the ever growing Java runtime library.  Its
almost like Microsoft in that regard.  Each of those solutions were just as cross platform as the runtime.

On the other hand, the key advantage of the Java runtime isn't the
language itself, but the standard library that you can expect to be
installed on every system that runs Java.  The bulk of that runtime
library is written in pure Java.  If the same pattern is used for a D
runtime library, then we can make it much easier to manage a cross
platform library.

>  Is this all done by Walter?  Phobos is nice, but it's pretty minimal,
> and i've heard there are license issues with it.  I don't know if those
> have been resolved, but it would be nice to have an open runtime that
> was covered under some type of artistic or LGPL license.  It would also be
> nice to have a central body of people to oversee and maintain it, and a
> single website for such a project that could contain documentation and
> the likes.

Honestly, for a standard runtime library to really take off and actually
be used, it is important to not have any license barriers.  A BSD style
license is probably the least controversial type of license for this
type of thing.  Any GPL variant (including LGPL) is viral depending on
how you define "binding" to the library.  The FSF experts say that using
a library in a JVM constitutes "extending" the library so it becomes
viral.  D isn't running in a VM so LGPL might be OK but I would rather
avoid the whole question to begin with.

> I don't know, maybe I'm full of it, but what do you guys think?  Walter?
>  Comments please...
>  

It should be started slowly and grown cooperatively.  It would have to
be its own project for sure.
July 21, 2004
In message <cdmgu8$30ch$1@digitaldaemon.com>
 "Jarrett Billingsley" <kb3ctd2@yahoo.com> wrote:

>D hasn't even reached version 1 yet, so perhaps it's a little premature to judge the runtime library ;)  though you're entirely right, D's runtime needs some more meat on it (and walter even says it in the docs..!).

I don't know, it'd be good to start now before it's too set in it's ways.  Parts of Phobos already seem like they don't work well with other parts.  Just my opinion though.
>i've never been a big fan of cross-platform GUIs, however.  all that i've used have been either unresponsive, or nonstandard, or just plain ugly. what would be nice is if there were a way to interface with the GUI of the OS it's compiled for.  as in the windows.d module would be part of the runtime, as well as all the GUIs for the various linuces, unices, OSX (?) etc.

I can fully understand that.   Most stuff is not handled very well in
cross platform GUI wrappers.   I wasn't implying it should be an end-all
be all.  But it would be nice to have both in the runtime.   Have those
interfaces, and then also have a standard wrapper on them for doing
simple things.  On a side note though, WxWindows doesn't do such a bad job.   But I
wouldn't suggest that be interfaced or something.   It could be done so much
better using D specific things like delegates and what not.



July 21, 2004
In message <cdmihc$314u$1@digitaldaemon.com>
 Sean Kelly <sean@f4.ca> wrote:

>In article <cdmgjb$308b$2@digitaldaemon.com>, Sha Chancellor says...
>>
>>Warning: This issue has probably been addressed before, but I'm going to
>>start it up again.
>>First let me say I love D, it's a great language.  C and C++ are also
>>nice languages.  Their ISO standards are nice in that they provide a good
>>way to write simple programs that are (relatively) cross-platform.
>>However, they lack some huge things, namely: threading, gui, and sockets.
>>It would be nice to see the runtime library for D include these features.
>
>It will, but this may not all make it in for 1.0.  D is multithread-aware (it And Phobos already has a Socket class, but more advanced socket IO will likely not come until after 1.0 as it depends on advanced threading techniques.
>
>>I recognize that there is a lot of different projects around for D that tout cross-platform GUI APIs.  But it would be nice to have *one* that was part of the runtime library.  Something that you could put in a good about D, and expect to work.  I realize a lot of things are platform specific, and can never be implemented in a general GUI API.  But it would be nice to have something available.
>
>I agree.  I think we'll see a GUI library by 2.0 as it's a pretty hot topic.
>
>>Another thing, right on the website D is compared with Java in a number
>>of ways.  Mainly from a syntax/feature standpoint.  However, one of the
>>nicest aspects of Java is that there is a HUGE amount of classes already
>>there for you to abuse.  What's more, they're part of the standard
>>installation.  You don't have to go find them for every OS and platform, or
>>include them with your installer.  This is something D currently lacks.
>
>This will come with time.  For now I'd prefer to have a small well-designed library and then later extend that than to have a large library mostly containing stuff that's poorly designed.
>
>>I don't see any site or group around that maintains such a thing for D.
>> Is this all done by Walter?  Phobos is nice, but it's pretty minimal,
>>and i've heard there are license issues with it.  I don't know if those have been resolved, but it would be nice to have an open runtime that was covered under some type of artistic or LGPL license.
>
>No license issues with Phobos, but I personally think it lacks a bit of cohesion.  Before D becomes official I'd like to see a careful review of everything in Phobos with a mind for consistency and interoperability.

I swear I heard some people complaining about phobos's license.
I agree, it seems like a bunch of classes which don't necessarily work
together. It would be nice to see that kind of a review done.

>>It would also be
>>nice to have a central body of people to oversee and maintain it, and a
>>single website for such a project that could contain documentation and
>>the likes.
>
>This will probably come a bit later.  There was some talk of a semi-formal review board for Phobos stuff but it never materialized.  I think people are waiting for the language to settle down a bit more first.

I suppose.  But i want it _NOW_!  I'm so excited =/

>>Even if such a project was started, would Walter be willing to endorse it as an official project?
>
>many members of the community are pretty much doing that anyway, what with bug reports, feature requests, and submissions.

But there's no "official" location, wiki, or otherwise.  I don't know..
I mean there's dsource.org and I know there is a wiki at the moment
that's maintaining some documentation.  But it'd be nice to see something
more formal.

July 21, 2004
Sean Kelly wrote:

> It will, but this may not all make it in for 1.0.  D is multithread-aware (it
> has a "synchronized" keyword) but advanced primitives are still in development.
> And Phobos already has a Socket class, but more advanced socket IO will likely
> not come until after 1.0 as it depends on advanced threading techniques.

Well, wouldn't it make the compiler extremely complex to have threading built inside? I can see how it would make D extremely awesome as it is one of the features in Java that makes it so great. It would force the compiler to be built for each OS out there. Some OS use POSIX threads and Windows uses OS/2 system. Of course if Windows ever made a Visual D they probably wouldn't have any trouble creating the threading framework.

It would make treading easier for the programmer but harder for the person or people creating the compiler.

> This will come with time.  For now I'd prefer to have a small well-designed
> library and then later extend that than to have a large library mostly
> containing stuff that's poorly designed.

I guess I agree, I believe whatever everyone else believes. I AM sheep.

> No license issues with Phobos, but I personally think it lacks a bit of
> cohesion.  Before D becomes official I'd like to see a careful review of
> everything in Phobos with a mind for consistency and interoperability.

I agree, the bit about adding documentation is good because it forces people to be coherent and explain what they are doing. This opposed to just halfassing the source with no documentation and leaving the programmer to guess work the bugs and workarounds.

> This will probably come a bit later.  There was some talk of a semi-formal
> review board for Phobos stuff but it never materialized.  I think people are
> waiting for the language to settle down a bit more first.

What about WIKI? Isn't there some information on there or can some information be posted there. Are the developers of Phobos 1337 or just some Joe off the street?

> Yes.  In fact, the ultimate goal it to have D standardized.  Until then however,
> many members of the community are pretty much doing that anyway, what with bug
> reports, feature requests, and submissions.

Even after D is standardized we probably won't see anything good come of  it for a while. I feel that one of the problems with C and C++ is that changes to the compiler to add great and new features is such a difficult and LONG task. People have their own perspective on what the language should be and what it should have. It already has been a long wait for D to reach version 1.0 and the features it does have are wonderful.

The only thing that is missing is version 1.0 of the compiler without and bugs. A great IDE that is also in final that compiles the code, does your dishes, and makes your bed. I haven't seen DTL but from what I have heard of it seems to be awesome and if it isn't then it will be in a short time. Demios from what is in it now is great and the primary developers are adding features that make it even more so.

The documentation on the language needs to be redone for the final release of the Compiler detailing (and I stress Detailing) ALL the features and how to use them, sample source on how to do everything. From Inline Assembly to Direct interfacing with Hardware to every possible way to use an array. From the tinyest feature to a most difficult. If Walter and/or friends were to make a COMPREHENSIVE book for D then I would buy it.
July 21, 2004
In article <cdmmoa$1jr$1@digitaldaemon.com>, Gold Dragon says...
>
>Sean Kelly wrote:
>
>> It will, but this may not all make it in for 1.0.  D is multithread-aware (it has a "synchronized" keyword) but advanced primitives are still in development. And Phobos already has a Socket class, but more advanced socket IO will likely not come until after 1.0 as it depends on advanced threading techniques.
>
>Well, wouldn't it make the compiler extremely complex to have threading built inside? I can see how it would make D extremely awesome as it is one of the features in Java that makes it so great. It would force the compiler to be built for each OS out there. Some OS use POSIX threads and Windows uses OS/2 system. Of course if Windows ever made a Visual D they probably wouldn't have any trouble creating the threading framework.

It's really too bad that MS didn't make more of an effort for full POSIX support.  It actually exists as part of Windows Services for Unix, but that's an entirely new susbsystem so it's unrealistic to ask users to install it.  I think when D gets better threading it will be a library addition, likely eventually a part of Phobos.  There's no real need for full language support, though I agree that it would be pretty cool to have condvars as first class citizens (assuming that level of integration would actually increase ease of use).

>> Yes.  In fact, the ultimate goal it to have D standardized.  Until then however, many members of the community are pretty much doing that anyway, what with bug reports, feature requests, and submissions.
>
>Even after D is standardized we probably won't see anything good come of
>  it for a while. I feel that one of the problems with C and C++ is that
>changes to the compiler to add great and new features is such a difficult and LONG task. People have their own perspective on what the language should be and what it should have. It already has been a long wait for D to reach version 1.0 and the features it does have are wonderful.

The schedule for C/C++ is 5 years, and I think this is the rule for software standards.  I actually really like this as it gives the community time to offer plenty of constructive feedback and helps reduce the risk of knee-jerk resposes to new ideas.  Language stability over time is a real selling point to me, at least once the language is at a point where it does everything I want it to ;)

>The only thing that is missing is version 1.0 of the compiler without and bugs. A great IDE that is also in final that compiles the code, does your dishes, and makes your bed. I haven't seen DTL but from what I have heard of it seems to be awesome and if it isn't then it will be in a short time. Demios from what is in it now is great and the primary developers are adding features that make it even more so.

I would love to have a good source-level IDE for D.  I've never been a tremendous fan of printf debugging :)

>The documentation on the language needs to be redone for the final release of the Compiler detailing (and I stress Detailing) ALL the features and how to use them, sample source on how to do everything.
> From Inline Assembly to Direct interfacing with Hardware to every
>possible way to use an array. From the tinyest feature to a most difficult. If Walter and/or friends were to make a COMPREHENSIVE book for D then I would buy it.

A book is in the works, so consider your wish granted.  We still need a complete and accurate spec, but this sort of thing takes time and I really don't expect one until after 1.0.  And by spec I mean something more like the C or C++ spec than the Java spec.


Sean


July 21, 2004
Sha Chancellor wrote:
> Warning: This issue has probably been addressed before, but I'm going to
> start it up again.

The GUI library issue has been brought up, but it hasn't really been resolved either.

> First let me say I love D, it's a great language.  C and C++ are also
> nice languages.  Their ISO standards are nice in that they provide a good
> way to write simple programs that are (relatively) cross-platform. However, they lack some huge things, namely: threading, gui, and sockets. It would be nice to see the runtime library for D include these features.
> I recognize that there is a lot of different projects around for D that
> tout cross-platform GUI APIs.  But it would be nice to have *one* that
> was part of the runtime library.  Something that you could put in a good
> about D, and expect to work.  I realize a lot of things are platform
> specific, and can never be implemented in a general GUI API.  But it would
> be nice to have something available.

I think the only cross-platform GUI library out there right now is DUI.

The DWT team may be planning on going cross-platform, but they're still in what I would call "the early stages". It's not vaporware, but it's a massive undertaking and a lot of effort is required just to get files compiled. (It's a port of IBM's Java SWT.)

In case you didn't know, there's a list of GUI projects:
http://www.prowiki.org/wiki4d/wiki.cgi?AvailableGuiLibraries

> Another thing, right on the website D is compared with Java in a number
> of ways.  Mainly from a syntax/feature standpoint.  However, one of the
> nicest aspects of Java is that there is a HUGE amount of classes already
> there for you to abuse.  What's more, they're part of the standard
> installation.  You don't have to go find them for every OS and platform, or
> include them with your installer.  This is something D currently lacks.
> I don't see any site or group around that maintains such a thing for D. 

The libraries will be written. There are quite a few wrapper projects floating around. I think that as the language stabilizes more native D libraries will be written.


>  Is this all done by Walter?  Phobos is nice, but it's pretty minimal,
> and i've heard there are license issues with it.  I don't know if those
> have been resolved, but it would be nice to have an open runtime that
> was covered under some type of artistic or LGPL license.  It would also be
> nice to have a central body of people to oversee and maintain it, and a
> single website for such a project that could contain documentation and
> the likes.

Walter has had some help with Phobos, but he's slow in responding to submitted material (something about being busy adding compiler features and fixing bugs). Hopefully, as D 1.0 arrives, he'll have more time to corral Phobos contributions.

The license issues will be ironed out. I think mostly the current license isn't explicit enough or not quite all of the bits of Phobos are licensed correctly.


> Even if such a project was started, would Walter be willing to endorse
> it as an official project?

I think he would endorse a finished product if it met his standards. So start coding and come back and submit it when it's complete. ;)


Seriously, though, you can either:

1. Assist one of the existing projects. (Who would turn down a volunteer?)

or

2. Start your own. (dsource.org would even host it.)


I think Walter has indicated before that he'd consider shipping someone else's GUI library with the compiler, but he doesn't plan on creating it himself.


> I don't know, maybe I'm full of it, but what do you guys think?  Walter?
>  Comments please...

(By the way, feel free to use paragraphs.)

-- 
Justin (a/k/a jcc7)
http://jcc_7.tripod.com/d/
July 22, 2004
> But there's no "official" location, wiki, or otherwise.  I don't know..
> I mean there's dsource.org and I know there is a wiki at the moment
> that's maintaining some documentation.  But it'd be nice to see something
> more formal.
>  

I have a feeling that in the future, www.dsource.org and WIKI will either be *the* places to be for stuff on D. To many have sources all over the place. If more people posted at a centralized location or added their links to WIKI then it would be more visual on how much is being done towards libraries and generalized programs.
« First   ‹ Prev
1 2 3