My two cents on what D needs to be more successful...

Ecstatic Coder via Digitalmars-d digitalmars-d at puremagic.com
Sat May 20 22:52:11 PDT 2017


Since a few months, I'm using D for all my command-line tools.

For that use case, the language and its standard libraries are 
really perfect, making it the best scripting language I know, 
completely exploding JavaScript, Python, Ruby, etc.

Now I would like to also use it to develop :
- web servers.
- connected desktop applications & games.
- connected mobile applications & games.

D could also explode the competition for these uses cases, but I 
think that first it would need to be more *equipped* and 
*branded* for this.

IMHO, to convince many Java/C#/C++/PHP/Python/Ruby/JavaScript/etc 
developers to leave the comfort of their current ecosystem, D 
would need :

* the following *standard* libraries :

   - std.database (connect/use MySQL/MongoDB/etc databases)
   - std.web (serve web data/files/pages)
   - std.audio (load/play/process/record sounds/musics)
   - std.image (load/show/process/record images)
   - std.video (load/show/process/record videos)
   - std.graphic (draw 2D/3D graphics)
   - std.input (get mouse/touchscreen/etc events)
   - std.ui (draw 2D user interfaces)

* a dedicated IDE, allowing to effortlessly 
open/compile/execute/debug a single ".d" file as well as an 
entire project.

* a soft-realtime garbage collector (like in Nim), which can 
progressively recycle the memory of a thread without blocking the 
whole application.

I agree that at the moment, all these developments can be 
possible through several third-party libraries.

For the web servers, vibe.d is already there.

For desktop applications, there is gtkd and dlangui.

And for mobile applications, maybe using wrappers for SDL and a 
fast hardware accelerated UI library like TurboBadger/Nuklear/etc 
would do the job.

And I know that several IDE are already available.

For instance, Coedit is a nice little IDE, despite its bugs and 
limitations.

So I know that D could get the job done.

But with some efforts...

And it doesn't feel immediately "equipped" for that...

That's sad, because I think D could be the best tool on the 
market to develop cross-platform connected mobile/desktop 
applications, including mobile 2D games.

And even if it is already the case, at least that doesn't *show*, 
even from the dlang.org website.

A more complete standard library, and a more appealing website (à 
la juce.com) which would clearly "sell" D's strong advantages 
over its competition, could be of great help.

Because the day when D will make it really *easy* to do these 
kind of developments, just by simply installing the standard D 
environment and reading a few tutorials on how to do 
web/console/desktop/mobile app/games on dlang.org, it will be 
very hard for other languages to compete with it...




More information about the Digitalmars-d mailing list