D ranked as #25 by IEEE spectrum

Jonathan M Davis via Digitalmars-d digitalmars-d at puremagic.com
Fri Sep 25 02:17:44 PDT 2015


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


More information about the Digitalmars-d mailing list