On Friday, 25 September 2015 at 08:45:08 UTC, Kagamin wrote:
On Friday, 25 September 2015 at 04:18:44 UTC, Kapps wrote:
On Wednesday, 23 September 2015 at 22:20:35 UTC, Meta wrote:
On Wednesday, 23 September 2015 at 19:28:00 UTC, Ola Fosheim Grøstad wrote:
http://spectrum.ieee.org/static/interactive-the-top-programming-languages-2015

They list D as useful for web development and embedded, but not desktop apps... And they list Rust was useful for desktop apps and web development. Something's fishy here.

I don't really disagree about D not being so useful for desktop apps, thanks to the GUI situation.

Does C fare better here (listed for desktop development)?

Well, gnome is written entirely in C AFAIK, so it's definitely possible to write full-scale desktop applications in C without C++. But off the top of my head, I don't know of any C GUI toolkits other than GTK. All the rest are C++. And honestly, I don't understand why anyone would write large applications in C instead of C++, but there are definitely folks that prefer to do that.

So, I'd say that C fares better than D in that GTK is written for it, whereas D has to have bindings to it (though that should be pretty straightforward, if tedious, and gtkd does exist), so C is a bit ahead but not necessarily by bunch. C++ obviously does _far_ better at this point. But it's a _huge_ undertaking to even write usable bindings to a C++ GUI library, let alone write your own GUI toolkit in D (which would be truly fantastic but is pretty unrealistic at this point for anything non-trivial). And the projects which have tried to write bindings/wrappers for C++ GUI toolkits have generally not had enough folks working on them to actually succeed. I'm sure that we'll get there at some point, but it takes a lot of manpower, and that's something that we tend to be lacking.

From what I've heard, I'd guess that DWT was the most mature way to write a GUI in D, but I've never used it, and I'm not a huge fan of the idea of using a Java-centric library or framework, and SWT uses GTK for its backend on Linux, and I hate the look of GTK. So, I wouldn't be in a big hurry to use DWT, but I'd strongly suggest that anyone seriously looking at writing a GUI application in D take a look at it.

If I were going to write a full-scale GUI app in D, I'd probably either use DWT or write the GUI portion in C++ with Qt and use D for the backend. But hopefully by the time I get around to writing any GUIs with D, the situation will have improved. There are definitely folks who _want_ the situation to improve, but we need enough folks working on solutions in a coordinated manner to actually succeed. And I get the impression that most D libraries thus far which have gone anywhere have been written by individual developers, which is unlikely to work for a GUI toolkit. For instance, Aurora was a great project idea (though not a GUI toolkit per se), and it seems to have pretty much died, because Adam failed to get much of anyone else to help him with it. Similarly, as I understand it, QtD died, because there weren't a lot of developers working on it, and those that were got tired of it.

- Jonathan M Davis

Reply via email to