September 20, 2014
On Sat, 20 Sep 2014 14:42:47 +0000
Tofu Ninja via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

> Oh another bad part of D is the attribute names with some being positive(pure) and some being negative(@nogc) and some of them not having an @ on them.
and no way to revert 'final' in classes, for example. or 'static'. i mean that i want something like this:

  class A {
  final:
    void foo () { ... }
  virtual:
    void bar () { ... }
  static:
    void heh () { ... }
    // and there is no way to declare non-static fields anymore...
  }

yes, i know that i can use `final {}`, but it looking ugly. and i prefer to declare fields at the end of class declaration. annoying.


September 20, 2014
On Saturday, 20 September 2014 at 16:54:08 UTC, Andrei Alexandrescu wrote:
> On 9/20/14, 7:42 AM, Tofu Ninja wrote:
>> On Saturday, 20 September 2014 at 12:39:23 UTC, Tofu Ninja wrote:
>>> What do you think are the worst parts of D?
>>
>> Oh another bad part of D is the attribute names with some being
>> positive(pure) and some being negative(@nogc) and some of them not
>> having an @ on them.
>
> If that's among the worst, yay :o).
>
> My pet peeves about D gravitate around the lack of a clear approach to escape analysis and the sometimes confusing interaction of qualifiers with constructors.
>
> For escape analysis, I think the limited form present inside constructors (that enforces forwarded this() calls to execute exactly once) is plenty fine and should be applied in other places as well.

I think correct escape analysis + @safe + scope == win.

BTW, remember all those people that bitch about rvalue to "const ref". D could be a language that provides rvalue to scope ref. 100% safe and practical. How awesome would that be?
September 20, 2014
On Saturday, 20 September 2014 at 12:39:23 UTC, Tofu Ninja wrote:
> What do you think are the worst parts of D?

This compiles.

https://github.com/Hackerpilot/Idiotmatic-D/blob/master/idiotmatic.d
September 20, 2014
On Sat, Sep 20, 2014 at 10:53:04PM +0000, Brian Schott via Digitalmars-d wrote:
> On Saturday, 20 September 2014 at 12:39:23 UTC, Tofu Ninja wrote:
> >What do you think are the worst parts of D?
> 
> This compiles.
> 
> https://github.com/Hackerpilot/Idiotmatic-D/blob/master/idiotmatic.d

+1, lolz.

Oh wait, you forgot is(...) syntax (and their various inconsistent
semantics)! Plz add. ;-)


T

-- 
IBM = I'll Buy Microsoft!
September 20, 2014
On Saturday, 20 September 2014 at 23:01:40 UTC, H. S. Teoh via Digitalmars-d wrote:
> Oh wait, you forgot is(...) syntax (and their various inconsistent semantics)! Plz add. ;-)

I used to hate is()... but then I spent the time to understand it to write about it in my book and now it doesn't bother me anymore. It is a bit weird looking, but there's a perfectly understandable pattern and logic to it; it makes sense once you get it.


The two alias syntaxes don't but me either, the old one was fine, the new one is cool too. I'd be annoyed if the old one disappeared cuz of compatibility tho.

That said, I want the C style array declaration to die die die, that's just evil. But the old style alias is ok.

> string results[](T) = "I have no idea what I'm doing";

I agree that's just weird though, someone pointed that out to me on IRC and I was even like wtf. I had thought I've seen it all until then.
September 20, 2014
On Saturday, 20 September 2014 at 22:53:05 UTC, Brian Schott wrote:
> On Saturday, 20 September 2014 at 12:39:23 UTC, Tofu Ninja wrote:
>> What do you think are the worst parts of D?
>
> This compiles.
>
> https://github.com/Hackerpilot/Idiotmatic-D/blob/master/idiotmatic.d

I laughed extremely hard at this, wow. Yeah that definitely highlight A LOT of problems.
September 20, 2014
On Saturday, 20 September 2014 at 23:07:16 UTC, Adam D. Ruppe wrote:
>> string results[](T) = "I have no idea what I'm doing";
>
> I agree that's just weird though, someone pointed that out to me on IRC and I was even like wtf. I had thought I've seen it all until then.

I literally don't even know what to expect this to do.
September 20, 2014
On Saturday, 20 September 2014 at 23:07:16 UTC, Adam D. Ruppe wrote:
> I agree that's just weird though, someone pointed that out to me on IRC and I was even like wtf. I had thought I've seen it all until then.

The people who write books and autocompletion engines look at things the compiler accepts and say "WTF!?".

I think that's the worst thing you can say about D.
September 21, 2014
On Saturday, 20 September 2014 at 12:39:23 UTC, Tofu Ninja wrote:
> What do you think are the worst parts of D?

The regressions!

https://issues.dlang.org/buglist.cgi?bug_severity=regression&list_id=106988&resolution=---

I filed over half of those...
September 21, 2014
On 21/09/2014 1:46 a.m., Ola Fosheim Grostad wrote:
> On Saturday, 20 September 2014 at 13:31:06 UTC, Rikki Cattermole wrote:
>> Just as a note, we do want AST macros for D3. Which will be awesome!
>
> What kind of macros? Generic AST macros probably make source to source
> translation just as difficult as string mixins, don't they? Some simple
> term-rewriting is probably cleaner?

Maybe idk.
I haven't investigated this sort of technology. I only know whats being planned for.