Top 5

Benji Smith dlanguage at benjismith.net
Wed Oct 8 13:55:17 PDT 2008


Andrei Alexandrescu wrote:
> Ok, per Aarti's suggestion: without speaking officially for Walter, let 
> me ask this - what do you think are the top issues you'd like to see 
> fixed in D?

1. Merge phobos and tango (and solve whatever obstacles are currently 
preventing a D2 tango branch). I won't use D2 until I can use Tango with 
it, and I think having two semi-standard libraries is a bad state of 
affairs for the community.

2. Syntax tricks are usually more trouble than they're worth, especially 
when they create language ambiguities. Parentheses should be mandatory 
for function calls. Property-style function invocation should be 
eliminated. opCall should be fed to a crocodile and never heard from again.

3. The type-system is getting way too complex. Features like the const 
system, functional purity, and shared vs unshared memory are really neat 
ideas. But the implementation of all those features as aspects of the 
type-system creates a model that's hard for me to wrap my head around. 
In many cases, I don't know when I need to write casts or when to create 
duplicate function implementations (differing only in their prototype). 
This is the primary reason I've avoided D2.

4. String processing sucks. Writing code that works transparently with 
all three character types and correctly handles all unicode characters 
is basically impossible. Or at least it feels impossible. Trying to 
support both Phobos and Tango in the same string-processing routine is a 
definite no-go. In an ideal world, string-processing code shouldn't have 
to be littered with "static if" all over the place.

5. I don't really feel like D needs any new features. I'd rather have 
the majority of new work be focused on library development, tools, 
stability, optimization of the back-end, and maybe a rewrite of the 
linker. (I could be wrong, but I often get the impression that the 
status quo of the linker prevents certain language features and 
optimizations. We have a 21st century language, with a 1980's linker.)

HONORABLE MENTIONS:

* I'd love to be able to get a stack trace for every uncaught exception. 
I know that there are libraries to do this, but I'd like it to be built 
into the language, without any platform-dependent functionality. Stack 
traces on windows should be exactly the same as on linux.

* I keep hearing about how the DMC backend needs improvement in its 
floating-point code. Personally, I think this would be a bigger win than 
pure functions, whose optimization opportunities are still hypothetical.

--benji



More information about the Digitalmars-d mailing list