Rant after trying Rust a bit

simendsjo via Digitalmars-d digitalmars-d at puremagic.com
Wed Jul 22 13:43:02 PDT 2015


On Wednesday, 22 July 2015 at 19:41:16 UTC, Jack Stouffer wrote:
> On Wednesday, 22 July 2015 at 18:47:33 UTC, simendsjo wrote:
>> I've been using D on and off since 2007, and the lack of 
>> manpower shows in every aspect of the language, design and 
>> ecosystem. Rust has a pretty nice ecosystem and tools given 
>> its very young age.
>
> Only one way to fix this. Volunteer.

Yes, I agree. I haven't done much good for the D community,
although I believe some of the code I've written for mysql native
is in production.

Let me add a point for Rust somewhat related :)

Community
---------
The community is nice, helpful and doesn't condecent people.

On Wednesday, 22 July 2015 at 19:41:16 UTC, Jack Stouffer wrote:
> On Wednesday, 22 July 2015 at 18:47:33 UTC, simendsjo wrote:
>> Expressions
>> -----------
>> This probably also falls in the "too late" category, but 
>> statements-as-expressions is really nice. `auto a = if ...` <- 
>> why not?
>
> Don't quite know what you mean here.

When "everything" is an expressions, you can write things like
     auto a = if(e) c else d;

In D you have to write
     type a = invalid_value;
     if(e) a = c;
     else  a = d;
     assert(a != invalid_value);


On Wednesday, 22 July 2015 at 19:41:16 UTC, Jack Stouffer wrote:
> On Wednesday, 22 July 2015 at 18:47:33 UTC, simendsjo wrote:
>> (... snip [regarding phobos/tango runtime incompatibility] ...)
> The tango vs Phobos issue has been mostly settled after the 
> transition from d1 to d2, and the complier is a lot better now 
> than it was.

There are probably nothing in newer times that can be credited as
much pain as the incompatible runtimes of phobos and tango, but
I've still encountered a lot of compiler and phobos bugs. Yes,
it's just every 500 or so lines now, but I've only encountered
a couple of bugs in the C# compiler and a couple more in the .Net
library in several years - again credited to a lot more manpower
available.

On Wednesday, 22 July 2015 at 19:41:16 UTC, Jack Stouffer wrote:
> On Wednesday, 22 July 2015 at 18:47:33 UTC, simendsjo wrote:
>> On the breaking part, the real issue is the "We're not going 
>> to break any code!" stance,
>
> Who, in the leadership or a contributor, has ever said this.

I'm pretty sure Walter Bright has said this on a lot of occations.
He seemed to believe a failure of adoption of D was due to the
constant breaking changes, which might be true.

On Wednesday, 22 July 2015 at 19:41:16 UTC, Jack Stouffer wrote:
> On Wednesday, 22 July 2015 at 18:47:33 UTC, simendsjo wrote:
>> Rust has a default package manager much like Dub. The main 
>> difference is that Cargo has been endorsed by the Rust team 
>> and is an official product. (... snip ...)
> Dub is endorsed by the leadership and is included in the same 
> Github organization as the complier and the standard library

I didn't know that. Very nice. I hope it's in a clean state when
it gets pulled in.

On Wednesday, 22 July 2015 at 19:41:16 UTC, Jack Stouffer wrote:
> On Wednesday, 22 July 2015 at 18:47:33 UTC, simendsjo wrote:
>> While code.dlang.org has 530 packages, crates.io has 2610 
>> packages, (... snip ...)
> I attribute this to hype. (... snip ...)

Yes, but the hype is probably driving even more developers to the
language, and I believe a large user-base is of paramount
importance for a language to become good.

On Wednesday, 22 July 2015 at 19:41:16 UTC, Jack Stouffer wrote:
> On Wednesday, 22 July 2015 at 18:47:33 UTC, simendsjo wrote:
>> Macros
>> ------
>> (... snip ...)
>
> Maybe tooling would become easier to write, but in my personal 
> experience, macros are much harder for programmers to 
> understand than mixins, and much easier to abuse.

I disagree. String mixins are much easier to abuse than hygenic
macros. String mixins allows anything, and while it offers
infinite possibilities, it also encourage abuse.



More information about the Digitalmars-d mailing list