Using D

Joakim via Digitalmars-d digitalmars-d at puremagic.com
Fri Jul 11 12:00:20 PDT 2014


On Friday, 11 July 2014 at 15:42:04 UTC, simendsjo wrote:
> On 07/11/2014 05:30 PM, Chris wrote:
> (...)
>> Believe me, D's supposed sluggishness as regards GC is
>> not so important for most applications. I dare say 90% of all
>> applications are fine with the current GC.
> (...)
>
> I agree with this. The bottlenecks i my applications are MySQL 
> and
> Microsoft Office (Excel, Powerpoint, or even just plain COM). 
> The same
> bottlenecks as I get when using C#. Of course, it depends a lot 
> on what
> you do, but for my use (and yours, and probably many others), 
> the GC
> performance is something you can probably safely ignore.

Ah, but that's because you're comparing it to C#, not languages 
that don't use GC.  The big problem for D is that the market for 
programming languages has bifurcated since D was created, with 
the performant native-compiled languages like C/C++/Obj-C on one 
side and the much larger market for easier to use but much less 
performant, what used to be called "scripting," languages like 
ruby/python/java on the other.  Trying to be a better C++, by 
borrowing some ease of use features like GC or reflection from 
the scripting languages, leaves D stuck in the middle right now, 
neither here nor there.

Who still uses native-compiled languages?  Performance-sensitive 
games, server applications that squeeze out performance, like 
number-crunching or search engines, and desktop apps that need 
the performance, that's about it.  Everything else has either 
gone to the web with a scripting language backend or mobile.  I 
hear that even enterprise LOB desktop apps are mostly written in 
Java/C# these days, because they just don't need the speed of a 
native language and can crank the code out quicker that way.

However, mobile could be D's saving grace, as native development 
is back on iOS and even Android is moving to Ahead-Of-Time 
compiling with the next release.  Too bad D doesn't work on 
mobile, even though some of us are working on getting it there.

D should focus on the native end of the market, by trying to be 
the easier way to get most of the performance.  You're not going 
to get the scripting guys now, because native is just too hard 
for them.  If D can assert itself in that smaller niche of native 
languages, it might have enough juice to go after the other end 
later.  I don't think either happens without a commercial 
implementation, community development doesn't cut it.  Linux 
didn't take off till long after it got commercial vendors on 
board, the same will be true here.

I don't mean to be pessimistic about D's goal of being usable by 
all, from scripting to systems, as D may actually be good enough 
to get there one day.  I just think you're not going to get there 
without focusing on taking over a niche at a time, particularly 
the niche best suited to D right now, mobile.


More information about the Digitalmars-d mailing list