www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Getting D ready for prime time

reply Justin Johansson <no spam.com> writes:
To cut to the chase, what are the biggest issues/
showstoppers/etc that stand in the way for D to attract
a prime-time audience?

Being a prudent self-examining community (hopefully),
from time-to-time we should inquire of the PL market
what are the current issues with D that might be
perceived by potential users as negative or are real
issues that are known to potentially detract from the
crusade.

May I suggest square bracket style annotations
on the subject line e.g.
[64 bit] Getting D ready for prime time
as a more efficient way to discriminate sub-discussions
on this topic.

Time for a self-critical redux folks. :-)

-- Justin Johansson
Sep 29 2010
next sibling parent reply dsimcha <dsimcha yahoo.com> writes:
Here are my priorities for the core language and Phobos, in order of importance
to
me personally.  Of course, more third-party libraries would be nice, but I think
that's both obvious and beyond the scope of this discussion.

1.  Finish 64-bit support.

2.  Fix the worst bugs in inout and alias this, since these bugs require
workarounds at the design/macro level, whereas most other bugs have more trivial
workarounds.

3.  Start finding tweaks to make the type system features of D (const/immutable,
safe/trusted, pure, etc.) more usable.  Don's weak pure stuff is a good start.
Much of the type system stuff is still almost unusable for reasons that don't
become obvious until you actually try to use it.

4.  Once the type system stuff is usable, make Phobos actually comply with it.

5.  Expand Phobos.  The modules I personally miss most that realistically belong
in a standard library are (in order of importance):

  a.  A parallelism module.  (I've submitted my parallelfuture module for review
and would like it to become std.parallelism, but review has been slow.  This is
somewhat justified, though, because the implementation is admittedly very
complex
and ugly, but I'd really like it to be properly reviewed and included within a
release or two.)

  b.  Serialization.  This is a blocker for a lot of other things.  Orange is a
good start, but there are various small issues w/ it that have been pointed out
in
various discussions on this NG and the Phobos list that need to be addressed.

  c.  Basic high-level networking support.  This includes HTTP (think Python's
urllib, or CuRL) and expanding std.concurrency to the network case.

  d.  Basic database support.  I'd kill to have a D port/binding of SqlLite in
Phobos, and SqlLite is public domain.

  e.  A little more math-related stuff.  In principle, I'm qualified to
write/contribute a lot to this, but I think we need to discuss where the
boundary
between Phobos and 3rd party libs belongs.  For example, does standard deviation
belong in Phobos?  Median?  Correlation?  Matrices and linear algebra? 
Eigenvalue
computation?  Numerical integration?  It's a slippery slope.

6.  Misc. bug fixes.  Except as mentioned previously, the DMD bugs that still
exist are generally easy to work around and/or occur in very limited
circumstances.  It's not like ~1 year ago when showstopper compiler bugs were
around every corner.
Sep 29 2010
next sibling parent Justin Johansson <no spam.com> writes:
On 30/09/2010 1:56 AM, dsimcha wrote:
 Here are my priorities for the core language and Phobos, in order of
importance to
 me personally.  Of course, more third-party libraries would be nice, but I
think
 that's both obvious and beyond the scope of this discussion.

Thanks for your effort in contributing to this discussion in detail. No doubt your response will evoke exponential traffic on this thread. :-) -- JJ
Sep 29 2010
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2010-09-29 17:56, dsimcha wrote:
 Here are my priorities for the core language and Phobos, in order of
importance to
 me personally.  Of course, more third-party libraries would be nice, but I
think
 that's both obvious and beyond the scope of this discussion.

    b.  Serialization.  This is a blocker for a lot of other things.  Orange is
a
 good start, but there are various small issues w/ it that have been pointed
out in
 various discussions on this NG and the Phobos list that need to be addressed.

I've been thinking about changing the interface, moving some code from the archives into the serializer and trying to remove some of the templates. Then of course, better runtime reflection would help A LOT. -- /Jacob Carlborg
Sep 29 2010
prev sibling next sibling parent Michel Fortin <michel.fortin michelf.com> writes:
On 2010-09-29 11:01:43 -0400, Justin Johansson <no spam.com> said:

 To cut to the chase, what are the biggest issues/
 showstoppers/etc that stand in the way for D to attract
 a prime-time audience?

Everyone is going to have his pet issue. Here's mine: <http://d.puremagic.com/issues/show_bug.cgi?id=4621> In a language that claims to be good a concurrency and wall you from race conditions, the current destructor design seriously doesn't cut it. Not only can it easily let slip low-level races and GC-memory deallocation races (important for safe mode), such races already have slipped by and are laying unfixed in Phobos: <http://d.puremagic.com/issues/show_bug.cgi?id=4624> Since a fix to the destructor design is going to break some previously-written destructors somewhere, it's is important that it be fixed sooner rather than later. -- Michel Fortin michel.fortin michelf.com http://michelf.com/
Sep 29 2010
prev sibling parent Stewart Gordon <smjg_1998 yahoo.com> writes:
On 29/09/2010 16:01, Justin Johansson wrote:
 To cut to the chase, what are the biggest issues/
 showstoppers/etc that stand in the way for D to attract
 a prime-time audience?

Fixing the many spec issues, so that third parties can implement the language. http://d.puremagic.com/issues/show_bug.cgi?id=677 Stewart.
Oct 02 2010