On Friday, 11 July 2014 at 19:00:30 UTC, Joakim wrote:
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.
I agree. This is a big pain for me too.
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.
A niche for a general purpose language?